view metaspades.xml @ 0:e93c1a0678cd draft

planemo upload commit 18fef9393a17a3442ab7927d76b301bb43ec3de4
author nml
date Tue, 09 Aug 2016 10:46:28 -0400
parents
children 01a241476407
line wrap: on
line source

<tool id="metaspades" name="metaspades" version="1.0">
  <description>genome assembler for metagenomics datasets</description>
  <requirements>
    <requirement type="package" version="3.9.0">spades</requirement>
  </requirements>
  <command interpreter="perl">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
    ## A real command looks like: spades.py -k 21,33,55,77,99,127 --careful -1 Y.fastq.gz -2 X.fastq.gz -t 24 -o output
    spades.py
    ## Forces unzipped output, faster
    --disable-gzip-output
    --meta
    $onlyassembler

    -t \${GALAXY_SLOTS:-16}

    #if not $kmer_choice.auto_kmer_choice:
    -k "$kmer_choice.kmers"    
    #end if

    ## Sequence files
      #set num=1
      #if str( $lib_type ) == "paired_end":
        #set prefix = 'pe'
      #end if
      --$prefix$num-$orientation    
      #for $file in $files
	#if $file.file_type.type == "separate"
          --$prefix$num-1 fastq:$file.file_type.fwd_reads
          --$prefix$num-2 fastq:$file.file_type.rev_reads
        #elif $file.file_type.type == "interleaved"
          --$prefix$num-12 fastq:$file.file_type.interleaved_reads
        #elif $file.file_type.type == "paired-collection"
        --$prefix$num-1 fastq:$file.file_type.fastq_collection.forward
        --$prefix$num-2 fastq:$file.file_type.fastq_collection.reverse
        #end if
      #end for


  </command>
  <inputs>
    <param name="onlyassembler" type="boolean" truevalue="--only-assembler" falsevalue="" checked="False" label="Run only assembly? (without read error correction)" />
    <conditional name="kmer_choice">
      <param name="auto_kmer_choice" type="boolean" checked="False" truevalue="true" falsevalue="false" label="Automatically choose k-mer values" help="k-mer choices can be chosen by SPAdes instead of being entered manually" />
      <when value="false">
        <param name="kmers" type="text" label="K-mers to use, separated by commas" value="21,33,55" help="Comma-separated list of k-mer sizes to be used (all values must be odd, less than 128, listed in ascending order, and smaller than the read length). The default value is 21,33,55." />
      </when>
      <when value="true"> </when>
    </conditional>    

    <!-- Reads -->

      <param name="lib_type" type="select" label="Library type">
	<option value="paired_end">Paired-end</option>
      </param>
      <param name="orientation" type="select" label="Orientation">
	<option value="fr" selected="true">-> &lt;- (fr)</option>
	<option value="rf">&lt;- -> (rf)</option>
	<option value="ff">-> -> (ff)</option>
      </param>
      <repeat name="files" title="Files" min="1">
	<conditional name="file_type">
	  <param name="type" type="select" label="Select file format">
	    <option value="separate">Separate input files</option>
	    <option value="interleaved">Interleaved files</option>
            <option value="paired-collection">Paired List Collection</option>
	  </param>
	  <when value="separate">
	    <param name="fwd_reads" type="data" format="fastq" label="Forward reads" help="FASTQ format" />
	    <param name="rev_reads" type="data" format="fastq" label="Reverse reads" help="FASTQ format" />
	  </when>
	  <when value="interleaved">
	    <param name="interleaved_reads" type="data" format="fastq" label="Interleaved paired reads" help="FASTQ format" />
	  </when>
          <when value="paired-collection">
            <param name="fastq_collection" type="data_collection" label="Paired-end reads collection" optional="false" format="fastq" collection_type="paired" help="FASTQ format" /> 
          </when>
	</conditional>
      </repeat>


  </inputs>
  <outputs>
    <data name="out_contigs" format="fasta" label="SPAdes contigs (fasta)" />
    <data name="out_contig_stats" format="tabular" label="SPAdes contig stats" />
    <data name="out_scaffolds" format="fasta" label="SPAdes scaffolds (fasta)" />
    <data name="out_scaffold_stats" format="tabular" label="SPAdes scaffold stats" />
    <data name="out_log" format="txt" label="SPAdes log" />
  </outputs>
  <tests>
    <test>
      <param name="sc" value="false" />
      <param name="careful" value="false" />
      <param name="kmers" value="33,55" />
      <param name="lib_type" value="paired_end" />
      <param name="fwd_reads" value="ecoli_1K_1.fq" ftype="fastq" />
      <param name="rev_reads" value="ecoli_1K_2.fq" ftype="fastq" />
      <output name="out_contigs" file="reference_1K.fa" ftype="fasta" compare="re_match" lines_diff="1" />
    </test> 
 </tests>
  <help>
**What it does**

SPAdes – St. Petersburg genome assembler – is intended for both standard isolates and single-cell MDA bacteria assemblies. See http://bioinf.spbau.ru/en/spades for more details on SPAdes.

This wrapper runs SPAdes 3.9, collects the output, and throws away all the temporary files. It also produces a tab file with contig names, length and coverage. 

**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.
  </help>
    <citations>
        <citation type="doi">10.1089/cmb.2012.0021</citation>
    </citations>
</tool>