view get.sharedseqs.xml @ 2:d5b97213e4ba draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit 3418f23b9768f5aafb86488f5ec1cb97530d4fb3
author iuc
date Tue, 20 Mar 2018 22:23:51 -0400
parents 1d496917a707
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="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>