Mercurial > repos > sanbi-uwc > mothur_test
diff tools/mothur/sub.sample.xml @ 0:ee4fee239fe7 draft default tip
planemo upload commit 68a4fd4cc5332c57ac39bef73db224425af0706c-dirty
author | sanbi-uwc |
---|---|
date | Fri, 03 Jun 2016 09:32:47 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/mothur/sub.sample.xml Fri Jun 03 09:32:47 2016 -0400 @@ -0,0 +1,303 @@ +<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="version_command"/> + <command detect_errors="aggressive"><![CDATA[ + echo 'sub.sample( + #if $input.format == "fasta": + fasta=$input.otu + #if $input.name_in: + ,name=$input.name_in + #end if + #else + #if $input.format == "list": + list=$input.otu + #elif $input.format == "sabund": + sabund=$input.otu + #elif $input.format == "rabund": + rabund=$input.otu + #elif $input.format == "shared": + shared=$input.otu + #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 + #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 + #end if + #if $taxonomy: + ,taxonomy=$taxonomy + #end if + #if $size: + ,size=$size + #end if + )' + | sed 's/ //g' ## mothur trips over whitespace + | mothur && + + ## move output files to correct destination + prefix='$input.otu' && + #if ($input.format == "list" or $input.format == "fasta") and $input.use_group.to_filter == "yes": + prefix2='$input.use_group.group_in' && + mv \${prefix2%.dat}*.subsample.* '$group_out' && + #end if + #if $input.format == "list" or $input.format == "shared": + mv \${prefix%.dat}*.subsample.* . && + #elif $input.format == "fasta": + mv \${prefix%.dat}*.subsample.* '$fasta_out' && + #if $input.name_in: + prefix2='$input.name_in' && + mv \${prefix2%.dat}*.subsample.* '$names_out' && + #end if + #elif $input.format == "rabund": + mv \${prefix%.dat}*.subsample.* '$rabund_out' && + #elif $input.format == "sabund": + mv \${prefix%.dat}*.subsample.* '$sabund_out' && + #end if + mv mothur.*.logfile '$logfile' + ]]></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="taxonomy" optional="true" label="taxonomy - allows a taxonomy file"/> + </inputs> + <outputs> + <data name="logfile" format="txt" label="${tool.name} on ${on_string}: logfile"/> + <data name="fasta_out" format_source="otu" label="${tool.name} on ${on_string}: subsample.fasta"> + <filter>input['format'] == 'fasta'</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<designation>.*)\.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<designation>.*)\.subsample\.dat" format="mothur.shared"/> + </collection> + <data name="sabund_out" format="mothur.sabund" label="${tool.name} on ${on_string}: subsample.sabund"> + <filter>input['format'] == 'sabund'</filter> + </data> + <data name="rabund_out" format="mothur.rabund" label="${tool.name} on ${on_string}: subsample.rabund"> + <filter>input['format'] == 'rabund'</filter> + </data> + <data name="names_out" format="mothur.names" 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" 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 --> + <param name="format" value="fasta"/> + <param name="otu" value="amazon.fasta" ftype="fasta"/> + <output name="fasta_out" ftype="fasta"> + <assert_contents> + <has_text text=">U"/> + </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 Documenation** + +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: http://www.mothur.org/wiki/List_file +.. _shared: http://www.mothur.org/wiki/Shared_file +.. _rabund: http://www.mothur.org/wiki/Rabund_file +.. _sabund: http://www.mothur.org/wiki/Sabund_file +.. _sub.sample: http://www.mothur.org/wiki/Sub.sample + +]]> + </help> + <expand macro="citations"/> +</tool>