view unifrac.unweighted.xml @ 0:ca0099aa9a0c draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit a9d1e0debcd357d8080a1c6c5f1d206dd45a7a4d
author iuc
date Fri, 19 May 2017 05:31:39 -0400
parents
children c26d24a77e85
line wrap: on
line source

<tool profile="16.07" id="mothur_unifrac_unweighted" name="unifrac.unweighted" version="@WRAPPER_VERSION@.0">
    <description>Describes whether two or more communities have the same structure</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 "$tree" tree.dat &&
        ln -s "$group" group.dat &&
        ln -s "$name" name.dat &&
        ln -s "$count" count.dat &&

        echo 'unifrac.unweighted(
            tree=tree.dat,
            #if $group:
                group=group.dat,
                #if $groups:
                    groups=${ str($groups).replace(",","-") },
                #end if
            #end if
            #if $name:
                name=name.dat,
            #end if
            iters=$iters,
            #if $subsampling.use == "yes":
                #if $subsampling.subsample:
                    subsample=$subsampling.subsample,
                #else
                    subsample=T,
                #end if
                consensus=$subsampling.consensus,
            #else
                random=$random,
            #end if
            #if $distance:
                distance=$distance,
            #end if
            #if $count:
                count=count.dat,
            #end if
            root=$root,
            processors='\${GALAXY_SLOTS:-1}'
        )'
        | sed 's/ //g'  ## mothur trips over whitespace
        | mothur
        | tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="tree" type="data" format="mothur.tre" label="tree - Tree"/>
        <param name="group" type="data" format="mothur.groups" optional="true" label="group - Group file for the tree"/>
        <param name="groups" type="select" optional="true" multiple="true" label="groups - Select groups for pairwise comparisons">
            <options>
                <filter type="data_meta" ref="group" key="groups"/>
            </options>
        </param>
        <param name="name" type="data" format="mothur.names" optional="true" label="name - Names file for the tree"/>
        <param name="iters" type="integer" value="1000" min="0" label="iters - Number of iterations to try (default 1000)"/>
        <param name="random" type="boolean" truevalue="true" falsevalue="false" checked="false" label="random - Compare your trees with randomly generated trees" help="unused if subsample=True"/>
        <conditional name="subsampling">
            <param name="use" type="select" label="use subsampling of groups?" help="(instead of randomly generated comparisons)">
                <option value="no" selected="true">no</option>
                <option value="yes">yes</option>
            </param>
            <when value="yes">
                <param name="subsample" type="integer" value="" min="1" optional="true" label="subsample - (defaults to the size of the smallest group)" help="the size per group of the sample"/>
                <param name="consensus" type="boolean" truevalue="true" falsevalue="false" checked="false" label="consensus - " help="The consensus parameter allows you to indicate you would like trees built from distance matrices created with the results of the subsampling, as well as a consensus tree built from these trees. Default=F"/>
            </when>
            <when value="no"/>
        </conditional>
        <param name="distance" type="select" label="distance - Create a distance matrix for your history">
            <option value="lt" selected="true">Phylip Lower Triangle Matrix</option>
            <option value="square">Phylip Square Matrix</option>
            <option value="column">Pairwise Distance Matrix</option>
        </param>
        <param name="root" type="boolean" truevalue="true" falsevalue="false" checked="false" label="root - the entire root in your calculations"/>
        <param name="count" type="data" format="mothur.count_table" optional="true" label="count - a count_table" help="generated by count.seqs"/>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="summary" format="tabular" from_work_dir="tree*.uwsummary" label="${tool.name} on ${on_string}: summary"/>
        <data name="dist" format="mothur.lower.dist" from_work_dir="tree.dat*.dist " label="${tool.name} on ${on_string}: dist">
            <change_format>
                <when input="distance" value="square" format="mothur.square.dist"/>
                <when input="distance" value="column" format="mothur.pair.dist"/>
            </change_format>
        </data>
        <data name="unweighted" format="tabular" from_work_dir="tree*.unweighted" label="${tool.name} on ${on_string}: unweighted">
            <filter>(random and subsampling['use'] == 'no')</filter>
        </data>
        <data name="ave_dist" format="mothur.lower.dist" from_work_dir="tree*.ave.dist" label="${tool.name} on ${on_string}: ave.dist">
            <filter>subsampling['use'] == 'yes'</filter>
            <change_format>
                <when input="distance" value="square" format="mothur.square.dist"/>
                <when input="distance" value="column" format="mothur.pair.dist"/>
            </change_format>
        </data>
        <data name="std_dist" format="mothur.lower.dist" from_work_dir="tree*.std.dist" label="${tool.name} on ${on_string}: std.dist">
            <filter>subsampling['use'] == 'yes'</filter>
            <change_format>
                <when input="distance" value="square" format="mothur.square.dist"/>
                <when input="distance" value="column" format="mothur.pair.dist"/>
            </change_format>
        </data>
        <data name="all_tree" format="mothur.tre" from_work_dir="tree*.all.tre" label="${tool.name} on ${on_string}: all.tre">
            <filter>(subsampling['use'] == 'yes' and subsampling['consensus'])</filter>
        </data>
        <data name="cons_tree" format="mothur.tre" from_work_dir="tree*.cons.tre" label="${tool.name} on ${on_string}: cons.tre">
            <filter>(subsampling['use'] == 'yes' and subsampling['consensus'])</filter>
        </data>
    </outputs>
    <tests>
        <test><!-- test with defaults -->
            <param name="tree" value="abrecovery.tre" ftype="mothur.tre"/>
            <output name="summary" md5="33917fcb36e815ed8924f2ea2729bdc1" ftype="tabular"/>
            <output name="dist" md5="ce65f7d1d2aeb492d8a5373ca18ed5b0" ftype="mothur.lower.dist"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with random and no subsampling -->
            <param name="tree" value="abrecovery.tre" ftype="mothur.tre"/>
            <param name="random" value="true"/>
            <output name="summary" md5="6aff35274802c4727cbbbc084b7d2dca" ftype="tabular"/>
            <output name="unweighted" md5="9f52d2bd4c5de4c459ae314b6ed83b7a" ftype="tabular"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with group file and group select -->
            <param name="tree" value="abrecovery.tre" ftype="mothur.tre"/>
            <param name="group" value="abrecovery.groups" ftype="mothur.groups"/>
            <param name="groups" value="A,B"/>
            <param name="distance" value="square"/>
            <output name="summary" md5="a4a0a2faf75cb15bdb049c368dcbe73a" ftype="tabular"/>
            <output name="dist" md5="d215db402049db87cac629470301d5c6" ftype="mothur.square.dist"/>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with subsample and consensus -->
            <param name="tree" value="abrecovery.tre" ftype="mothur.tre"/>
            <param name="group" value="abrecovery.groups" ftype="mothur.groups"/>
            <param name="groups" value="A,B,C"/>
            <param name="use" value="yes"/>
            <param name="subsample" value="10"/>
            <param name="distance" value="column"/>
            <param name="consensus" value="true"/>
            <output name="summary" md5="5f674c72ff8fe7daf152a78daf8acb5f" ftype="tabular"/>
            <output name="dist" md5="fd64f6cfd978bb2dde394b7ac2eaead3" ftype="mothur.pair.dist"/>
            <output name="ave_dist" ftype="mothur.pair.dist">
                <assert_contents>
                    <has_text text="A"/>
                    <has_text text="B"/>
                    <has_text text="C"/>
                </assert_contents>
            </output>
            <output name="std_dist" ftype="mothur.pair.dist">
                <assert_contents>
                    <has_text text="A"/>
                    <has_text text="B"/>
                    <has_text text="C"/>
                </assert_contents>
            </output>
            <output name="all_tree" ftype="mothur.tre">
                <assert_contents>
                    <has_text text="A"/>
                    <has_text text="B"/>
                    <has_text text="C"/>
                </assert_contents>
            </output>
            <output name="cons_tree" ftype="mothur.tre">
                <assert_contents>
                    <has_text text="A"/>
                    <has_text text="B"/>
                    <has_text text="C"/>
                </assert_contents>
            </output>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help>
<![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The unifrac.unweighted_ command the unweighted UniFrac algorithm. The unifrac.weighted command implements the weighted version of the command. Both of these methods are available through the UniFrac website. The UniFrac methods are generic tests that describes whether two or more communities have the same structure. The significance of the test statistic can only indicate the probability that the communities have the same structure by chance. The value does not indicate a level of similarity.

.. _unifrac.unweighted: https://www.mothur.org/wiki/Unifrac.unweighted

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