view plasmidspades.xml @ 8:7bb235ff0746 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/spades commit 066e075c1599b29e92708194db2b2ccc30b7677c
author iuc
date Mon, 12 Feb 2024 21:45:59 +0000
parents 1708851f8804
children
line wrap: on
line source

<tool id="spades_plasmidspades" name="plasmidSPAdes" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">
    <description>extract and assembly plasmids from WGS data</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <xrefs>
        <xref type="bio.tools">plasmidspades</xref>
    </xrefs>
    <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_SANGER_FILES@
@PREPROCESS_CONTIGS_FILES@
@PREPROCESS_ASSEMBLY_GRAPH_FILES@

@OMP_THREADS@
## run
plasmidspades.py
    $operation_mode
    -o 'output'
    @RESOURCES@
    @INPUT_READS_MAIN@
    #if $additional_reads.selector == 'true'
        @INPUT_READS_ADDITIONAL@
    #end if
    ## reads
    @NANOPORE_PACBIO@
    @SANGER@
    @CONTIGS@
    @ASSEMBLY_GRAPH@
    ## parameter
    --cov-cutoff $cov_cond.cov_cutoff
    @KMER@
    @PIPELINE_OPTIONS@
    @PHREDOFFSET@
    ## postprocessing
    @STATS@
    @CORRECTED@
    ]]></command>
    <inputs>
        <expand macro="operation_mode"/>
        <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"/>
            <expand macro="assembly_graph"/>
        </section>
        <expand macro="pipeline_options">
            <option value="--careful">Careful: tries 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"/>
        <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, only-assembler, only-error-correction

        not used in a test:
            single library: merged, s
            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
            pacbio, nanopore, sanger, trusted-contigs, untrusted-contigs, tslr
        -->

        <!-- #1 single, separate, fastq.gz, default parameters -->
         <test expect_num_outputs="4">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.gz"/>
            </conditional>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="326"/>
                    <has_text_matching expression=">EDGE\_18\_length\_9689\_cov\_4\.668331"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="3"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="163"/>
                    <has_text_matching expression=">NODE\_1\_length\_9689\_cov\_.+"/>
                </assert_contents>
            </output>
            <output name="out_sc">
                <assert_contents>
                    <has_n_lines n="163"/>
                    <has_text_matching expression=">NODE\_1\_length\_9689.+"/>
                </assert_contents>
            </output>
        </test>
        <!-- #2 single, separate, fastq, all outputs and custom parameters -->
        <test expect_num_outputs="10">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.gz"/>
            </conditional>
            <conditional name="cov_cond">
                <param name="cov_sel" value="auto"/>
            </conditional>
            <param name="phred_offset" value="33"/>
            <param name="optional_output" value="ag,ags,cn,cp,cr,cs,l,sc,sp,ss"/>
            <output name="out_ag">
                <assert_contents>
                    <has_n_lines n="326"/>
                    <has_text_matching expression=">EDGE_.+"/>
                </assert_contents>
            </output>
            <output name="out_ags">
                <assert_contents>
                    <has_n_lines n="3"/>
                    <has_text_matching expression="S.+"/>
                </assert_contents>
            </output>
            <output name="out_cn">
                <assert_contents>
                    <has_n_lines n="163"/>
                    <has_text_matching expression=">NODE.+"/>
                </assert_contents>
            </output>
            <output name="out_cp">
                <assert_contents>
                    <has_n_lines n="4"/>
                </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;9689&#009;4.668331_component_0"/>
                </assert_contents>
            </output>
            <output_collection name="out_cr" type="list" count="3">
                <element name="pl1.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl2.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl_unpaired.00.0_0">
                    <assert_contents>
                        <has_size value="392" delta="100"/>
                    </assert_contents>
                </element>
            </output_collection>
            <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="163"/>
                </assert_contents>
            </output>
            <output name="out_sp">
                <assert_contents>
                    <has_n_lines n="4"/>
                </assert_contents>
            </output>
            <output name="out_ss">
                <assert_contents>
                    <has_n_lines n="2"/>
                    <has_text_matching expression="#name&#009;length&#009;coverage"/>
                    <has_text_matching expression="NODE_1&#009;9689&#009;4.668331_component_0"/>
                </assert_contents>
            </output>
        </test>
        <!-- #3 multiple, single & paired-end, test dataset not valid -->
        <test expect_num_outputs="1">
            <param name="operation_mode" value="--only-assembler"/>
            <conditional name="singlePaired">
                <param name="sPaired" value="interlaced"/>
                <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="pl1.fq.gz"/>
                    <param name="input2" value="pl2.fq.gz"/>
                </conditional>
                <param name="type_paired" value="mp"/>
                <param name="orientation" value="rf"/>
            </conditional>
            <param name="mode_sel" value="--careful"/>
            <param name="optional_output" value="l"/>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #4 test dataset not valid-->
        <test expect_num_outputs="1">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.gz"/>
            </conditional>
            <param name="mode_sel" value="--careful"/>
            <param name="optional_output" value="l"/>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
        <!-- #5 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"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.gz"/>
            </conditional>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="pl1.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl2.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl_unpaired.00.0_0">
                    <assert_contents>
                        <has_size value="392" delta="100"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </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"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.gz"/>
            </conditional>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="pl1.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl2.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl_unpaired.00.0_0">
                    <assert_contents>
                        <has_size value="392" delta="100"/>
                    </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 hybrid assembly: nanpopore, pacbio, sanger, untrustedcontigs -->
        <test expect_num_outputs="2">
            <conditional name="singlePaired">
                <param name="sPaired" value="paired"/>
                <param name="input1" value="pl1.fq.gz"/>
                <param name="input2" value="pl2.fq.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="untrusted_contigs" value="ecoli_1K.fasta.gz"/>
            </section>
            <assert_command>
                <has_text text="--nanopore"/>
                <has_text text="--pacbio"/>
                <has_text text="--sanger"/>
                <has_text text="--untrusted-contigs"/>
            </assert_command>
            <param name="mode_sel" value="--careful"/>
            <param name="optional_output" value="cr,l"/>
            <output_collection name="out_cr" type="list" count="3">
                <element name="pl1.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl2.fq.gz.fastq.00.0_0">
                    <assert_contents>
                        <has_size value="72173" delta="1000"/>
                    </assert_contents>
                </element>
                <element name="pl_unpaired.00.0_0">
                    <assert_contents>
                        <has_size value="392" delta="100"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output name="out_l">
                <assert_contents>
                    <has_text_matching expression="Thank you for using SPAdes!"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**What it does**

@HELP_WID@

plasmidSPAdes is a subtool for assembling plasmid data sets.

**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@

**References**

More information can be found on `github <https://github.com/ablab/spades>`_.
    ]]></help>
    <expand macro="citations">
        <citation type="doi">10.1093/bioinformatics/btw493</citation>
    </expand>
</tool>