# HG changeset patch # User iuc # Date 1488488696 18000 # Node ID 01a241476407190a213ee08525a5080591c9a992 # Parent e93c1a0678cd002e0796e41546c40bed19625ce7 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/metaspades commit 9401451df4a985ef5686864eaadafa077ffc0877 diff -r e93c1a0678cd -r 01a241476407 CHANGE --- a/CHANGE Tue Aug 09 10:46:28 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -1.0 -=== - - Supports SPades 3.9 - - CHANGE: Improved memory consumption in metagenomic pipeline. diff -r e93c1a0678cd -r 01a241476407 README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Thu Mar 02 16:04:56 2017 -0500 @@ -0,0 +1,17 @@ +**License** + +SPAdes is developed by and copyrighted to Saint-Petersburg Academic University, and is released under GPLv2. + +This wrapper is copyrighted by Philip Mabon and is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. + +** Acknowledgments ** + +Original wrapper developed by Lionel Guy. + +Anton Korobeynikov greatlty helped understanding how SPAdes work, and integrated handy features into SPAdes. + +Nicola Soranzo fixed various bugs. diff -r e93c1a0678cd -r 01a241476407 metaspades.xml --- a/metaspades.xml Tue Aug 09 10:46:28 2016 -0400 +++ b/metaspades.xml Thu Mar 02 16:04:56 2017 -0500 @@ -1,139 +1,97 @@ - - genome assembler for metagenomics datasets - - spades - - spades.pl - $out_contigs - $out_contig_stats - $out_scaffolds - $out_scaffold_stats - $out_log - - ## if the first fileset is a paired-collection, use the key as the name - #if $files[0].file_type.type == "paired-collection": - $files[0].file_type.fastq_collection.name - #else: - NODE - #end if + + assembler for metagenomics datasets + + spades + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + #end for + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + 10.1089/cmb.2012.0021 diff -r e93c1a0678cd -r 01a241476407 spades.pl --- a/spades.pl Tue Aug 09 10:46:28 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ -#!/usr/bin/env perl -## A wrapper script to call spades.py and collect its output -use strict; -use warnings; -use File::Temp qw/ tempfile tempdir /; -use File::Copy; -use Getopt::Long; - -# Parse arguments -my ($out_contigs_file, - $out_contigs_stats, - $out_scaffolds_file, - $out_scaffolds_stats, - $out_log_file, - $new_name, - @sysargs) = @ARGV; - - -my $output_dir = 'output_dir'; - -# Create log handle -open my $log, '>', $out_log_file or die "Cannot write to $out_log_file: $?\n"; - -# Run program -runSpades(@sysargs); -collectOutput($new_name); -extractCoverageLength($out_contigs_file, $out_contigs_stats); -extractCoverageLength($out_scaffolds_file, $out_scaffolds_stats); -print $log "Done\n"; -close $log; -exit 0; - -# Run spades -sub runSpades { - my $cmd = join(" ", @_) . " -o $output_dir"; - my $return_code = system($cmd); - if ($return_code) { - print $log "Failed with code $return_code\nCommand $cmd\nMessage: $?\n"; - die "Failed with code $return_code\nCommand $cmd\nMessage: $?\n"; - } - return 0; -} - -# Collect output -sub collectOutput{ - my ($new_name) = @_; - - # To do: check that the files are there - # Collects output - if ( not -e "$output_dir/contigs.fasta") { - die "Could not find contigs.fasta file\n"; - } - if ( not -e "$output_dir/scaffolds.fasta") { - die "Could not find scaffolds.fasta file\n"; - } - - #if a new name is given for the contigs and scaffolds, change them before moving them - if ( $new_name ne 'NODE') { - renameContigs($new_name); - } - else { - move "$output_dir/contigs.fasta", $out_contigs_file; - move "$output_dir/scaffolds.fasta", $out_scaffolds_file; - } - - - - open LOG, '<', "$output_dir/spades.log" - or die "Cannot open log file $output_dir/spades.log: $?"; - print $log $_ while (); - return 0; -} - -#Change name in contig and scaffolds file -sub renameContigs{ - my ($name) = @_; - - open my $in, '<',"$output_dir/contigs.fasta" or die $!; - open my $out,'>', $out_contigs_file; - - while ( my $line = <$in>) { - #remove the NODE_ so we can rebuilt the display_id with our contig name with the contig number. - #also move the remainder of the length - if ( $line =~ />NODE_(\d+)_(.+)/) { - $line = ">$name" . "_$1 $2\n"; - } - print $out $line; - } - close $in; - close $out; - - - open $in, '<',"$output_dir/scaffolds.fasta" or die $!; - open $out,'>', $out_scaffolds_file; - - while ( my $line = <$in>) { - #remove the NODE_ so we can rebuilt the display_id with our contig name with the contig number. - #also move the remainder of the length - if ( $line =~ />NODE_(\d+)_(.+)/) { - $line = ">$name" . "_$1 $2\n"; - } - print $out $line; - } - close $in; - close $out; - -} - - -# Extract -sub extractCoverageLength{ - my ($in, $out) = @_; - open FASTA, '<', $in or die $!; - open TAB, '>', $out or die $!; - print TAB "#name\tlength\tcoverage\n"; - while (){ - next unless /^>/; - chomp; - die "Not all elements found in $_\n" if (! m/^>(NODE|\S+)_(\d+)(?:_|\s)length_(\d+)_cov_(\d+\.*\d*)/); - my ($name,$n, $l, $cov) = ($1,$2, $3, $4); - print TAB "$name" . "_$n\t$l\t$cov\n"; - } - close TAB; -} diff -r e93c1a0678cd -r 01a241476407 tool_dependencies.xml --- a/tool_dependencies.xml Tue Aug 09 10:46:28 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - -