view tools/spades_3_1_1/spades.xml @ 10:7d72faef9af0 draft

Uploaded
author takadonet
date Fri, 10 Oct 2014 14:40:43 -0400
parents
children
line wrap: on
line source

<tool id="spades" name="spades" version="0.9">
  <description>SPAdes genome assembler for regular and single-cell projects</description>
  <requirements>
    <requirement type="package" version="3.1.1">spades</requirement>
  </requirements>
  <command interpreter="perl">spades.pl 
    $out_contigs 
    $out_contig_stats 
    $out_scaffolds 
    $out_scaffold_stats 
    $out_log

    ## if the first library file is a paired-collection, use the key as the name
    #if $libraries[0].files[0].file_type.type == "paired-collection":
        $libraries[0].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
    $sc
    $onlyassembler
    $careful
    -t \${GALAXY_SLOTS:-16}
    -k "$kmers"
    $iontorrent
    ## Sequence files, libraries
    #for $i, $library in enumerate( $libraries )
      #set num=$i+1
      #if str( $library.lib_type ) == "paired_end":
        #set prefix = 'pe'
      #elif str( $library.lib_type ) == "mate_paired":
        #set prefix = 'mp'
      #else:
        $set prefix = 'hqmp'
      #end if
      --$prefix$num-$library.orientation    
      #for $file in $library.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 == "unpaired"
          --$prefix$num-s fastq:$file.file_type.unpaired_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
    #end for
    ## PacBio reads
    #for $i, $pacbiolib in enumerate( $pacbio )
      --pacbio fastq:$pacbiolib.pacbio_reads
    #end for
    ## Sanger
    #for $i, $sangerlib in enumerate( $sanger )
      --sanger $sangerlib.file_type.type:$sangerlib.file_type.sanger_reads
    #end for
    ## Contigs
    #for $i, $trustedcontigs in enumerate( $trustedcontigs )
      --trusted-contigs $trustedcontigs.file_type.type:$trustedcontigs.file_type.trusted_contigs
    #end for
    #for $i, $untrustedcontigs in enumerate( $untrustedcontigs )
      --untrusted-contigs $untrustedcontigs.file_type.type:$untrustedcontigs.file_type.untrusted_contigs
    #end for
  </command>
  <inputs>
    <param name="sc" type="boolean" truevalue="--sc" falsevalue="" label="Single-cell?" help="This option is required for MDA (single-cell) data.">
      <option value="false">No</option>
      <option value="true">Yes</option>
    </param>
    <param name="onlyassembler" type="boolean" truevalue="--only-assembler" falsevalue="" checked="False" label="Run only assembly? (without read error correction)" />
    <param name="careful" type="boolean" truevalue="--careful" falsevalue="" checked="True" label="Careful correction?" help="Tries to reduce number of mismatches and short indels. Also runs MismatchCorrector – a post processing tool, which uses BWA tool (comes with SPAdes)." />
    <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." >
    </param>
    <param name="iontorrent" type="boolean" truevalue="--iontorrent" falsevalue="" checked="False" label="Libraries are IonTorrent reads?" />
    <!-- Reads -->
    <repeat name="libraries" title="Libraries" min="1" help="It is not possible to specify only mate-pair libraries. Scaffolds are not produced if neither a paired-end nor a mate-pair library is provided.">
      <param name="lib_type" type="select" label="Library type">
	<option value="paired_end">Paired-end / Single reads</option>
	<option value="mate_paired">Mate pairs</option>
        <option value="high_mate_paired">High Quality Mate pairs</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="unpaired">Unpaired/Single reads</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="unpaired">
	    <param name="unpaired_reads" type="data" format="fastq" label="Unpaired 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>
    </repeat>
    <!-- PacBio -->
    <repeat name="pacbio" title="PacBio CLR reads">
      <param name="pacbio_reads" type="data" format="fastq" label="PacBio CLR reads." help="FASTQ format. For PacBio pre-corrected or CCS reads, use single reads above." />
    </repeat>
    <!-- Sanger -->
    <repeat name="sanger" title="Sanger reads">
      <conditional name="file_type">
	<param name="type" type="select" label="Select file format" help="No read correction is done on Sanger reads, no need to provide quality information.">
	  <option value="fasta">fasta</option>
	  <option value="fastq">fastq</option>
	</param>
	<when value="fasta">
	  <param name="sanger_reads" type="data" format="fasta" label="Sanger reads" help="FASTA format" />
	</when>
	<when value="fastq">
	  <param name="sanger_reads" type="data" format="fastq" label="Sanger reads" help="FASTQ format" />
	</when>
      </conditional>
    </repeat>
    <!-- Contigs -->
    <repeat name="trustedcontigs" title="Trusted contigs" help="Reliable contigs of the same genome, which are likely to have no misassemblies and small rate of other errors (e.g. mismatches and indels). This option is not intended for contigs of the related species.">
      <conditional name="file_type">
	<param name="type" type="select" label="Select file format">
	  <option value="fasta">fasta</option>
	  <option value="fastq">fastq</option>
	</param>
	<when value="fasta">
	  <param name="trusted_contigs" type="data" format="fasta" label="Trusted contigs" help="FASTA format" />
	</when>
	<when value="fastq">
	  <param name="trusted_contigs" type="data" format="fastq" label="Trusted contigs" help="FASTQ format" />
	</when>
      </conditional>
    </repeat>
    <repeat name="untrustedcontigs" title="Untrusted contigs" help="Contigs of the same genome, quality of which is average or unknown. Contigs of poor quality can be used but may introduce errors in the assembly. This option is also not intended for contigs of the related species.">
      <conditional name="file_type">
	<param name="type" type="select" label="Select file format">
	  <option value="fasta">fasta</option>
	  <option value="fastq">fastq</option>
	</param>
	<when value="fasta">
	  <param name="untrusted_contigs" type="data" format="fasta" label="Untrusted contigs" help="FASTA format" />
	</when>
	<when value="fastq">
	  <param name="untrusted_contigs" type="data" format="fastq" label="Untrusted contigsz" 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="type" value="pairedend" />
      <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.1.1, collects the output, and throws away all the temporary files. It also produces a tab file with contig names, length and coverage. 

**SPAdes citation**

Anton Bankevich, Sergey Nurk, Dmitry Antipov, Alexey A. Gurevich, Mikhail Dvorkin, Alexander S. Kulikov, Valery M. Lesin, Sergey I. Nikolenko, Son Pham, Andrey D. Prjibelski, Alexey V. Pyshkin, Alexander V. Sirotkin, Nikolay Vyahhi, Glenn Tesler, Max A. Alekseyev, and Pavel A. Pevzner. Journal of Computational Biology. May 2012, 19(5): 455-477. doi:10.1089/cmb.2012.0021. 
  
**License**

SPAdes is developed by and copyrighted to Saint-Petersburg Academic University, and is released under GPLv2.

This wrapper is copyrighted by Lionel Guy,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 **

Anton Korobeynikov greatlty helped understanding how SPAdes work, and integrated handy features into SPAdes.

Nicola Soranzo fixed various bugs.
  </help>
</tool>