comparison mytools/meme.xml @ 9:87eb5c5ddfe9

Uploaded
author xuebing
date Fri, 09 Mar 2012 20:01:43 -0500
parents f0dc65e7f6c0
children
comparison
equal deleted inserted replaced
8:361ec1c0479d 9:87eb5c5ddfe9
1 <tool id="meme_meme" name="MEME" version="1.0.0">
2 <requirements><requirement type='package'>meme</requirement></requirements>
3 <description>motif discovery</description>
4 <command>meme "$input1" -o "${html_outfile.files_path}"
5 -nostatus
6
7 ##-p 8 ##number of processors
8
9 #if str( $options_type.options_type_selector ) == 'advanced':
10 -sf "${ str( $options_type.sf ).replace( ' ', '_' ) }"
11 -${options_type.alphabet_type.alphabet_type_selector}
12 -mod "${options_type.mod_type.mod_type_selector}"
13 -nmotifs "${options_type.nmotifs}"
14 -wnsites "${options_type.wnsites}"
15 -maxsize "${options_type.maxsize}"
16
17 #if $options_type.evt &lt; float('inf'):
18 -evt "${options_type.evt}"
19 #end if
20
21 #if str( $options_type.mod_type.mod_type_selector ) != 'oops':
22 #if str( $options_type.mod_type.motif_occurrence_type.motif_occurrence_type_selector ) == 'nsites':
23 -nsites "${options_type.mod_type.motif_occurrence_type.nsites}"
24 #elif str( $options_type.mod_type.motif_occurrence_type.motif_occurrence_type_selector ) == 'min_max_sites':
25 -minsites "${options_type.mod_type.motif_occurrence_type.minsites}" -maxsites "${options_type.mod_type.motif_occurrence_type.maxsites}"
26 #end if
27 #end if
28
29 #if str( $options_type.motif_width_type.motif_width_type_selector ) == 'exact':
30 -w "${options_type.motif_width_type.width}"
31 #else
32 -minw "${options_type.motif_width_type.minw}" -maxw "${options_type.motif_width_type.maxw}"
33 #end if
34
35 #if str( $options_type.motif_trim_type.motif_trim_type_selector ) == 'nomatrim':
36 -nomatrim
37 #else
38 -wg "${options_type.motif_trim_type.wg}" -ws "${options_type.motif_trim_type.ws}" ${options_type.motif_trim_type.noendgaps}
39 #end if
40
41 #if str( $options_type.bfile ) != 'None':
42 -bfile "${options_type.bfile}"
43 #end if
44
45 #if str( $options_type.pspfile ) != 'None':
46 -psp "${options_type.pspfile}"
47 #end if
48
49 #if str( $options_type.alphabet_type.alphabet_type_selector ) == "dna":
50 ${options_type.alphabet_type.revcomp} ${options_type.alphabet_type.pal}
51 #end if
52
53 -maxiter "${options_type.maxiter}" -distance "${options_type.distance}"
54
55 -prior "${options_type.alphabet_type.prior_type.prior_type_selector}"
56 #if str( $options_type.alphabet_type.prior_type.prior_type_selector ) != 'addone':
57 -b "${options_type.alphabet_type.prior_type.prior_b}"
58 #if str( $options_type.alphabet_type.prior_type.plib ) != 'None':
59 -plib "${options_type.alphabet_type.prior_type.plib}"
60 #end if
61 #end if
62
63 #if str( $options_type.alphabet_type.spmap_type.spmap_type_selector ) == 'cons':
64 -cons "${options_type.alphabet_type.spmap_type.cons}"
65 #else
66 -spmap "${options_type.alphabet_type.spmap_type.spmap_type_selector}"
67 -spfuzz "${options_type.alphabet_type.spmap_type.spfuzz}"
68 #end if
69
70 #if str( $options_type.branching_type.branching_type_selector ) == 'x_branch':
71 -x_branch -bfactor "${options_type.branching_type.bfactor}" -heapsize "${options_type.branching_type.heapsize}"
72 #end if
73
74 ##-maxsize "1000000" ##remove hardcoded maxsize? should increase number of processors instead
75
76 #end if
77
78 2&gt;&amp;1 || echo "Error running MEME."
79
80
81 &amp;&amp; mv ${html_outfile.files_path}/meme.html ${html_outfile}
82
83 &amp;&amp; mv ${html_outfile.files_path}/meme.txt ${txt_outfile}
84
85 &amp;&amp; mv ${html_outfile.files_path}/meme.xml ${xml_outfile}
86
87 </command>
88 <inputs>
89 <param format="fasta" name="input1" type="data" label="Sequences"/>
90
91 <conditional name="options_type">
92 <param name="options_type_selector" type="select" label="Options Configuration">
93 <option value="basic" selected="true">Basic</option>
94 <option value="advanced">Advanced</option>
95 </param>
96 <when value="basic">
97 <!-- do nothing here -->
98 </when>
99 <when value="advanced">
100
101 <param name="sf" type="text" value="Galaxy FASTA Input" label="Name of sequence set" />
102
103 <conditional name="alphabet_type">
104 <param name="alphabet_type_selector" type="select" label="Sequence Alphabet">
105 <option value="protein">Protein</option>
106 <option value="dna" selected="true">DNA</option>
107 </param>
108 <when value="protein">
109 <conditional name="prior_type">
110 <param name="prior_type_selector" type="select" label="Choice of prior">
111 <option value="dirichlet">simple Dirichlet prior</option>
112 <option value="dmix" selected="true">mixture of Dirichlets prior</option>
113 <option value="mega">extremely low variance dmix</option>
114 <option value="megap">mega for all but last iteration of EM; dmix on last iteration</option>
115 <option value="addone">add +1 to each observed count</option>
116 </param>
117 <when value="dirichlet">
118 <param name="prior_b" type="float" value="0.01" label="strength of prior on model parameters" />
119 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
120 </when>
121 <when value="dmix">
122 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
123 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
124 </when>
125 <when value="mega">
126 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
127 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
128 </when>
129 <when value="megap">
130 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
131 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
132 </when>
133 <when value="addone">
134 <!-- no values here? -->
135 </when>
136 </conditional>
137 <conditional name="spmap_type">
138 <param name="spmap_type_selector" type="select" label="EM starting points">
139 <option value="uni">uni</option>
140 <option value="pam" selected="true">pam</option>
141 <option value="cons">Use starting point from string</option>
142 </param>
143 <when value="uni">
144 <param name="spfuzz" type="float" value="0.5" label="Fuzziness of the mapping" />
145 </when>
146 <when value="pam">
147 <param name="spfuzz" type="integer" value="120" label="Fuzziness of the mapping" />
148 </when>
149 <when value="cons">
150 <param name="cons" type="text" value="" label="Starting point from string" />
151 </when>
152 </conditional>
153 </when>
154 <when value="dna">
155 <param name="revcomp" label="Check reverse complement" type="boolean" truevalue="-revcomp" falsevalue="" checked="False"/>
156 <param name="pal" label="Check for palindromes" type="boolean" truevalue="-pal" falsevalue="" checked="False"/>
157 <conditional name="prior_type">
158 <param name="prior_type_selector" type="select" label="Sequence Alphabet">
159 <option value="dirichlet" selected="true">simple Dirichlet prior</option>
160 <option value="dmix">mixture of Dirichlets prior</option>
161 <option value="mega">extremely low variance dmix</option>
162 <option value="megap">mega for all but last iteration of EM; dmix on last iteration</option>
163 <option value="addone">add +1 to each observed count</option>
164 </param>
165 <when value="dirichlet">
166 <param name="prior_b" type="float" value="0.01" label="strength of prior on model parameters" />
167 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
168 </when>
169 <when value="dmix">
170 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
171 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
172 </when>
173 <when value="mega">
174 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
175 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
176 </when>
177 <when value="megap">
178 <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" />
179 <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" />
180 </when>
181 <when value="addone">
182 <!-- no values here? -->
183 </when>
184 </conditional>
185 <conditional name="spmap_type">
186 <param name="spmap_type_selector" type="select" label="EM starting points">
187 <option value="uni" selected="true">uni</option>
188 <option value="pam">pam</option>
189 <option value="cons">Use starting point from string</option>
190 </param>
191 <when value="uni">
192 <param name="spfuzz" type="float" value="0.5" label="Fuzziness of the mapping" />
193 </when>
194 <when value="pam">
195 <param name="spfuzz" type="integer" value="120" label="Fuzziness of the mapping" />
196 </when>
197 <when value="cons">
198 <param name="cons" type="text" value="" label="Starting point from string" />
199 </when>
200 </conditional>
201 </when>
202 </conditional>
203
204 <param name="nmotifs" type="integer" value="1" label="Number of different motifs to search" />
205 <param name="maxsize" type="integer" value="1000000" label="Max number of characters in the sequence file"/>
206 <param name="evt" type="float" value="inf" label="E-value to stop looking for motifs" />
207 <conditional name="mod_type">
208 <param name="mod_type_selector" type="select" label="Expected motif distribution">
209 <option value="oops">One Occurrence Per Sequence</option>
210 <option value="zoops" selected="true">Zero or One Occurrence Per Sequence</option>
211 <option value="anr">Any Number of Repetitions</option>
212 </param>
213 <when value="oops">
214 <!-- no values here -->
215 </when>
216 <when value="zoops">
217 <conditional name="motif_occurrence_type">
218 <param name="motif_occurrence_type_selector" type="select" label="Number of motif occurrences">
219 <option value="default" selected="true">Use defaults</option>
220 <option value="nsites">nsites</option>
221 <option value="min_max_sites">min and max sites</option>
222 </param>
223 <when value="default">
224 <!-- no values here -->
225 </when>
226 <when value="nsites">
227 <param name="nsites" type="integer" value="1" label="Search nsites number of occurrences" />
228 </when>
229 <when value="min_max_sites">
230 <param name="minsites" type="integer" value="1" label="minsites" />
231 <param name="maxsites" type="integer" value="50" label="maxsites" />
232 </when>
233 </conditional>
234 </when>
235 <when value="anr">
236 <conditional name="motif_occurrence_type">
237 <param name="motif_occurrence_type_selector" type="select" label="Number of motif occurrences">
238 <option value="default" selected="true">Use defaults</option>
239 <option value="nsites">nsites</option>
240 <option value="min_max_sites">min and max sites</option>
241 </param>
242 <when value="default">
243 <!-- no values here -->
244 </when>
245 <when value="nsites">
246 <param name="nsites" type="integer" value="1" label="Search nsites number of occurrences" />
247 </when>
248 <when value="min_max_sites">
249 <param name="minsites" type="integer" value="1" label="minsites" />
250 <param name="maxsites" type="integer" value="50" label="maxsites" />
251 </when>
252 </conditional>
253 </when>
254 </conditional>
255 <param name="wnsites" type="float" value="0.8" label="Weight on the prior on nsites" />
256
257 <conditional name="motif_width_type">
258 <param name="motif_width_type_selector" type="select" label="Motif width type">
259 <option value="exact">Exact width</option>
260 <option value="range" selected="true">Specify a range</option>
261 </param>
262 <when value="exact">
263 <param name="width" type="integer" value="10" label="Width of motif to search" />
264 </when>
265 <when value="range">
266 <param name="minw" type="integer" value="8" label="Min width of motif to search" />
267 <param name="maxw" type="integer" value="50" label="Max width of motif to search" />
268 </when>
269 </conditional>
270
271 <conditional name="motif_trim_type">
272 <param name="motif_trim_type_selector" type="select" label="Motif trim type">
273 <option value="nomatrim">No motif trim</option>
274 <option value="trim" selected="true">Trim motif</option>
275 </param>
276 <when value="nomatrim">
277 <!-- no values here -->
278 </when>
279 <when value="trim">
280 <param name="wg" type="integer" value="11" label="Gap cost" />
281 <param name="ws" type="integer" value="1" label="Space cost" />
282 <param name="noendgaps" label="Do not penalize endgaps" type="boolean" truevalue="-noendgaps" falsevalue="" checked="False"/>
283 </when>
284 </conditional>
285
286 <param name="bfile" type="data" format="txt" optional="True" label="Background Model" />
287 <param name="pspfile" type="data" format="txt" optional="True" label="Position-Specific Prior" />
288
289 <param name="maxiter" type="integer" value="50" label="Number of iterations of EM to run" />
290 <param name="distance" type="float" value="0.001" label="Convergence criterion" />
291
292 <conditional name="branching_type">
293 <param name="branching_type_selector" type="select" label="x-branching type">
294 <option value="x_branch">Perform x-branching</option>
295 <option value="no_x_branch" selected="true">No x-branching</option>
296 </param>
297 <when value="no_x_branch">
298 <!-- no values here -->
299 </when>
300 <when value="x_branch">
301 <param name="bfactor" type="integer" value="3" label="Number of iterations of branching" />
302 <param name="heapsize" type="integer" value="64" label="Maximum number of heaps to use" />
303 </when>
304 </conditional>
305
306 </when>
307 </conditional>
308
309 <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
310 <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
311 </param>
312
313 </inputs>
314 <outputs>
315 <data format="html" name="html_outfile" label="${tool.name} on ${on_string} (html)"/>
316 <data format="txt" name="txt_outfile" label="${tool.name} on ${on_string} (text)"/>
317 <data format="memexml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)"/>
318 </outputs>
319 <tests>
320 <test>
321 <param name="input1" value="meme/meme/meme_input_1.fasta" ftype="fasta" dbkey="hg19"/>
322 <param name="options_type_selector" value="basic"/>
323 <param name="non_commercial_use" value="True"/>
324 <output name="html_outfile" file="meme/meme/meme_output_html_1.html" lines_diff="12"/>
325 <output name="txt_outfile" file="meme/meme/meme_output_txt_1.txt" lines_diff="12"/>
326 <output name="xml_outfile" file="meme/meme/meme_output_xml_1.xml" lines_diff="8"/>
327 </test>
328 </tests>
329 <help>
330
331 .. class:: warningmark
332
333 **WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted. Before using, be sure to review, agree, and comply with the license.**
334
335 If you want to specify sequence weights, you must include them at the top of your input FASTA file.
336
337 .. class:: infomark
338
339 **To cite MEME:**
340 Timothy L. Bailey and Charles Elkan, "Fitting a mixture model by expectation maximization to discover motifs in biopolymers", Proceedings of the Second International Conference on Intelligent Systems for Molecular Biology, pp. 28-36, AAAI Press, Menlo Park, California, 1994.
341
342
343 For detailed information on MEME, click here_. To view the license_.
344
345 .. _here: http://meme.nbcr.net/meme/meme-intro.html
346 .. _license: http://meme.nbcr.net/meme/COPYRIGHT.html
347
348 </help>
349 </tool>