view spades.xml @ 20:78ced22d09a2 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/spades commit a09a5e3ee3c76550526f082b97de8da75181a1dd
author iuc
date Wed, 13 Jul 2022 07:41:05 +0000
parents 9be710099b99
children a789e163a670
line wrap: on
line source

<tool id="spades" name="SPAdes" version="@TOOL_VERSION@+galaxy1" profile="20.01">
    <description>genome assembler for genomes of regular and single-cell projects</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command detect_errors="exit_code"><![CDATA[

#set $library = 1

@PREPROCESS_INPUT_FILES_MAIN@
#if $additional_reads.selector == 'true'
    @PREPROCESS_INPUT_FILES_ADDITIONAL@
#end if
@PREPROCESS_NANOPORE_PACBIO_FILES@
@PREPROCESS_CONTIGS_FILES@
@PREPROCESS_SANGER_FILES@

## run
spades.py
    $operation_mode
    -o 'output'    
    @RESOURCES@
    @INPUT_READS_MAIN@
    #if $additional_reads.selector == 'true'
        @INPUT_READS_ADDITIONAL@
    #end if
    ## additional reads
    @NANOPORE_PACBIO@
    @SANGER@
    @CONTIGS@
    ## parameter
    #if $cov_cond.cov_cutoff == 'value':
        --cov-cutoff $cov_cond.manual
    #else:
        --cov-cutoff $cov_cond.cov_cutoff
    #end if
    @KMER@
    @PIPELINE_OPTIONS@
    @PHREDOFFSET@    

    ## postprocessing
    @STATS@
    @CORRECTED@
    ]]></command>
    <inputs>
        <expand macro="operation_mode" help="To run read error correction, reads should be in FASTQ format."/>
        <expand macro="input_files_all" format="fastq,fastq.gz,fastqsanger.gz,fasta,fasta.gz" label="FASTA/FASTQ file(s)"/>
        <expand macro="input_additional_files_all" format="fastq,fastq.gz,fastqsanger.gz,fasta,fasta.gz" label="FASTA/FASTQ file(s)"/>
        <section name="arf" title="Additional read files">
            <expand macro="nanopore_pacbio"/>
            <expand macro="sanger"/>
            <expand macro="contigs"/>
        </section>
        <expand macro="pipeline_options">
            <option value="--sc">Single cell mode: required for MDA (single-cell) data (--sc)</option>
            <option value="--isolate">Isolate: highly recommended for high-coverage isolate and multi-cell data (--isolate)</option>
            <option value="--careful">Careful: ties to reduce the number of mismatches and short indels. Only recommended for small genomes (--careful)</option>
            <option value="--iontorrent">Iontorrent: required when assembling IonTorrent data (--iontorrent)</option>
        </expand>
        <expand macro="covcutoff"/>
        <expand macro="kmer" help="If --sc is set the default values are 21,33,55. For multicell datasets K values are automatically selected using maximum read length."/>        
        <expand macro="phred"/>
        <expand macro="optional_output"/>
    </inputs>
    <outputs>
        <expand macro="out_ag"/>
        <expand macro="out_ags"/>
        <expand macro="out_cn"/>
        <expand macro="out_cp"/>
        <expand macro="out_cr"/>
        <expand macro="out_cs"/>
        <expand macro="out_l"/>
        <expand macro="out_sc"/>
        <expand macro="out_sp"/>
        <expand macro="out_ss"/>        
    </outputs>
    <tests>
        <!--
        used in a test:
            single library: 12, 1, 2
            multiple libraries: s, pe#-12, pe#-1, pe#-2, pe#-<or>
            k, phred-offset, disablerr, iontorrent, careful, isolate, only-assembler, only-error-correction, sc

        not used in a test:
            multiple libraries: pe#-m, pe#-s, mp#-12, mp#-1, mp#-2, mp#-<or>, mp#-s, hqmp#-12, hqmp#-1, hqmp#-2, hqmp#-s, hqmp#-<or>, nxmate#-1, nxmate-#2
        -->

        <!-- #1 single, interlaced, fastq.gz, default parameters -->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #2 single, separate, fastq, custom parameters  -->
        <test expect_num_outputs="9">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                <param name="input2" value="ecoli_1K_2.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--isolate,--disable-rr,--iontorrent"/>
            <conditional name="cov_cond">
                <param name="cov_cutoff" value="auto"/>
            </conditional>
            <conditional name="kmer_cond">
                <param name="kmer_sel" value="manual"/>
                <param name="manual" value="33"/>
            </conditional>
            <param name="phred_offset" value="33"/>
            <param name="optional_output" value="ag,ags,cn,cp,cs,sc,sp,ss,l"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="1"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_cp">
                <assert_contents>
                    <has_n_lines n="0"/>
                </assert_contents>
            </output>
            <output name="out_cs">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="#name&#009;length&#009;coverage"/>
                    <has_text_matching expression="NODE_1&#009;1000&#009;225.723888"/>
                </assert_contents>
            </output>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="0"/>
                </assert_contents>
            </output>
            <output name="out_sp">
                <assert_contents>
                    <has_n_lines n="0"/>
                </assert_contents>
            </output>
            <output name="out_ss">
                <assert_contents>
                    <has_n_lines n="0"/>
                </assert_contents>
            </output>
        </test>
        <!-- #3 single, separate, fasta, default parameters -->
        <test expect_num_outputs="4">
            <param name="operation_mode" value="--only-assembler"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                <param name="input2" value="ecoli_1K_2.fastq.gz"/>
            </conditional>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #4 multiple, single & paired-end within same library: careful mode -->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="single"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <conditional name="additional_reads">
                <param name="selector" value="true"/>
                <conditional name="singlePaired">
                    <param name="sPaired" value="paired"/>
                    <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                    <param name="input2" value="ecoli_1K_2.fastq.gz"/>
                </conditional>
            </conditional>
            <param name="mode_sel" value="--careful"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #5 multiple, single & paired-end in different libraries -->
        <test expect_num_outputs="4">
            <param name="operation_mode" value="--only-assembler"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="single"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <conditional name="additional_reads">
                <param name="selector" value="true"/>
                <conditional name="singlePaired">
                    <param name="sPaired" value="paired"/>
                    <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                    <param name="input2" value="ecoli_1K_2.fastq.gz"/>
                </conditional>
            </conditional>
            <param name="mode_sel" value="--careful"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #6 only corrected reads are created as an output -->
        <test expect_num_outputs="2">
            <param name="operation_mode" value="--only-error-correction"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--careful"/>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="ecoli_1K.fastq.gz_1.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz_2.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz__unpaired.00.0_0.cor">
                    <assert_contents>
                        <has_size value="20" delta="5"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #7 only corrected reads are created as an output -->
        <test expect_num_outputs="2">
            <param name="operation_mode" value="--only-error-correction"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--careful,--sc"/>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="ecoli_1K.fastq.gz_1.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz_2.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz__unpaired.00.0_0.cor">
                    <assert_contents>
                        <has_size value="20" delta="5"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #8 -->
        <test expect_num_outputs="4">
            <param name="operation_mode" value="--only-assembler"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--sc"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_7_length_1000_cov_140.639153"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #9 only corrected reads are created as an output -->
        <test expect_num_outputs="2">
            <param name="operation_mode" value="--only-error-correction"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="ecoli_1K.fastq.gz_1.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz_2.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz__unpaired.00.0_0.cor">
                    <assert_contents>
                        <has_size value="20" delta="5"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #10 only corrected reads are created as an output -->
        <test expect_num_outputs="2">
            <param name="operation_mode" value="--only-error-correction"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--sc"/>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="ecoli_1K.fastq.gz_1.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz_2.00.0_0.cor">
                    <assert_contents>
                        <has_size value="130317" delta="5000"/>
                    </assert_contents>
                </element>
                <element name="ecoli_1K.fastq.gz__unpaired.00.0_0.cor">
                    <assert_contents>
                        <has_size value="20" delta="5"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #11 -->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--sc"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_5_length_1000_cov_140.620106"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #12 -->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                <param name="input2" value="ecoli_1K_2.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--sc,--careful"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_5_length_1000_cov_140.620106"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #13 -->
        <test expect_num_outputs="4">
            <param name="operation_mode" value="--only-assembler"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                <param name="input2" value="ecoli_1K_2.fastq.gz"/>
            </conditional>
            <param name="mode_sel" value="--sc,--careful"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE\_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #14 interlaced, fastq.gz, hybrid assembly: nanopore, pacbio sanger and trustedcontigs -->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_interlaced"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <section name="arf">
                <param name="nanopore" value="ecoli_1K.fastq.gz"/>
                <param name="pacbio" value="ecoli_1K.fastq.gz"/>
                <param name="sanger" value="ecoli_1K.fastq.gz"/>
                <param name="trusted_contigs" value="ecoli_1K.fasta.gz"/>
            </section>
            <assert_command>
                <has_text text="--nanopore"/>
                <has_text text="--pacbio"/>
                <has_text text="--sanger"/>
                <has_text text="--trusted-contigs"/>
            </assert_command>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #15 mate-pair reads orientation rf-->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="ecoli_1K_1.fastq.gz"/>
                <param name="input2" value="ecoli_1K_2.fastq.gz"/>
                <param name="type_paired" value="hqmp"/>
                <param name="orientation" value="rf"/>
            </conditional>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="1"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="0"/>
                </assert_contents>
            </output>
        </test>
        <!-- #16 high-quality mate-pair reads collection-->
        <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired_collection"/>
                <param name="input">
                    <collection type="list:paired">
                        <element name="ecoli.fastq">
                            <collection type="paired">
                                <element name="forward" value="ecoli_1K_1.fastq.gz" ftype="fastqsanger.gz"/>
                                <element name="reverse" value="ecoli_1K_2.fastq.gz" ftype="fastqsanger.gz"/>
                            </collection>
                        </element>
                    </collection>
                </param>
                <param name="type_paired" value="hqmp"/>
            </conditional>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="36"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="18"/>
                    <has_text_matching expression=">NODE\_1\_length\_1000.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #17 Fix stats script -->
        <test expect_num_outputs="1">
            <conditional name="singlePaired">
                <param name="sPaired" value="single"/>
                <param name="input1" value="ecoli_1K.fastq.gz"/>
            </conditional>
            <param name="optional_output" value="ss"/>
            <output name="out_ss">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text text="NODE_1&#009;1000&#009;140.620106"/>
                    <has_text_matching expression="#name&#009;length&#009;coverage"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**What it does**

@HELP_WID@

**Input**

@HELP_IN@

**Output**

@HELP_OUT_AG@
@HELP_OUT_AGS@
@HELP_OUT_C@
@HELP_OUT_CP@
@HELP_OUT_CR@
@HELP_OUT_CS@
@HELP_OUT_L@
@HELP_OUT_S@
@HELP_OUT_SP@
@HELP_OUT_SS@


-------------------

.. class:: infomark

**IonTorrent data**

@IONTORRENT@

-------------------

.. class:: infomark

**References**

More information are available on `github <https://github.com/ablab/spades>`_ and on the `project website <http://cab.spbu.ru/software/spades>`_.
    ]]></help>
    <expand macro="citations">
            <citation type="doi">10.1089/cmb.2012.0021</citation>
            <citation type="doi">10.1007/978-3-642-37195-0_13</citation>
    </expand>
</tool>