view get.sharedseqs.xml @ 10:ea2e9c5e62b9 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:00:29 +0000
parents d5b97213e4ba
children
line wrap: on
line source

<tool profile="16.07" id="mothur_get_sharedseqs" name="Get.sharedseqs" version="@WRAPPER_VERSION@.0">
    <description>Get shared sequences at each distance from list and group</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 '$infile.otu' infile_otu.dat &&
#if $infile.intype == "in_listgroup":
    ln -s '$infile.group' infile.group.dat &&
    ln -s '$infile.fasta' infile_fasta.dat &&
    ln -s '$count_in' count_in.dat &&
#end if

echo 'get.sharedseqs(
    #if $infile.intype == "in_listgroup":
        list=infile_otu.dat

        #if $group:
            ,group=infile.group.dat
        #elif $count_in:
            ,count=count_in.dat
        #end if

        #if $infile.fasta:
            ,fasta=infile_fasta.dat
        #end if
    #else
        shared=infile_otu.dat
    #end if
    #if $infile.label:
        ,label=${ str($infile.label).replace(",","-") }
    #end if
    #if $infile.seqsfrom.selection == "unique" and $infile.seqsfrom.groups:
        ,uniquegroups=${ str($infile.seqsfrom.groups).replace(",","-") }
    #end if
    #if $infile.seqsfrom.selection == "shared" and $infile.seqsfrom.groups:
        ,sharedgroups=${ str($infile.seqsfrom.groups).replace(",","-") }
    #end if
    #if $output:
        ,output=$output
    #end if
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
    ]]></command>
    <inputs>
        <conditional name="infile">
            <param name="intype" type="select" label="Will you be supplying a shared file or a list and group file?" help="">
                <option value="in_shared">Shared file</option>
                <option value="in_listgroup">OTU list and group file</option>
            </param>
            <when value="in_shared">
                <param name="otu" type="data" format="mothur.shared" label="list - OTU List or shared file"/>
                <param name="label" type="select" optional="true" label="label - Select OTU Labels to include" multiple="true" help="By default all are included if no selection is made.">
                    <options>
                        <filter type="data_meta" ref="otu" key="labels"/>
                    </options>
                </param>
                <conditional name="seqsfrom">
                    <param name="selection" type="select" label="Select Groups" help="">
                        <option value="all" selected="true">None (use all groups)</option>
                        <option value="unique">OTUs that contain ONLY sequences from the selected groups</option>
                        <option value="shared">OTUs that contain sequences from the selected groups</option>
                    </param>
                    <when value="unique">
                        <param name="groups" type="select" multiple="true" label="unique - Group to analyze">
                            <options>
                                <filter type="data_meta" ref="otu" key="groups"/>
                            </options>
                        </param>
                    </when>
                    <when value="shared">
                        <param name="groups" type="select" multiple="true" label="shared - Groups to analyze">
                            <options>
                                <filter type="data_meta" ref="otu" key="groups"/>
                            </options>
                        </param>
                    </when>
                    <when value="all"/>
                </conditional>
            </when>
            <when value="in_listgroup">
                <param name="otu" type="data" format="mothur.list" label="list - OTU List or shared file"/>
                <param name="label" type="select" optional="true"  multiple="true" label="label - Select OTU Labels to include"
                    help="By default all are included if no selection is made">
                    <options>
                        <filter type="data_meta" ref="otu" key="labels"/>
                    </options>
                </param>
                <param name="group" type="data" format="mothur.groups" optional="true" label="group - not required if using a shared file"/>
                <param name="count_in" type="data" format="mothur.count_table" optional="true" label="count - a count_table" help="generated by count.seqs"/>
                <param name="fasta" type="data" format="fasta" optional="true" label="fasta - Dataset"
                    help="will output a fasta file for each distance level containing only the sequences that are in OTUs shared by the groups specified"/>
                <conditional name="seqsfrom">
                    <param name="selection" type="select" label="Select Groups" help="">
                        <option value="all" selected="true">None (use all groups)</option>
                        <option value="unique">OTUs that contain ONLY sequences from the selected groups</option>
                        <option value="shared">OTUs that contain sequences from the selected groups</option>
                    </param>
                    <when value="unique">
                        <param name="groups" type="select" multiple="true" label="unique - Group to analyze">
                            <options>
                                <filter type="data_meta" ref="group" key="groups"/>
                            </options>
                        </param>
                    </when>
                    <when value="shared">
                        <param name="groups" type="select" multiple="true" label="shared - Groups to analyze">
                            <options>
                                <filter type="data_meta" ref="group" key="groups"/>
                            </options>
                        </param>
                    </when>
                    <when value="all"/>
                </conditional>
            </when>
        </conditional>
        <param name="output" type="select" label="output - select the output format" help="accnos can be used with get.seqs, list.seqs and remove.seqs">
            <option value="" selected="true">default: (name group bin_number)</option>
            <option value="accnos">accnos (name)</option>
        </param>
        <expand macro="param-savelog"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <collection name="sharedseqs" type="list" label="${tool.name} on ${on_string}: shared.seqs">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.shared\.seqs" format="tabular"/>
            <filter>output != 'accnos'</filter>
        </collection>
        <collection name="sharedaccnos" type="list" label="${tool.name} on ${on_string}: shared.accnos">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.accnos" format="mothur.accnos"/>
            <filter>output == 'accnos'</filter>
        </collection>
        <collection name="sharedfastas" type="list" label="${tool.name} on ${on_string}: shared.fastas">
            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.shared\.fasta" format="fasta"/>
            <filter>infile['fasta']</filter>
        </collection>
    </outputs>
    <tests>
        <test><!-- test with shared file -->
            <param name="intype" value="in_shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <param name="selection" value="shared"/>
            <output_collection name="sharedseqs" count="35">
                <element name="0.41.unique.forest_pasture" md5="e07fe8acfa12d6f61a9efee88d91be54" ftype="tabular"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with list and group file -->
            <param name="intype" value="in_listgroup"/>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <output_collection name="sharedseqs" count="35">
                <element name="0.41.unique.forest_pasture" md5="ceb32c3dc2c99055efdaa6ef6aaed7f0" ftype="tabular"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with shared seqs and subset of labels -->
            <param name="intype" value="in_shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <param name="selection" value="shared"/>
            <param name="groups" value="forest,pasture"/>
            <param name="label" value="0.03,0.33,0.41"/>
            <output_collection name="sharedseqs" count="3">
                <element name="0.41.forest_pasture" md5="e07fe8acfa12d6f61a9efee88d91be54" ftype="tabular"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with unique seqs and subset of groups -->
            <param name="intype" value="in_shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <param name="selection" value="unique"/>
            <param name="groups" value="pasture"/>
            <output_collection name="sharedseqs" count="34">
                <element name="0.41.unique.pasture" md5="f4735f56d96d13cd603ca0b11c4bc231" ftype="tabular"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with accnos output -->
            <param name="intype" value="in_shared"/>
            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
            <param name="output" value="accnos"/>
            <output_collection name="sharedaccnos" count="35">
                <element name="0.41.unique.forest_pasture" md5="0e0dcf8a91c03e1cc6adbf2593addf20" ftype="mothur.accnos"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with fasta input and output -->
            <param name="intype" value="in_listgroup"/>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <param name="group" value="amazon.groups" ftype="mothur.groups"/>
            <param name="fasta" value="amazon.fasta" ftype="fasta"/>
            <output_collection name="sharedseqs" count="35">
                <element name="0.41.unique.forest_pasture" md5="ceb32c3dc2c99055efdaa6ef6aaed7f0" ftype="tabular"/>
            </output_collection>
            <output_collection name="sharedfastas" count="35">
                <element name="0.41.unique.forest_pasture" md5="fd4265d7c139d2d3acf8e19e6337ee28" ftype="fasta"/>
            </output_collection>
            <param name="savelog" value="true"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The get.sharedseqs_ command takes a list and group file and outputs a .shared.seqs file for each distance. This is useful for those cases where you might be interested in identifying sequences that are either unique or shared by specific groups, which you could then classify.

.. _get.sharedseqs: https://www.mothur.org/wiki/Get.sharedseqs

v1.21.0: Updated to Mothur 1.33, added shared file option

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