view split.abund.xml @ 10:ff3e693f8d4d draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 7599ef16dc8b83ee49236ed5bb229260c969b0ab
author iuc
date Mon, 17 Jun 2024 12:37:40 +0000
parents 407a5352f0ec
children
line wrap: on
line source

<tool profile="16.07" id="mothur_split_abund" name="Split.abund" version="@WRAPPER_VERSION@.0">
    <description>Separate sequences into rare and abundant groups</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="biotools"/>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
@SHELL_OPTIONS@

## create symlinks to input datasets
ln -s '$fasta' fasta.dat &&
ln -s '$search.input' search_input.dat &&
#if $split.dosplit == "yes":
    ln -s '$split.group' split_group.dat &&
#end if

echo 'split.abund(
    fasta=fasta.dat,
    #if $search.type == "list":
        list=search_input.dat,
        #if $search.label:
            label=${ str($search.label).replace(",","-") },
        #end if
    #elif $search.type == "name":
        name=search_input.dat,
    #else
        count=search_input.dat,
    #end if
    #if $split.dosplit == "yes":
        #if $split.group:
            group=split_group.dat,
        #end if
        #if $split.groups:
            groups=${ str($split.groups).replace(",","-") },
        #end if
    #end if
    accnos=$accnos,
    cutoff=$cutoff
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="fasta" type="data" format="fasta" label="fasta - Fasta"/>
        <param name="cutoff" type="integer" value="10" min="0" label="cutoff - Cutoff parameter is used to qualify what is abundant and rare."/>
        <conditional name="search">
            <param name="type" type="select" label="Type to screen" help="">
                <option value="list">OTU List</option>
                <option value="name">Name reference</option>
                <option value="count">Count file</option>
            </param>
            <when value="name">
                <param name="input" type="data" format="mothur.names" label="name - Name reference"/>
            </when>
            <when value="list">
                <param name="input" type="data" format="mothur.list" label="list - OTU List"/>
                <param name="label" type="select" label="label - OTU Labels" multiple="true" help="Select OTU Labels to filter out all but selected labels">
                    <options>
                        <filter type="data_meta" ref="input" key="labels"/>
                    </options>
                </param>
            </when>
            <when value="count">
                <param name="input" type="data" format="mothur.count_table" label="count - count_table file"/>
            </when>
        </conditional>
        <conditional name="split">
            <param name="dosplit" type="select" label="Parse a group file into abundant and rare groups? (only possible if name or list file supplied)" help="">
                <option value="no" selected="true">No</option>
                <option value="yes">Yes</option>
            </param>
            <when value="yes">
                <param name="group" type="data" format="mothur.groups" label="group - Group dataset"/>
                <param name="groups" type="select" multiple="true" label="groups - Group Selection">
                    <options>
                        <filter type="data_meta" ref="group" key="groups"/>
                    </options>
                </param>
            </when>
            <when value="no"/>
        </conditional>
        <param name="accnos" type="boolean" truevalue="true" falsevalue="false" checked="false" label="accnos - Produce rare and abundant Accession outputs"/>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="abund_fasta" format_source="fasta" from_work_dir="*abund.fasta" label="${tool.name} on ${on_string}: abund.fasta">
            <filter>search['type'] != 'list'</filter>
        </data>
        <data name="rare_fasta" format_source="fasta" from_work_dir="*rare.fasta" label="${tool.name} on ${on_string}: rare.fasta">
            <filter>search['type'] != 'list'</filter>
        </data>
        <data name="abund_groups" format="mothur.groups" label="${tool.name} on ${on_string}: abund.groups">
            <filter>search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </data>
        <data name="rare_groups" format="mothur.groups" label="${tool.name} on ${on_string}: rare.groups">
            <filter>search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </data>
        <data name="abund_names" format="mothur.names" from_work_dir="search_input*.abund.names" label="${tool.name} on ${on_string}: abund.names">
            <filter>search['type'] == 'name'</filter>
        </data>
        <data name="rare_names" format="mothur.names" from_work_dir="search_input*.rare.names" label="${tool.name} on ${on_string}: rare.fasta">
            <filter>search['type'] == 'name'</filter>
        </data>
        <data name="abund_count" format="mothur.count_table" from_work_dir="*.abund.count_table" label="${tool.name} on ${on_string}: abund.count_table">
            <filter>search['type'] == 'count'</filter>
        </data>
        <data name="rare_count" format="mothur.count_table" from_work_dir="*.rare.count_table" label="${tool.name} on ${on_string}: rare.count_table">
            <filter>search['type'] == 'count'</filter>
        </data>
        <data name="abund_accnos" format="mothur.accnos" from_work_dir="*abund.accnos" label="${tool.name} on ${on_string}: abund.accnos">
            <filter>search['type'] != 'list' and accnos</filter>
        </data>
        <data name="rare_accnos" format="mothur.accnos" from_work_dir="*rare.accnos" label="${tool.name} on ${on_string}: rare.accnos">
            <filter>search['type'] != 'list' and accnos</filter>
        </data>
        <collection name="abund_fasta_coll" type="list" label="${tool.name} on ${on_string}: abund.fasta">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.abund\.fasta" format="fasta"/>
            <filter>search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="rare_fasta_coll" type="list" label="${tool.name} on ${on_string}: rare.fasta">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.rare\.fasta" format="fasta"/>
            <filter>search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes')</filter>
        </collection>
        <collection name="abund_list_coll" type="list" label="${tool.name} on ${on_string}: abund.list">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.abund\.list" format="mothur.list"/>
            <filter>search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="rare_list_coll" type="list" label="${tool.name} on ${on_string}: rare.list">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.rare\.list" format="mothur.list"/>
            <filter>search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="abund_accnos_coll" type="list" label="${tool.name} on ${on_string}: abund.accnos">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.abund\.accnos" format="mothur.accnos"/>
            <filter>(search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes')) and accnos</filter>
        </collection>
        <collection name="rare_accnos_coll" type="list" label="${tool.name} on ${on_string}: rare.accnos">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.rare\.accnos" format="mothur.accnos"/>
            <filter>(search['type'] == 'list' or (search['type'] == 'name' and split['dosplit'] == 'yes')) and accnos</filter>
        </collection>
        <collection name="abund_groups_coll" type="list" label="${tool.name} on ${on_string}: abund.groups">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.abund\.groups" format="mothur.groups"/>
            <filter>search['type'] != 'count' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="rare_groups_coll" type="list" label="${tool.name} on ${on_string}: rare.groups">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.rare\.groups" format="mothur.groups"/>
            <filter>search['type'] != 'count' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="abund_names_coll" type="list" label="${tool.name} on ${on_string}: abund.names">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.abund\.names" format="mothur.names"/>
            <filter>search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </collection>
        <collection name="rare_names_coll" type="list" label="${tool.name} on ${on_string}: rare.names">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.rare\.names" format="mothur.names"/>
            <filter>search['type'] == 'name' and split['dosplit'] == 'yes'</filter>
        </collection>
    </outputs>
    <tests>
        <test><!-- test with count table -->
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <param name="type" value="count"/>
            <param name="input" value="amazon.count_table" ftype="mothur.count_table"/>
            <param name="cutoff" value="1"/>
            <param name="accnos" value="true"/>
            <output name="abund_fasta" md5="3c147ce7224bc8c8602d2ccfe4b6eae7" ftype="fasta"/>
            <output name="rare_fasta" md5="bff57d4585fe4e6d8b86c949f3e17e1a" ftype="fasta"/>
            <output name="abund_count" md5="288e5222f3d454b67761fca3c8c944b1" ftype="mothur.count_table"/>
            <output name="rare_count" md5="dc7be856861ef53faa73a5312b0661c3" ftype="mothur.count_table"/>
            <output name="abund_accnos" md5="47c918c965d41fea12bad748afe60833" ftype="mothur.accnos"/>
            <output name="rare_accnos" md5="3537f34f96d276e72e03f6d6a4994fd9" ftype="mothur.accnos"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with name file and accnos output -->
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <param name="type" value="name"/>
            <param name="input" value="amazon.names" ftype="mothur.names"/>
            <param name="cutoff" value="1"/>
            <param name="accnos" value="true"/>
            <output name="abund_fasta" md5="3c147ce7224bc8c8602d2ccfe4b6eae7" ftype="fasta"/>
            <output name="rare_fasta" md5="bff57d4585fe4e6d8b86c949f3e17e1a" ftype="fasta"/>
            <output name="abund_names" md5="41560e422d53c83cb482ef868409136c" ftype="mothur.names"/>
            <output name="rare_names" md5="12527477b2c1891c9278f417a5ece45d" ftype="mothur.names"/>
            <output name="abund_accnos" md5="47c918c965d41fea12bad748afe60833" ftype="mothur.accnos"/>
            <output name="rare_accnos" md5="3537f34f96d276e72e03f6d6a4994fd9" ftype="mothur.accnos"/>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with name file and accnos output with groups-->
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <param name="type" value="name"/>
            <param name="input" value="amazon.names" ftype="mothur.names"/>
            <param name="cutoff" value="1"/>
            <param name="accnos" value="true"/>
            <param name="dosplit" value="yes"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <param name="groups" value="forest,pasture"/>
            <output_collection name="abund_fasta_coll" count="2">
                <element name="forest" md5="8d90da3c099450e31de006548e8f458c" ftype="fasta"/>
            </output_collection>
            <output_collection name="rare_fasta_coll" count="2">
                <element name="forest" md5="4459f7ee4c46ccf0ce33f5694ac1ca49" ftype="fasta"/>
            </output_collection>
            <output_collection name="abund_names_coll" count="2">
                <element name="pasture" md5="d45b69987a0294c87fab358bbb71cd29" ftype="mothur.names"/>
            </output_collection>
            <output_collection name="rare_names_coll" count="2">
                <element name="pasture" md5="fc5d939ceca270be00b39d5323c1a79f" ftype="mothur.names"/>
            </output_collection>
            <output_collection name="abund_accnos_coll" count="2">
                <element name="forest" md5="597a2cc6d2da897434ec9d2c11489d0a" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="rare_accnos_coll" count="2">
                <element name="forest" md5="20f8e54d68bf225f405258942e0cb5ac" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="abund_groups_coll" count="2">
                <element name="pasture" md5="46ac8394df6b3376b41619b07720ee18" ftype="mothur.groups"/>
            </output_collection>
            <output_collection name="rare_groups_coll" count="2">
                <element name="pasture" md5="5907bd7fe874a29fcc57930ecb0f65d1" ftype="mothur.groups"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with list -->
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <param name="type" value="list"/>
            <param name="input" value="amazon.an.list" ftype="mothur.list"/>
            <param name="cutoff" value="2"/>
            <param name="accnos" value="true"/>
            <param name="dosplit" value="yes"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <param name="groups" value="forest,pasture"/>
            <output_collection name="abund_fasta_coll" count="72">
                <element name="0.05.forest" md5="1860c0cf143a2b7adc93c88418ed3559" ftype="fasta"/>
            </output_collection>
            <output_collection name="rare_fasta_coll" count="72">
                <element name="0.05.pasture" md5="7c9ca6c2f3e2eb5c3d38c30963b3d976" ftype="fasta"/>
            </output_collection>
            <output_collection name="abund_list_coll" count="72">
                <element name="forest.0.05" md5="8a0843911399171a73afbc0374065fd0" ftype="mothur.list"/>
            </output_collection>
            <output_collection name="rare_list_coll" count="72">
                <element name="pasture.0.05" md5="b7dc64a835d318852dbadc0c3379d0bb" ftype="mothur.list"/>
            </output_collection>
            <output_collection name="abund_accnos_coll" count="72">
                <element name="0.05.forest" md5="e9f9b640ca00c11cba5420069c916b12" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="rare_accnos_coll" count="72">
                <element name="0.05.pasture" md5="e866c488171950bb38e7ba4c8f2982c1" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="abund_groups_coll" count="72">
                <element name="0.05.forest" md5="fd404451b15195cadb637751a463a077" ftype="mothur.groups"/>
            </output_collection>
            <output_collection name="rare_groups_coll" count="72">
                <element name="0.05.pasture" md5="ddcf8bc26a0815fd366deceec64133ee" ftype="mothur.groups"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with list and label and group select-->
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <param name="type" value="list"/>
            <param name="input" value="amazon.an.list" ftype="mothur.list"/>
            <param name="cutoff" value="2"/>
            <param name="label" value="0.05,0.22"/>
            <param name="accnos" value="true"/>
            <param name="dosplit" value="yes"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <param name="groups" value="forest,pasture"/>
            <output_collection name="abund_fasta_coll" count="4">
                <element name="0.05.pasture" md5="51327cbf0c66c9c3074ca3456b021ead" ftype="fasta"/>
            </output_collection>
            <output_collection name="rare_fasta_coll" count="4">
                <element name="0.05.pasture" md5="7c9ca6c2f3e2eb5c3d38c30963b3d976" ftype="fasta"/>
            </output_collection>
            <output_collection name="abund_list_coll" count="4">
                <element name="forest.0.05" md5="8a0843911399171a73afbc0374065fd0" ftype="mothur.list"/>
            </output_collection>
            <output_collection name="rare_list_coll" count="4">
                <element name="forest.0.05" md5="f79b02e37dbd7a7f76a60c269571396f" ftype="mothur.list"/>
            </output_collection>
            <output_collection name="abund_accnos_coll" count="4">
                <element name="0.05.pasture" md5="3a875836ffebfeb037cd761ea1d0607e" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="rare_accnos_coll" count="4">
                <element name="0.05.pasture" md5="e866c488171950bb38e7ba4c8f2982c1" ftype="mothur.accnos"/>
            </output_collection>
            <output_collection name="abund_groups_coll" count="4">
                <element name="0.05.forest" md5="fd404451b15195cadb637751a463a077" ftype="mothur.groups"/>
            </output_collection>
            <output_collection name="rare_groups_coll" count="4">
                <element name="0.05.forest" md5="53a2f24a4d69f92661b94bc4b813ce69" ftype="mothur.groups"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The split.abund_ command reads a fasta file and a list_ or a name_ file and splits the sequences into rare and abundant groups.

.. _list: https://www.mothur.org/wiki/List_file
.. _name: https://www.mothur.org/wiki/Name_file
.. _split.abund: https://www.mothur.org/wiki/Split.abund

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