diff sub.sample.xml @ 0:be6c106b1960 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:55:16 -0400
parents
children 46d13e8c60ba
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sub.sample.xml	Fri May 19 05:55:16 2017 -0400
@@ -0,0 +1,306 @@
+<tool profile="16.07" id="mothur_sub_sample" name="Sub.sample" version="@WRAPPER_VERSION@.0">
+    <description>Create a sub sample</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 "$input.otu" input_otu.dat &&
+        ln -s "$count" count.dat &&
+        ln -s "$taxonomy" taxonomy.dat &&
+        #if $input.format == "fasta":
+            ln -s "$input.name_in" input_name_in.dat &&
+        #end if
+        #if ($input.format == "fasta" or $input.format == "list") and $input.use_group.to_filter == "yes":
+            ln -s "$input.use_group.group_in" input_use_group_group_in.dat &&
+        #end if
+
+        echo 'sub.sample(
+            #if $input.format == "fasta":
+                fasta=input_otu.dat
+                #if $input.name_in:
+                    ,name=input_name_in.dat
+                #end if
+            #else
+                #if $input.format == "list":
+                    list=input_otu.dat
+                #elif $input.format == "sabund":
+                    sabund=input_otu.dat
+                #elif $input.format == "rabund":
+                    rabund=input_otu.dat
+                #elif $input.format == "shared":
+                    shared=input_otu.dat
+                    #if $input.groups:
+                        ,groups=${ str($input.groups).replace(",","-") }
+                    #end if
+                #end if
+                #if $input.label:
+                    ,label=${ str($input.label).replace(",","-") }
+                #end if
+            #end if
+            #if $input.format == "fasta" or $input.format == "list":
+                #if $input.use_group.to_filter == "yes":
+                    ,group=input_use_group_group_in.dat
+                    #if $input.use_group.groups:
+                        ,groups=${ str($input.use_group.groups).replace(",","-") }
+                    #end if
+                    ,persample=$input.use_group.persample
+                #end if
+            #end if
+            #if $count:
+                ,count=count.dat
+            #end if
+            #if $taxonomy:
+                ,taxonomy=taxonomy.dat
+            #end if
+            #if $size:
+                ,size=$size
+            #end if
+        )'
+        | sed 's/ //g'  ## mothur trips over whitespace
+        | mothur
+        | tee mothur.out.log
+    ]]></command>
+    <inputs>
+        <conditional name="input">
+            <param name="format" type="select" label="Select type of data to sub sample">
+                <option value="fasta">FASTA</option>
+                <option value="list">OTU List</option>
+                <option value="shared">OTU Shared</option>
+                <option value="sabund">OTU Shared Abundance (sabund)</option>
+                <option value="rabund">OTU Relative Abundance (rabund)</option>
+            </param>
+            <when value="fasta">
+                <param name="otu" type="data" format="fasta" label="fasta - "/>
+                <param name="name_in" type="data" format="mothur.names" optional="true" label="name - Group Names from your history"/>
+                <conditional name="use_group">
+                    <param name="to_filter" type="select" label="Use groups?">
+                        <option value="no">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="no"/>
+                    <when value="yes">
+                        <param name="group_in" type="data" format="mothur.groups" label="group - Groups"/>
+                        <param name="groups" type="select" optional="true" label="groups - Pick groups to include" multiple="true">
+                            <options>
+                                <filter type="data_meta" ref="group_in" key="groups"/>
+                            </options>
+                        </param>
+                        <param name="persample" type="boolean" truevalue="true" falsevalue="false" checked="false" label="persample - select subsample of the same size from each of the groups"/>
+                    </when>
+                </conditional>
+            </when>
+            <when value="list">
+                <param name="otu" type="data" format="mothur.list" label="list - OTU List"/>
+                <conditional name="use_group">
+                    <param name="to_filter" type="select" label="Use groups">
+                        <option value="no">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="no"/>
+                    <when value="yes">
+                        <param name="group_in" type="data" format="mothur.groups" label="group - Groups"/>
+                        <param name="groups" type="select" optional="true" label="groups - Pick groups to include" multiple="true">
+                            <options>
+                                <filter type="data_meta" ref="group_in" key="groups"/>
+                            </options>
+                        </param>
+                        <param name="persample" type="boolean" truevalue="true" falsevalue="false" checked="false" label="persample - select subsample of the same size from each of the groups"/>
+                    </when>
+                </conditional>
+                <param name="label" type="select" label="label - OTU Labels" optional="true" multiple="true">
+                    <expand macro="labeloptions"/>
+                </param>
+            </when>
+            <when value="shared">
+                <param name="otu" type="data" format="mothur.shared" label="shared - OTU Shared"/>
+                <param name="groups" type="select" optional="true" label="groups - Pick groups to include" multiple="true">
+                    <options>
+                        <filter type="data_meta" ref="otu" key="groups"/>
+                    </options>
+                </param>
+                <param name="label" type="select" label="label - OTU Labels" optional="true" multiple="true">
+                    <expand macro="labeloptions"/>
+                </param>
+            </when>
+            <when value="sabund">
+                <param name="otu" type="data" format="mothur.sabund" label="sabund - OTU Species Abundance"/>
+                <param name="label" type="select" label="label - OTU Labels" optional="true" multiple="true">
+                    <expand macro="labeloptions"/>
+                </param>
+            </when>
+            <when value="rabund">
+                <param name="otu" type="data" format="mothur.rabund" label="rabund - OTU Relative Abundance"/>
+                <param name="label" type="select" label="label - OTU Labels" optional="true" multiple="true">
+                    <expand macro="labeloptions"/>
+                </param>
+            </when>
+        </conditional>
+        <param name="size" type="integer" value="" min="1" optional="true" label="size - If set, the number of samples to pick"/>
+        <param name="count" type="data" format="mothur.count_table" optional="true" label="count - a count_table" help="generated by count.seqs"/>
+        <param name="taxonomy" type="data" format="mothur.seq.taxonomy,mothur.ref.taxonomy" optional="true" label="taxonomy - allows a taxonomy file"/>
+    </inputs>
+    <outputs>
+        <expand macro="logfile-output"/>
+        <data name="fasta_out" format_source="otu" from_work_dir="input_otu*.subsample.*" label="${tool.name} on ${on_string}: subsample.fasta">
+            <filter>input['format'] == 'fasta'</filter>
+        </data>
+        <data name="taxonomy_out" format_source="taxonomy" from_work_dir="taxonomy.subsample.dat" label="${tool.name} on ${on_string}: subsample.taxonomy">
+            <filter>taxonomy</filter>
+        </data>
+        <collection name="list_out" type="list" label="${tool.name} on ${on_string}: subsample.list">
+            <filter>input['format'] == 'list'</filter>
+            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.subsample\.dat" format="mothur.list"/>
+        </collection>
+        <collection name="shared_out" type="list" label="${tool.name} on ${on_string}: subsample.shared">
+            <filter>input['format'] == 'shared'</filter>
+            <discover_datasets pattern=".*?\.(?P&lt;designation&gt;.*)\.subsample\.dat" format="mothur.shared"/>
+        </collection>
+        <data name="sabund_out" format="mothur.sabund" from_work_dir="input_otu*.subsample.*" label="${tool.name} on ${on_string}: subsample.sabund">
+            <filter>input['format'] == 'sabund'</filter>
+        </data>
+        <data name="rabund_out" format="mothur.rabund" from_work_dir="input_otu*.subsample.*" label="${tool.name} on ${on_string}: subsample.rabund">
+            <filter>input['format'] == 'rabund'</filter>
+        </data>
+        <data name="names_out" format="mothur.names" from_work_dir="input_name_in*.subsample.*" label="${tool.name} on ${on_string}: subsample.names">
+            <filter>input['format'] == 'fasta' and input['name_in']</filter>
+        </data>
+        <data name="group_out" format="mothur.groups" from_work_dir="input_use_group_group_in*.subsample.*" label="${tool.name} on ${on_string}: subsample.groups">
+            <filter>(input['format'] == 'fasta' or input['format'] == 'list') and input['use_group']['to_filter'] == 'yes'</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test><!-- test with list -->
+            <param name="format" value="list"/>
+            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
+            <output_collection name="list_out" count="36">
+                <element name="0.20" ftype="mothur.list">
+                    <assert_contents>
+                       <has_text text="label"/>
+                       <has_text text="numOtus"/>
+                   </assert_contents>
+                </element>
+            </output_collection>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with list and group file and label select-->
+            <param name="format" value="list"/>
+            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
+            <param name="to_filter" value="yes"/>
+            <param name="group_in" value="amazon.groups" ftype="mothur.groups"/>
+            <param name="groups" value="forest,pasture"/>
+            <param name="label" value="0.20,0.45,0.55"/>
+            <output_collection name="list_out" count="3">
+                <element name="0.20" ftype="mothur.list">
+                    <assert_contents>
+                        <has_text text="label"/>
+                        <has_text text="numOtus"/>
+                   </assert_contents>
+                </element>
+            </output_collection>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with fasta and taxonomy -->
+            <param name="format" value="fasta"/>
+            <param name="otu" value="amazon.fasta" ftype="fasta"/>
+            <param name="taxonomy" value="amazon.wang.wang.taxonomy" ftype="mothur.seq.taxonomy"/>
+            <output name="fasta_out" ftype="fasta">
+                <assert_contents>
+                    <has_text text=">U"/>
+                </assert_contents>
+            </output>
+            <output name="taxonomy_out" ftype="mothur.seq.taxonomy">
+                <assert_contents>
+                    <has_line_matching expression="^U[0-9]+\tBacteria.*$"/>
+                </assert_contents>
+            </output>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with fasta and group file and name file -->
+            <param name="format" value="fasta"/>
+            <param name="otu" value="amazon.fasta" ftype="fasta"/>
+            <param name="to_filter" value="yes"/>
+            <param name="group_in" value="amazon.groups" ftype="mothur.groups"/>
+            <param name="groups" value="forest,pasture"/>
+            <param name="name_in" value="amazon1.names" ftype="mothur.names"/>
+            <output name="fasta_out" ftype="fasta">
+                <assert_contents>
+                    <has_text_matching expression=">U[0-9]+"/>
+                </assert_contents>
+            </output>
+            <output name="group_out" ftype="mothur.groups">
+                <assert_contents>
+                    <has_line_matching expression="^U[0-9]+\t(forest|pasture)$"/>
+                </assert_contents>
+            </output>
+            <output name="names_out" ftype="mothur.names">
+                <assert_contents>
+                    <has_line_matching expression="^U[0-9]+\tU[0-9]+$"/>
+                </assert_contents>
+            </output>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with shared -->
+            <param name="format" value="shared"/>
+            <param name="otu" value="amazon.an.shared" ftype="mothur.shared"/>
+            <param name="label" value="unique,0.20"/>
+            <param name="groups" value="forest"/>
+            <output_collection name="shared_out" count="2">
+                <element name="0.20" ftype="mothur.shared">
+                    <assert_contents>
+                        <has_text text="label"/>
+                        <has_text text="numOtus"/>
+                        <has_text text="forest"/>
+                        <not_has_text text="pasture"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with rabund -->
+            <param name="format" value="rabund"/>
+            <param name="otu" value="amazon.an.rabund" ftype="mothur.rabund"/>
+            <output name="rabund_out" ftype="mothur.rabund">
+                <assert_contents>
+                    <has_text text="unique"/>
+                    <has_text text="0.55"/>
+                </assert_contents>
+            </output>
+            <expand macro="logfile-test"/>
+        </test>
+        <test><!-- test with sabund -->
+            <param name="format" value="sabund"/>
+            <param name="otu" value="amazon.an.sabund" ftype="mothur.sabund"/>
+            <output name="sabund_out" ftype="mothur.sabund">
+                <assert_contents>
+                    <has_text text="unique"/>
+                    <has_text text="0.55"/>
+                </assert_contents>
+            </output>
+            <expand macro="logfile-test"/>
+        </test>
+    </tests>
+    <help>
+<![CDATA[
+
+@MOTHUR_OVERVIEW@
+
+**Command Documentation**
+
+The sub.sample_ command can be used as a way to normalize your data, or to create a smaller set from your original set. It takes as an input the following file types: fasta, list_, shared_, rabund_ and sabund_ to generate a new file that contains a sampling of your original file.
+
+.. _list: https://www.mothur.org/wiki/List_file
+.. _shared: https://www.mothur.org/wiki/Shared_file
+.. _rabund: https://www.mothur.org/wiki/Rabund_file
+.. _sabund: https://www.mothur.org/wiki/Sabund_file
+.. _sub.sample: https://www.mothur.org/wiki/Sub.sample
+
+]]>
+    </help>
+    <expand macro="citations"/>
+</tool>