view tools/mothur/remove.rare.xml @ 0:ee4fee239fe7 draft default tip

planemo upload commit 68a4fd4cc5332c57ac39bef73db224425af0706c-dirty
author sanbi-uwc
date Fri, 03 Jun 2016 09:32:47 -0400
parents
children
line wrap: on
line source

<tool profile="16.07" id="mothur_remove_rare" name="Remove.rare" version="@WRAPPER_VERSION@.0">
    <description>Remove rare OTUs</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="version_command"/>
    <command detect_errors="aggressive"><![CDATA[
        echo 'remove.rare(
            #if $input.otu.is_of_type("mothur.rabund"):
                rabund=$input.otu,
            #elif $input.otu.is_of_type("mothur.sabund"):
                sabund=$input.otu,
            #elif $input.otu.is_of_type("mothur.list"):
                list=$input.otu,
                #if $input.group:
                    group=$input.group,
                #end if
                #if $input.groups:
                    groups=${ str($input.groups).replace(",","-") },
                #end if
                #if $input.count:
                    count=$input.count,
                #end if
            #elif $input.otu.is_of_type("mothur.shared"):
                shared=$input.otu,
                bygroup=$input.bygroup,
                #if $input.groups:
                    groups=${ str($input.groups).replace(",","-") },
                #end if
            #end if
            #if $input.label:
                label=${ str($input.label).replace(",","-") },
            #end if
            nseqs=$nseqs
        )'
        | sed 's/ //g'  ## mothur trips over whitespace
        | mothur &&

        ## move output files to correct destination
        prefix="$input.otu" &&
        #if $input.source == 'list' and $input.group:
            prefix2="$input.group" &&
            mv \${prefix2%.dat}*.pick.* "$pick_group" &&
        #end if
        #if $input.source == 'shared':
            mv \${prefix%.dat}*.pick.* . &&
        #else
            mv \${prefix%.dat}*.pick.* "$pick_otu" &&
        #end if
        mv mothur.*.logfile "$logfile"
    ]]></command>
    <inputs>
        <conditional name="input">
            <param name="source" type="select" label="Select Input Format">
                <option value="shared">shared</option>
                <option value="list">list</option>
                <option value="default">rabund or sabund</option>
            </param>
            <when value="shared">
                <param name="otu" type="data" format="mothur.shared" label="shared - Otu dataset"/>
                <param name="groups" type="select" optional="true" label="groups - Pick groups to analyze" multiple="true">
                    <options>
                        <filter type="data_meta" ref="otu" key="groups"/>
                    </options>
                </param>
                <param name="bygroup" type="boolean" truevalue="true" falsevalue="false" checked="false" label="bygroup - Remove any OTU that has nseqs or fewer sequences across all groups"/>
                <param name="label" type="select" multiple="true" optional="true" label="label - OTU Labels">
                    <expand macro="labeloptions"/>
                </param>
            </when>
            <when value="list">
                <param name="otu" type="data" format="mothur.list" label="list - Otu dataset"/>
                <param name="group" type="data" optional="true" format="mothur.groups" label="group - Groups"/>
                <param name="count" type="data" format="count_table" optional="true" label="count - Count Table" help="If you clustered with a count file, can only supply one of group or count table, not both"/>
                <param name="groups" type="select" optional="true" label="groups - Pick groups to analyze" multiple="true">
                    <options>
                        <filter type="data_meta" ref="group" key="groups"/>
                    </options>
                </param>
                <param name="label" type="select" multiple="false" optional="true" label="label - OTU Labels">
                    <expand macro="labeloptions"/>
                </param>
            </when>
            <when value="default">
                <param name="otu" type="data" format="mothur.list,mothur.rabund,mothur.sabund" label="list,rabund,sabund - Otu dataset"/>
                <param name="label" type="select" multiple="true" optional="true" label="label - OTU Labels">
                    <expand macro="labeloptions"/>
                </param>
            </when>
        </conditional>
        <param name="nseqs" type="integer" value="1" min="0" label="nseqs - Number of sequences cutoff for an otu to be deemed rare"/>
    </inputs>
    <outputs>
        <data name="logfile" format="txt" label="${tool.name} on ${on_string}: logfile"/>
        <data name="pick_otu" format_source="otu" label="${tool.name} on ${on_string}: pick.${input.otu.ext}">
            <filter>input['source'] != 'shared'</filter>
        </data>
        <collection name="pick_shared" type="list" label="${tool.name} on ${on_string}: pick.shared per label">
            <filter>input['source'] == 'shared'</filter>
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.pick\.dat" format="mothur.shared"/>
        </collection>
        <data name="pick_group" format="mothur.groups" label="${tool.name} on ${on_string}: pick.groups">
            <filter>input['source'] == 'list'</filter>
        </data>
    </outputs>
    <tests>
        <test><!-- test with list -->
            <param name="source" value="list"/>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <output name="pick_otu" md5="4779791c9b0ef95a54083ee1a6ad6c8d" ftype="mothur.list"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with list and group file -->
            <param name="source" value="list"/>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <param name="groups" value="forest,pasture"/>
            <output name="pick_otu" md5="4779791c9b0ef95a54083ee1a6ad6c8d" ftype="mothur.list"/>
            <output name="pick_group" md5="9561ba470c769670ab6d92563a44027f" ftype="mothur.groups"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with shared file -->
            <param name="source" value="shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <output_collection name="pick_shared" count="36">
                <element name="0.38" md5="e58da633dd16f0cb6472d6c6b3318c9f" ftype="mothur.shared"/>
            </output_collection>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with shared file and label/group select -->
            <param name="source" value="shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <param name="bygroup" value="true"/>
            <param name="label" value="0.05,0.22,0.41"/>
            <param name="groups" value="forest,pasture"/>
            <output_collection name="pick_shared" count="3">
                <element name="0.22" md5="46d97e6f97e7909d72d09a1726655539" ftype="mothur.shared"/>
            </output_collection>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with rabund/sabund file -->
            <param name="source" value="default"/>
            <param name="otu" value="amazon.an.sabund" ftype="mothur.sabund"/>
            <output name="pick_otu" md5="ca842ed3ef543d3dd76fd9089cd87c46" ftype="mothur.sabund"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help>
<![CDATA[

@MOTHUR_OVERVIEW@

**Command Documenation**

The remove.rare_ command reads one of the following file types: list_, rabund_, sabund_ or shared_ file. It outputs a new file after removing the rare otus.

.. _list: http://www.mothur.org/wiki/List_file
.. _sabund: http://www.mothur.org/wiki/Sabund_file
.. _rabund: http://www.mothur.org/wiki/Rabund_file
.. _shared: http://www.mothur.org/wiki/Shared_file
.. _remove.rare: http://www.mothur.org/wiki/Remove.rare

]]>
    </help>
    <expand macro="citations"/>
</tool>