comparison cluster.split.xml @ 0:e70a33ec8f3b 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:15:53 -0400
parents
children 3c24b99497db
comparison
equal deleted inserted replaced
-1:000000000000 0:e70a33ec8f3b
1 <tool profile="16.07" id="mothur_cluster_split" name="Cluster.split" version="@WRAPPER_VERSION@.0">
2 <description>Assign sequences to OTUs (Operational Taxonomic Unit) splits large matrices</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements"/>
7 <expand macro="stdio"/>
8 <expand macro="version_command"/>
9 <command><![CDATA[
10 @SHELL_OPTIONS@
11
12 ## create symlinks to input datasets
13 #if $splitby.splitmethod == "distance":
14 ln -s "$splitby.matrix.dist" splitby.matrix.dist.dat &&
15 ln -s "$splitby.matrix.nameOrCount" splitby.matrix.nameOrCount.dat &&
16 #elif $splitby.splitmethod == "classify":
17 ln -s "$splitby.dist" splitby.dist.dat &&
18 ln -s "$splitby.nameOrCount" splitby.nameOrCount.dat &&
19 ln -s "$splitby.taxonomy" splitby.taxonomy.dat &&
20 #elif $splitby.splitmethod == "fasta":
21 ln -s "$splitby.fasta" splitby.fasta.dat &&
22 ln -s "$splitby.nameOrCount" splitby.nameOrCount.dat &&
23 ln -s "$splitby.taxonomy" splitby.taxonomy.dat &&
24 #end if
25
26 echo 'cluster.split(
27 splitmethod=$splitby.splitmethod,
28 #if $splitby.splitmethod == "distance":
29 #if $splitby.matrix.format == "column":
30 column=splitby.matrix.dist.dat,
31 #if $splitby.matrix.nameOrCount.is_of_type("mothur.names"):
32 name=splitby.matrix.nameOrCount.dat,
33 #elif $splitby.matrix.nameOrCount.is_of_type("mothur.count_table"):
34 count=splitby.matrix.nameOrCount.dat,
35 #end if
36 #elif $splitby.matrix.format == "phylip":
37 phylip=splitby.matrix.dist.dat,
38 #if $splitby.matrix.nameOrCount:
39 #if $splitby.matrix.nameOrCount.is_of_type("mothur.names"):
40 name=splitby.matrix.nameOrCount.dat,
41 #elif $splitby.matrix.nameOrCount.is_of_type("mothur.count_table"):
42 count=splitby.matrix.nameOrCount.dat,
43 #end if
44 #end if
45 #end if
46 #elif $splitby.splitmethod == "classify":
47 column=splitby.dist.dat,
48 taxonomy=splitby.taxonomy.dat,
49 #if $splitby.nameOrCount.is_of_type("mothur.names"):
50 name=splitby.nameOrCount.dat,
51 #elif $splitby.nameOrCount.is_of_type("mothur.count_table"):
52 count=splitby.nameOrCount.dat,
53 #end if
54 #if $splitby.taxlevel:
55 taxlevel=$splitby.taxlevel,
56 #end if
57 #elif $splitby.splitmethod == "fasta":
58 fasta=splitby.fasta.dat,
59 taxonomy=splitby.taxonomy.dat,
60 #if $splitby.nameOrCount.is_of_type("mothur.names"):
61 name=splitby.nameOrCount.dat,
62 #elif $splitby.nameOrCount.is_of_type("mothur.count_table"):
63 count=splitby.nameOrCount.dat,
64 #end if
65 #if $splitby.taxlevel:
66 taxlevel=$splitby.taxlevel,
67 #end if
68 classic=$splitby.classic,
69 #end if
70 #if $method:
71 method=$method,
72 #end if
73 #if float($cutoff) > 0.0:
74 cutoff=$cutoff,
75 #end if
76 hard=$hard,
77 #if $precision
78 precision=$precision,
79 #end if
80 large=$large,
81 cluster=$cluster,
82 processors='\${GALAXY_SLOTS:-8}'
83 )'
84 | sed 's/ //g' ## mothur trips over whitespace
85 | mothur
86 | tee mothur.out.log
87 ]]></command>
88 <inputs>
89 <conditional name="splitby">
90 <param name="splitmethod" type="select" label="Split by" help="">
91 <option value="distance">Distance</option>
92 <option value="classify">Classification</option>
93 <option value="fasta">Classification using fasta</option>
94 </param>
95 <when value="distance">
96 <conditional name="matrix">
97 <param name="format" type="select" label="Select a Distance Matrix Format" help="">
98 <option value="column">Pairwise Column Matrix</option>
99 <option value="phylip">Phylip Distance Matrix</option>
100 </param>
101 <when value="column">
102 <param name="dist" type="data" format="mothur.pair.dist" label="column - Distance Matrix"/>
103 <param name="nameOrCount" type="data" format="mothur.names,mothur.count_table" label="name file or count table - Sequences Name reference"/>
104 </when>
105 <when value="phylip">
106 <param name="dist" type="data" format="mothur.dist,mothur.lower.dist,mothur.square.dist" label="phylip - Distance Matrix"/>
107 <param name="nameOrCount" type="data" format="mothur.names,mothur.count_table" optional="true" label="name file or count table - Sequences Name reference"/>
108 </when>
109 </conditional>
110 </when>
111 <when value="classify">
112 <param name="dist" type="data" format="mothur.pair.dist" label="column - Distance Matrix"/>
113 <param name="taxonomy" type="data" format="mothur.seq.taxonomy" label="taxonomy - Taxonomy (from Classify.seqs)"/>
114 <param name="nameOrCount" type="data" format="mothur.names,mothur.count_table" label="name file or count table - Sequences Name reference"/>
115 <param name="taxlevel" type="integer" value="1" min="1" label="taxlevel - taxonomy level for split (default=1)" help="taxonomy level you want to use to split the distance file, default=1, meaning use the first taxon in each list"/>
116 </when>
117 <when value="fasta">
118 <param name="fasta" type="data" format="mothur.align,fasta" label="fasta - Aligned Sequences" help="must be aligned sequences (mothur.align)"/>
119 <param name="taxonomy" type="data" format="mothur.seq.taxonomy" label="taxonomy - Taxonomy (from Classify.seqs)"/>
120 <param name="nameOrCount" type="data" format="mothur.names,mothur.count_table" label="name file or count table - Sequences Name reference"/>
121 <param name="taxlevel" type="integer" value="3" min="1" label="taxlevel - taxonomy level for split (default=3)" help="taxonomy level you want to use to split the distance file, default=1, meaning use the first taxon in each list"/>
122 <param name="classic" type="boolean" checked="false" truevalue="true" falsevalue="false" label="classic - Use cluster.classic"/>
123 </when>
124 </conditional>
125 <param name="method" type="select" label="method - Select a Clustering Method" help="">
126 <option value="furthest">Furthest neighbor</option>
127 <option value="nearest">Nearest neighbor</option>
128 <option value="average" selected="true">Average neighbor</option>
129 </param>
130 <param name="cutoff" type="float" value="0.0" min="0.0" label="cutoff - Distance Cutoff threshold - ignored if not > 0" help="Ignore pairwise distances larger than this, a common value would be 0.25"/>
131 <param name="hard" type="boolean" checked="true" truevalue="true" falsevalue="false" label="hard - Use hard cutoff instead of rounding" help=""/>
132 <param name="precision" type="select" optional="true" label="precision - Precision for rounding distance values" help="Set higher precision for longer genome scale sequence lengths">
133 <option value="10">.1</option>
134 <option value="100" selected="true">.01</option>
135 <option value="1000">.001</option>
136 <option value="10000">.0001</option>
137 <option value="100000">.00001</option>
138 <option value="1000000">.000001</option>
139 </param>
140 <param name="large" type="boolean" checked="false" truevalue="true" falsevalue="false" label="large - distance matrix is too large to fit in RAM" help="If your job fails due to not enough memory error, set this to true to rerun"/>
141 <param name="cluster" type="boolean" falsevalue="false" truevalue="true" checked="true" label="The cluster parameter allows you to indicate whether you want to run the clustering or just split the distance matrix, default=T"/>
142 </inputs>
143 <outputs>
144 <expand macro="logfile-output"/>
145 <data name="rabund" format="mothur.rabund" from_work_dir="splitby.*.rabund" label="${tool.name} on ${on_string}: rabund (Rank Abundance)">
146 <filter>splitby['nameOrCount'].ext != "mothur.count_table"</filter>
147 <filter>splitby['matrix']['nameOrCount'].ext != "mothur.count_table"</filter>
148 </data>
149 <data name="sabund" format="mothur.sabund" from_work_dir="splitby.*.sabund" label="${tool.name} on ${on_string}: sabund (Species Abundance)">
150 <filter>splitby['nameOrCount'].ext != "mothur.count_table"</filter>
151 <filter>splitby['matrix']['nameOrCount'].ext != "mothur.count_table"</filter>
152 </data>
153 <data name="otulist" format="mothur.list" from_work_dir="splitby.*.list" label="${tool.name} on ${on_string}: list (OTU List)"/>
154 <collection name="splitdist" type="list" label="${tool.name} on ${on_string}: split dist">
155 <filter>not cluster</filter>
156 <discover_datasets pattern=".*?\.column\.dist\.(?P&lt;designation&gt;.*)\.temp" format="mothur.dist"/>
157 </collection>
158 <collection name="splitnames" type="list" label="${tool.name} on ${on_string}: split names">
159 <filter>not cluster</filter>
160 <discover_datasets pattern=".*?\.names\.(?P&lt;designation&gt;.*)\.temp" format="mothur.names"/>
161 </collection>
162 <data name="splitfile" format="txt" from_work_dir="splitby.*.file" label="${tool.name} on ${on_string}: split.file">
163 <filter>not cluster</filter>
164 </data>
165 </outputs>
166 <tests>
167 <test><!-- test with distance method -->
168 <param name="splitmethod" value="distance"/>
169 <param name="format" value="phylip"/>
170 <param name="dist" value="98_sq_phylip_amazon.dist" ftype="mothur.square.dist"/>
171 <output name="otulist" md5="2613ef0a1805ba9de012a41e938d8947" ftype="mothur.list"/>
172 <output name="rabund" md5="4df813ec2d51c373a846a82380c7a1f8" ftype="mothur.rabund"/>
173 <output name="sabund" md5="8d6813a5e8d2ad426a0ee5fdd99f1a19" ftype="mothur.sabund"/>
174 <expand macro="logfile-test"/>
175 </test>
176 <test><!-- test with cluster false -->
177 <param name="splitmethod" value="distance"/>
178 <param name="format" value="phylip"/>
179 <param name="dist" value="98_sq_phylip_amazon.dist" ftype="mothur.square.dist"/>
180 <param name="cluster" value="false"/>
181 <output name="splitfile" ftype="txt">
182 <assert_contents>
183 <has_text text="column"/>
184 <has_text text="dist"/>
185 <has_text text="names"/>
186 <has_text text="temp"/>
187 </assert_contents>
188 </output>
189 <output_collection name="splitnames" count="4">
190 <element name="0" md5="27037eeb3e696888b24653d0996261cd" ftype="mothur.names"/>
191 </output_collection>
192 <output_collection name="splitdist" count="3">
193 <element name="4" md5="f751aee00b598d3b6691d34f67dbc8d5" ftype="mothur.dist"/>
194 </output_collection>
195 <expand macro="logfile-test"/>
196 </test>
197 <test><!-- test with classify method (mothur.names input file) -->
198 <param name="splitmethod" value="classify"/>
199 <param name="format" value="column"/>
200 <param name="dist" value="amazon.pair.dist" ftype="mothur.pair.dist"/>
201 <param name="nameOrCount" value="amazon.names" ftype="mothur.names"/>
202 <param name="taxonomy" value="amazon.wang.wang.taxonomy" ftype="mothur.seq.taxonomy"/>
203 <output name="otulist" md5="d6eba624ad79759c530b9bc3285a1361" ftype="mothur.list"/>
204 <output name="rabund" md5="2a165e1e40644fccb8cc9f53d8915bc3" ftype="mothur.rabund"/>
205 <output name="sabund" md5="7aad8a9ca0eade414d6eba1f8bef960f" ftype="mothur.sabund"/>
206 <expand macro="logfile-test"/>
207 </test>
208 <test><!-- test with classify method (mothur.count_table input file) -->
209 <param name="splitmethod" value="classify"/>
210 <param name="format" value="column"/>
211 <param name="dist" value="amazon.pair.dist" ftype="mothur.pair.dist"/>
212 <param name="nameOrCount" value="amazon.count_table" ftype="mothur.count_table"/>
213 <param name="taxonomy" value="amazon.wang.wang.taxonomy" ftype="mothur.seq.taxonomy"/>
214 <output name="otulist" md5="c5c28330434d3e773221f635d04d6af9" ftype="mothur.list"/>
215 <expand macro="logfile-test"/>
216 </test>
217 <test><!-- test with fasta -->
218 <param name="splitmethod" value="fasta"/>
219 <param name="fasta" value="amazon.align_head" ftype="mothur.align"/>
220 <param name="nameOrCount" value="amazon.align_head.names" ftype="mothur.names"/>
221 <param name="taxonomy" value="amazon.align_head.wang.taxonomy" ftype="mothur.seq.taxonomy"/>
222 <param name="cutoff" value="9999"/>
223 <output name="otulist" md5="a1279248cf2bc1094e0046b2cff1b785" ftype="mothur.list"/>
224 <output name="rabund" md5="65ec9f326cd92fc607679b9902ec8430" ftype="mothur.rabund"/>
225 <output name="sabund" md5="854d3acd15f64299c5d9d9e18f2d51b4" ftype="mothur.sabund"/>
226 <expand macro="logfile-test"/>
227 </test>
228 </tests>
229 <help>
230 <![CDATA[
231
232 @MOTHUR_OVERVIEW@
233
234
235 **Command Documentation**
236
237 The cluster.split_ command assign sequences to OTUs (Operational Taxonomy Unit).
238
239 .. _cluster.split: https://www.mothur.org/wiki/Cluster.split
240
241 v1.28.0: Upgraded to Mothur 1.33, introduced cluster boolean.
242
243 ]]>
244 </help>
245 <expand macro="citations"/>
246 </tool>