view seq.error.xml @ 5:a03c9ebf1959 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 7f7605c2c8d8e92f3369dfdc290e5d8d06fa409a
author iuc
date Fri, 03 Aug 2018 14:31:26 -0400
parents a5418319c97a
children c8a364414b34
line wrap: on
line source

<tool profile="16.07" id="mothur_seq_error" name="Seq.error" version="@WRAPPER_VERSION@.0">
    <description>assess error rates in sequencing data</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
@SHELL_OPTIONS@

## create symlinks to input datasets
ln -s '$fasta_in' fasta_in.dat &&
ln -s '$name_in' name_in.dat &&
ln -s '$count' count.dat &&
ln -s '$alignment.template' alignment.template.dat &&
#if $qual.use == "yes":
    ln -s '$qual.qfile_in' qfile_in.dat &&
    ln -s '$qual.alignreport_in' alignreport_in.dat &&
#end if

echo 'seq.error(
    fasta=fasta_in.dat,
    reference=alignment.template.dat,
    #if $name_in:
        name=name_in.dat,
    #end if
    #if $qual.use == "yes":
        qfile=qfile_in.dat,
        report=alignreport_in.dat,
    #end if
    #if $threshold:
        threshold=$threshold,
    #end if
    ignorechimeras=$ignorechimeras,
    #if $count:
        count=count.dat,
    #end if
    #if $fasta_in.is_of_type('mothur.align')
        aligned=T,
    #else
        aligned=F,
    #end if
    processors='\${GALAXY_SLOTS:-8}'
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="fasta_in" type="data" format="mothur.align,fasta" label="fasta - Candidate Sequences" help="sequences must be aligned"/>
        <conditional name="alignment">
            <param name="source" type="select" label="Select Reference Template from" help="">
                <option value="ref">Cached Reference</option>
                <option value="history">Your History</option>
            </param>
            <when value="ref">
                <param name="template" type="select" label="reference - Select an alignment database" help="">
                    <options from_data_table="mothur_aligndb"/>
                </param>
            </when>
            <when value="history">
                <param name="template" type="data" format="mothur.align,fasta" label="reference - Reference to align with" help=""/>
            </when>
        </conditional>
        <param name="name_in" type="data" format="mothur.names" optional="true" label="name - Sequences Name reference"/>
        <conditional name="qual">
            <param name="use" type="select" label="Include a quality file and an alignment report as inputs" help="">
                <option value="no">No</option>
                <option value="yes">Yes</option>
            </param>
            <when value="yes">
                <param name="qfile_in" type="data" format="qual" label="qfile - Fasta Quality"/>
                <param name="alignreport_in" type="data" format="mothur.align.report" label="alignreport - Align Report"/>
            </when>
            <when value="no"/>
        </conditional>
        <param name="count" type="data" format="mothur.count_table" optional="true" label="count table"/>
        <param name="threshold" type="float" value="" min="0" max="1" optional="true" label="threshold - error rate at which to report (default 1.)"/>
        <param name="ignorechimeras" type="boolean" truevalue="true" falsevalue="false" checked="true" label="ignorechimeras - "/>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="summary_out" format="tabular" from_work_dir="fasta_in*.error.summary" label="${tool.name} on ${on_string}: error.summary">
            <filter>'summary' in output_sel</filter>
        </data>
        <data name="seq_out" format="fasta" from_work_dir="fasta_in*.error.seq" label="${tool.name} on ${on_string}: error.seq">
            <filter>'seq' in output_sel</filter>
        </data>
        <data name="seq_forward_out" format="tabular" from_work_dir="fasta_in*.error.seq.forward" label="${tool.name} on ${on_string}: error.seq.forward">
            <filter>'seq_forward' in output_sel</filter>
        </data>
        <data name="seq_reverse_out" format="tabular" from_work_dir="fasta_in*.error.seq.reverse" label="${tool.name} on ${on_string}: error.seq.reverse">
            <filter>'seq_reverse' in output_sel</filter>
        </data>
        <data name="chimera_out" format="tabular" from_work_dir="fasta_in*.error.chimera" label="${tool.name} on ${on_string}: error.chimera">
            <filter>'chimera' in output_sel</filter>
        </data>
        <data name="count_out" format="tabular" from_work_dir="fasta_in*.error.count" label="${tool.name} on ${on_string}: error.count">
            <filter>'count' in output_sel</filter>
        </data>
        <data name="matrix_out" format="tabular" from_work_dir="fasta_in*.error.matrix" label="${tool.name} on ${on_string}: error.matrix">
            <filter>'matrix' in output_sel</filter>
        </data>
        <data name="quality_out" format="tabular" from_work_dir="fasta_in*.error.quality" label="${tool.name} on ${on_string}: error.quality">
            <filter>qual['use'] == 'yes' and 'quality' in output_sel</filter>
        </data>
        <data name="qual_forward_out" format="tabular" from_work_dir="fasta_in*.error.qual.forward" label="${tool.name} on ${on_string}: error.qual.forward">
            <filter>qual['use'] == 'yes' and 'qual_forward' in output_sel</filter>
        </data>
        <data name="qual_reverse_out" format="tabular" from_work_dir="fasta_in*.error.qual.reverse" label="${tool.name} on ${on_string}: error.qual.reverse">
            <filter>qual['use'] == 'yes' and 'qual_reverse' in output_sel</filter>
        </data>
        <data name="ref_query_out" format="mothur.align" from_work_dir="fasta_in*.error.ref" label="${tool.name} on ${on_string}: error.ref-query">
            <filter>'ref_query' in output_sel</filter>
        </data>
    </outputs>
    <tests>
        <test><!--test with all outputs and no qual file-->
            <param name="fasta_in" value="amazon.align_head" ftype="mothur.align"/>
            <param name="template" value="HMP_MOCK.v35.align" ftype="mothur.align"/>
            <param name="source" value="history"/>
            <param name="output_sel" value="summary,seq,seq_forward,seq_reverse,chimera,count,matrix,ref_query"/>
            <output name="chimera_out" md5="9faf0da7d724a1db5e0d8f5fcb72b486"/>
            <output name="count_out" md5="9aea787346ad6a1c496aa1d77262a487"/>
            <output name="matrix_out" md5="b7d9bbf3cdf363b41551e31c0b460a47"/>
            <output name="ref_query_out" md5="42b42eb4c6bc2705ded2c697a757106f"/>
            <output name="seq_out" md5="5a884846a8d94b8482c2935d2e7e43e6"/>
            <output name="seq_forward_out" md5="92a24ef3155bc050ae4fd31bab43cf92"/>
            <output name="seq_reverse_out" md5="92a24ef3155bc050ae4fd31bab43cf92"/>
            <output name="summary_out" md5="04abbbd6aa82f084e4a3bd51c4ce98e6"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!--test with qual file and all outputs -->
            <param name="fasta_in" value="Mock_S280_L001_R1_001_small.trim.contigs.good.align_head" ftype="mothur.align"/>
            <param name="template" value="HMP_MOCK.v35.align" ftype="mothur.align"/>
            <param name="source" value="history"/>
            <param name="output_sel" value="summary,seq,seq_forward,seq_reverse,chimera,count,matrix,ref_query,quality,qual_forward,qual_reverse"/>
            <param name="use" value="yes"/>
            <param name="qfile_in" value="Mock_S280_L001_R1_001_small.trim.contigs.qual"/>
            <param name="alignreport_in" value="Mock_S280_L001_R1_001_small.trim.contigs.good.align.report"/>
            <output name="chimera_out" md5="78e586f1a1362fd98808d7725d786caa"/>
            <output name="count_out" md5="ee987c7b5dc90d4d3a0ef55d817cc540"/>
            <output name="matrix_out" md5="6b9310b4acd95c560cd062b620b35826"/>
            <output name="ref_query_out" md5="dd569264c5a4628079de3ef828766e90"/>
            <output name="quality_out" md5="844b50d6642381a7f434b8182b9307da"/>
            <output name="qual_forward_out" md5="371fc760fc51b5adf10044fc26c1bbb8"/>
            <output name="qual_reverse_out" md5="81f17617ba99cac5807e454a626eb006"/>
            <output name="seq_out" md5="69a8ec131df0b1d4d95eaeb04e057941"/>
            <output name="seq_forward_out" md5="dbcbbefdc83c2a7c045e3930850cdbd9"/>
            <output name="seq_reverse_out" md5="5618b1e431306ec1275f1572d6c0c2fc"/>
            <output name="summary_out" md5="d33bddf9b112f2f3a80b38cf7ac50e6a"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The seq.error_ command evaluates error rate for sequences by comparing to the fasta-formatted template_alignment_.
This is demonstrated in https://www.mothur.org/wiki/Schloss_SOP#Error_analysis

.. _template_alignment: https://www.mothur.org/wiki/Alignment_database
.. _seq.error: https://www.mothur.org/wiki/Seq.error

    ]]></help>
    <expand macro="citations">
        <citation type="doi">10.1371/journal.pone.0027310</citation>
    </expand>
</tool>