comparison eggnog_macros.xml @ 12:a5d5e84eed93 draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/eggnog_mapper/eggnog_mapper commit 0e3cff872b53efe21cbf4905ed0b072337192001
author galaxyp
date Mon, 19 Jan 2026 22:22:38 +0000
parents 1f2be4ae431f
children
comparison
equal deleted inserted replaced
11:1f2be4ae431f 12:a5d5e84eed93
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <macros> 2 <macros>
3 <token name="@TOOL_VERSION@">2.1.8</token> 3 <token name="@TOOL_VERSION@">2.1.13</token>
4 <token name="@VERSION_SUFFIX@">3</token> 4 <token name="@VERSION_SUFFIX@">0</token>
5 <token name="@EGGNOG_DB_VERSION@">5.0.2</token> 5 <token name="@EGGNOG_DB_VERSION@">5.0.2</token>
6 <token name="@PROFILE@">25.0</token>
6 <!-- 7 <!--
7 # DB versionning was super confusing for eggnog-mapper 2.0.x: 8 # DB versionning was super confusing for eggnog-mapper 2.0.x:
8 # eggnog-mapper 1.* needed a db v4.5 (based on eggnog v4.5) 9 # eggnog-mapper 1.* needed a db v4.5 (based on eggnog v4.5)
9 # eggnog-mapper 2.x needed a db v2.0 (based on eggnog v5.0) 10 # eggnog-mapper 2.x needed a db v2.0 (based on eggnog v5.0)
10 # (db v4.5 are not compatible with eggnog-mapper 2.0) 11 # (db v4.5 are not compatible with eggnog-mapper 2.0)
19 </xml> 20 </xml>
20 <xml name="requirements"> 21 <xml name="requirements">
21 <requirements> 22 <requirements>
22 <requirement type="package" version="@TOOL_VERSION@">eggnog-mapper</requirement> 23 <requirement type="package" version="@TOOL_VERSION@">eggnog-mapper</requirement>
23 </requirements> 24 </requirements>
25 </xml>
26 <xml name="biotools">
27 <xrefs>
28 <xref type="bio.tools">eggnog-mapper-v2</xref>
29 </xrefs>
24 </xml> 30 </xml>
25 <xml name="version_command"> 31 <xml name="version_command">
26 <version_command>emapper.py --version</version_command> 32 <version_command>emapper.py --version</version_command>
27 </xml> 33 </xml>
28 <xml name="data_manager_params"> 34 <xml name="data_manager_params">
63 </assert_contents> 69 </assert_contents>
64 </output> 70 </output>
65 </test> 71 </test>
66 </xml> 72 </xml>
67 73
74
75 <xml name="stdout_assertion">
76 <assert_stdout>
77 <has_line line="# emapper-@TOOL_VERSION@"/>
78 <has_line line="FINISHED"/>
79 <yield/>
80 </assert_stdout>
81 </xml>
82 <xml name="db_macro">
83 <param name="eggnog_data" type="select" label="Version of eggNOG Database">
84 <options from_data_table="eggnog_mapper_db_versioned">
85 <filter type="static_value" column="3" value="@IDX_VERSION@" />
86 </options>
87 </param>
88 </xml>
89 <token name="@DB_TOKEN@"><![CDATA[
90 --data_dir '$eggnog_data.fields.path'
91 ]]></token>
92
93 <!-- macros and tokens for search -->
94
68 <xml name="fasta_input"> 95 <xml name="fasta_input">
69 <param argument="-i" name="input" type="data" format="fasta" label="Fasta sequences to annotate"/> 96 <param argument="-i" name="input" type="data" format="fasta" label="Fasta sequences to annotate"/>
70 <conditional name="input_trans"> 97 <conditional name="input_trans">
71 <param argument="--itype" type="select" label="Type of sequences"> 98 <param argument="--itype" type="select" label="Type of sequences">
72 <option value="proteins" selected="true">proteins</option> 99 <option value="proteins" selected="true">proteins</option>
103 <param argument="--subject_cover" type="integer" optional="true" min="0" max="100" label="Minimum subject coverage" help="Report only alignments above the given percentage of subject cover" /> 130 <param argument="--subject_cover" type="integer" optional="true" min="0" max="100" label="Minimum subject coverage" help="Report only alignments above the given percentage of subject cover" />
104 <param argument="--pident" type="integer" optional="true" min="0" max="100" label="Minimum query coverage" help="Report only alignments above the given percentage of identity" /> 131 <param argument="--pident" type="integer" optional="true" min="0" max="100" label="Minimum query coverage" help="Report only alignments above the given percentage of identity" />
105 <param argument="--evalue" type="float" optional="true" min="0" label="Minimum query coverage" help="Report only alignments below or equal the e-value" /> 132 <param argument="--evalue" type="float" optional="true" min="0" label="Minimum query coverage" help="Report only alignments below or equal the e-value" />
106 <param argument="--score" type="float" value="0.001" optional="true" min="0" label="Minimum query coverage" help="Report only alignments above or equal the score" /> 133 <param argument="--score" type="float" value="0.001" optional="true" min="0" label="Minimum query coverage" help="Report only alignments above or equal the score" />
107 </xml> 134 </xml>
135
136 <xml name="ortho_macro">
137 <conditional name="ortho_method">
138 <param argument="-m" type="select" label="Basis for annotation">
139 <yield name="search_options"/>
140 <yield name="reuse_options"/>
141 </param>
142 <yield name="search_whens"/>
143 <yield name="reuse_whens"/>
144 </conditional>
145 </xml>
146
147 <xml name="ortho_search_macro">
148 <expand macro="ortho_macro">
149 <token name="search_options">
150 <expand macro="search_options_macro"/>
151 </token>
152 <token name="search_whens">
153 <expand macro="search_whens_macro"/>
154 </token>
155 </expand>
156 </xml>
157
158 <xml name="ortho_annotate_macro">
159 <expand macro="ortho_macro">
160 <token name="reuse_options">
161 <expand macro="reuse_options_macro"/>
162 </token>
163 <token name="reuse_whens">
164 <expand macro="reuse_whens_macro"/>
165 </token>
166 </expand>
167 </xml>
168
169 <xml name="ortho_full_macro">
170 <expand macro="ortho_macro">
171 <token name="search_options">
172 <expand macro="search_options_macro"/>
173 </token>
174 <token name="reuse_options">
175 <expand macro="reuse_options_macro"/>
176 </token>
177 <token name="search_whens">
178 <expand macro="search_whens_macro"/>
179 </token>
180 <token name="reuse_whens">
181 <expand macro="reuse_whens_macro"/>
182 </token>
183 </expand>
184 </xml>
185
186 <xml name="search_options_macro">
187 <option value="diamond">Seed orthologs computed with Diamond (diamond)</option>
188 <option value="mmseqs">Seed orthologs computed with MMseqs2 (mmseqs)</option>
189 </xml>
190
191 <xml name="reuse_options_macro">
192 <option value="no_search">Use existing seed orthologs (no_search)</option>
193 <option value="cache">Use cached annotations (cache). See also --md5</option>
194 </xml>
195
196 <xml name="search_whens_macro">
197 <when value="diamond">
198 <expand macro="fasta_input"/>
199 <conditional name="matrix_gapcosts">
200 <param argument="--matrix" type="select" label="Scoring matrix and gap costs">
201 <option value="BLOSUM90">BLOSUM90</option>
202 <option value="BLOSUM80">BLOSUM80</option>
203 <option value="BLOSUM62" selected="true">BLOSUM62</option>
204 <option value="BLOSUM50">BLOSUM50</option>
205 <option value="BLOSUM45">BLOSUM45</option>
206 <option value="PAM250">PAM250</option>
207 <option value="PAM70">PAM70</option>
208 <option value="PAM30">PAM30</option>
209 </param>
210 <when value="BLOSUM90">
211 <param name="gap_costs" type="select" label="Gap Costs">
212 <option value="--gapopen 9 --gapextend 2">Existence: 9 Extension: 2</option>
213 <option value="--gapopen 8 --gapextend 2">Existence: 8 Extension: 2</option>
214 <option value="--gapopen 7 --gapextend 2">Existence: 7 Extension: 2</option>
215 <option value="--gapopen 6 --gapextend 2">Existence: 6 Extension: 2</option>
216 <option value="--gapopen 11 --gapextend 1">Existence: 11 Extension: 1</option>
217 <option value="--gapopen 10 --gapextend 1" selected="true">Existence: 10 Extension: 1</option>
218 <option value="--gapopen 9 --gapextend 1">Existence: 9 Extension: 1</option>
219 </param>
220 </when>
221 <when value="BLOSUM80">
222 <param name="gap_costs" type="select" label="Gap Costs">
223 <option value="--gapopen 8 --gapextend 2">Existence: 8 Extension: 2</option>
224 <option value="--gapopen 7 --gapextend 2">Existence: 7 Extension: 2</option>
225 <option value="--gapopen 6 --gapextend 2">Existence: 6 Extension: 2</option>
226 <option value="--gapopen 11 --gapextend 1">Existence: 11 Extension: 1</option>
227 <option value="--gapopen 10 --gapextend 1" selected="true">Existence: 10 Extension: 1</option>
228 <option value="--gapopen 9 --gapextend 1">Existence: 9 Extension: 1</option>
229 </param>
230 </when>
231 <when value="BLOSUM62">
232 <param name="gap_costs" type="select" label="Gap Costs">
233 <option value="--gapopen 11 --gapextend 2">Existence: 11 Extension: 2</option>
234 <option value="--gapopen 10 --gapextend 2">Existence: 10 Extension: 2</option>
235 <option value="--gapopen 9 --gapextend 2">Existence: 9 Extension: 2</option>
236 <option value="--gapopen 8 --gapextend 2">Existence: 8 Extension: 2</option>
237 <option value="--gapopen 7 --gapextend 2">Existence: 7 Extension: 2</option>
238 <option value="--gapopen 6 --gapextend 2">Existence: 6 Extension: 2</option>
239 <option value="--gapopen 13 --gapextend 1">Existence: 13 Extension: 1</option>
240 <option value="--gapopen 12 --gapextend 1">Existence: 12 Extension: 1</option>
241 <option value="--gapopen 11 --gapextend 1" selected="true">Existence: 11 Extension: 1</option>
242 <option value="--gapopen 10 --gapextend 1">Existence: 10 Extension: 1</option>
243 <option value="--gapopen 9 --gapextend 1">Existence: 9 Extension: 1</option>
244 </param>
245 </when>
246 <when value="BLOSUM50">
247 <param name="gap_costs" type="select" label="Gap Costs">
248 <option value="--gapopen 13 --gapextend 3">Existence: 13 Extension: 3</option>
249 <option value="--gapopen 12 --gapextend 3">Existence: 12 Extension: 3</option>
250 <option value="--gapopen 11 --gapextend 3">Existence: 11 Extension: 3</option>
251 <option value="--gapopen 10 --gapextend 3">Existence: 10 Extension: 3</option>
252 <option value="--gapopen 9 --gapextend 3">Existence: 9 Extension: 3</option>
253 <option value="--gapopen 16 --gapextend 2">Existence: 16 Extension: 2</option>
254 <option value="--gapopen 15 --gapextend 2">Existence: 15 Extension: 2</option>
255 <option value="--gapopen 14 --gapextend 2">Existence: 14 Extension: 2</option>
256 <option value="--gapopen 13 --gapextend 2" selected="true">Existence: 13 Extension: 2</option>
257 <option value="--gapopen 12 --gapextend 2">Existence: 12 Extension: 2</option>
258 <option value="--gapopen 19 --gapextend 1">Existence: 19 Extension: 1</option>
259 <option value="--gapopen 18 --gapextend 1">Existence: 18 Extension: 1</option>
260 <option value="--gapopen 17 --gapextend 1">Existence: 17 Extension: 1</option>
261 <option value="--gapopen 16 --gapextend 1">Existence: 16 Extension: 1</option>
262 <option value="--gapopen 15 --gapextend 1">Existence: 15 Extension: 1</option>
263 </param>
264 </when>
265 <when value="BLOSUM45">
266 <param name="gap_costs" type="select" label="Gap Costs">
267 <option value="--gapopen 13 --gapextend 3">Existence: 13 Extension: 3</option>
268 <option value="--gapopen 12 --gapextend 3">Existence: 12 Extension: 3</option>
269 <option value="--gapopen 11 --gapextend 3">Existence: 11 Extension: 3</option>
270 <option value="--gapopen 10 --gapextend 3">Existence: 10 Extension: 3</option>
271 <option value="--gapopen 15 --gapextend 2" selected="true">Existence: 15 Extension: 2</option>
272 <option value="--gapopen 14 --gapextend 2">Existence: 14 Extension: 2</option>
273 <option value="--gapopen 13 --gapextend 2">Existence: 13 Extension: 2</option>
274 <option value="--gapopen 12 --gapextend 2">Existence: 12 Extension: 2</option>
275 <option value="--gapopen 19 --gapextend 1">Existence: 19 Extension: 1</option>
276 <option value="--gapopen 18 --gapextend 1">Existence: 18 Extension: 1</option>
277 <option value="--gapopen 17 --gapextend 1">Existence: 17 Extension: 1</option>
278 <option value="--gapopen 16 --gapextend 1">Existence: 16 Extension: 1</option>
279 </param>
280 </when>
281 <when value="PAM250">
282 <param name="gap_costs" type="select" label="Gap Costs">
283 <option value="--gapopen 15 --gapextend 3">Existence: 15 Extension: 3</option>
284 <option value="--gapopen 14 --gapextend 3">Existence: 14 Extension: 3</option>
285 <option value="--gapopen 13 --gapextend 3">Existence: 13 Extension: 3</option>
286 <option value="--gapopen 12 --gapextend 3">Existence: 12 Extension: 3</option>
287 <option value="--gapopen 17 --gapextend 2">Existence: 17 Extension: 2</option>
288 <option value="--gapopen 16 --gapextend 2">Existence: 16 Extension: 2</option>
289 <option value="--gapopen 15 --gapextend 2">Existence: 15 Extension: 2</option>
290 <option value="--gapopen 14 --gapextend 2" selected="true">Existence: 14 Extension: 2</option>
291 <option value="--gapopen 13 --gapextend 2">Existence: 13 Extension: 2</option>
292 <option value="--gapopen 21 --gapextend 1">Existence: 21 Extension: 1</option>
293 <option value="--gapopen 20 --gapextend 1">Existence: 20 Extension: 1</option>
294 <option value="--gapopen 19 --gapextend 1">Existence: 19 Extension: 1</option>
295 <option value="--gapopen 18 --gapextend 1">Existence: 18 Extension: 1</option>
296 <option value="--gapopen 17 --gapextend 1">Existence: 17 Extension: 1</option>
297 </param>
298 </when>
299 <when value="PAM70">
300 <param name="gap_costs" type="select" label="Gap Costs">
301 <option value="--gapopen 12 --gapextend 3">Existence: 12 Extension: 3</option>
302 <option value="--gapopen 11 --gapextend 2">Existence: 11 Extension: 2</option>
303 <option value="--gapopen 8 --gapextend 2">Existence: 8 Extension: 2</option>
304 <option value="--gapopen 7 --gapextend 2">Existence: 7 Extension: 2</option>
305 <option value="--gapopen 6 --gapextend 2">Existence: 6 Extension: 2</option>
306 <option value="--gapopen 11 --gapextend 1">Existence: 11 Extension: 1</option>
307 <option value="--gapopen 10 --gapextend 1" selected="true">Existence: 10 Extension: 1</option>
308 <option value="--gapopen 9 --gapextend 1">Existence: 9 Extension: 1</option>
309 </param>
310 </when>
311 <when value="PAM30">
312 <param name="gap_costs" type="select" label="Gap Costs">
313 <option value="--gapopen 15 --gapextend 3">Existence: 15 Extension: 3</option>
314 <option value="--gapopen 13 --gapextend 3">Existence: 13 Extension: 3</option>
315 <option value="--gapopen 14 --gapextend 2">Existence: 14 Extension: 2</option>
316 <option value="--gapopen 7 --gapextend 2">Existence: 7 Extension: 2</option>
317 <option value="--gapopen 6 --gapextend 2">Existence: 6 Extension: 2</option>
318 <option value="--gapopen 5 --gapextend 2">Existence: 5 Extension: 2</option>
319 <option value="--gapopen 14 --gapextend 1">Existence: 14 Extension: 1</option>
320 <option value="--gapopen 10 --gapextend 1">Existence: 10 Extension: 1</option>
321 <option value="--gapopen 9 --gapextend 1" selected="true">Existence: 9 Extension: 1</option>
322 <option value="--gapopen 8 --gapextend 1">Existence: 8 Extension: 1</option>
323 </param>
324 </when>
325 </conditional>
326 <param argument="--sensmode" type="select" label="Diamond's sensitivity mode">
327 <option value="default">default</option>
328 <option value="fast">fast</option>
329 <option value="mid-sensitive">mid-sensitive</option>
330 <option value="sensitive" selected="true">sensitive</option>
331 <option value="more-sensitive">more-sensitive</option>
332 <option value="very-sensitive">very-sensitive</option>
333 <option value="ultra-sensitive">ultra-sensitive</option>
334 </param>
335 <param argument="--dmnd_iterate" type="boolean" truevalue="--dmnd_iterate yes" falsevalue="--dmnd_iterate no" checked="false"
336 label="Run diamond in iterative mode, up to the sensitivity level"/>
337 <param argument="--dmnd_ignore_warnings" type="boolean" truevalue="--dmnd_ignore_warnings" falsevalue="" checked="false"
338 label="Ignore Diamond warnings on sequence content (e.g. when a protein contains only ATGC symbols)"/>
339 <expand macro="common_search_options"/>
340 </when>
341 <when value="mmseqs">
342 <expand macro="fasta_input"/>
343 <param argument="--start_sens" type="integer" value="3" min="0" max="100" label="Starting sensitivity" />
344 <param argument="--sens_steps" type="integer" value="3" min="0" max="100" label="Number of sensitivity steps" />
345 <param argument="--final_sens" type="integer" value="7" min="0" max="100" label="Final sensititivy step" />
346 <expand macro="common_search_options"/>
347 </when>
348 </xml>
349
350 <xml name="reuse_whens_macro">
351 <when value="no_search">
352 <param argument="--annotate_hits_table" type="data" multiple="true" format="tabular" label="Seed orthologs">
353 <validator type="expression" message="No seed orthologs">value.metadata.columns == 11</validator>
354 <!-- would be cool to replace with this validator:
355 <validator type="expression" message="No seed orthologs">value.metadata.column_names == '@SEED_ORTHOLOG_COLUMNS@'.split()</validator>
356 but this does not work (yet) in tool tests since column_names can not be set in uploads -->
357 </param>
358 </when>
359 <when value="cache">
360 <expand macro="fasta_input"/>
361 <param argument="--cache" type="data" format="tabular" label="EggNOG Annotations with md5 hashes" help="Annotations computed with EggNOG mapper with enabled --md5 option">
362 <validator type="expression" message="No seed orthologs">value.metadata.columns == 22</validator>
363 </param>
364 <param name="output_no_annotations" type="boolean" checked="true" label="Output sequences without annotation" help="Produce an additional FASTA file with the sequences of queries for which an existing annotation was not found using cache mode. This file can be used as input of another eggNOG-mapper run without using the cache, trying to annotate the sequences."/>
365 </when>
366 </xml>
367
368 <token name="@MERGE_ANNOTATIONS@"><![CDATA[
369 #if $ortho_method.m == "no_search"
370 cat
371 #for aht in $ortho_method.annotate_hits_table
372 $aht
373 #end for
374 > annotate_hits_table.tsv
375 &&
376 #end if
377 ]]></token>
378
379 <token name="@ORTHO_SEARCH_TOKEN@"><![CDATA[
380 -m '$ortho_method.m'
381 #if $ortho_method.m in ['diamond', 'mmseqs', 'cache']:
382 -i '$ortho_method.input'
383 --itype '$ortho_method.input_trans.itype'
384 #if $ortho_method.input_trans.itype in ['CDS', 'genome', 'metagenome']:
385 $ortho_method.input_trans.translate
386 #end if
387 #if $ortho_method.input_trans.itype in ['genome', 'metagenome']:
388 --genepred $ortho_method.input_trans.genepred
389 #end if
390 #elif $ortho_method.m == "no_search"
391 --annotate_hits_table annotate_hits_table.tsv
392 #end if
393
394 #if $ortho_method.m == 'cache'
395 --cache '$ortho_method.cache'
396 #end if
397 #if $ortho_method.m == 'no_search'
398 --annotate_hits_table annotate_hits_table.tsv
399 #end if
400
401 #if $ortho_method.m in ['diamond', 'mmseqs']:
402 ## Diamond option
403 #if $ortho_method.m == "diamond":
404 --matrix '$ortho_method.matrix_gapcosts.matrix'
405 $ortho_method.matrix_gapcosts.gap_costs
406 --sensmode $ortho_method.sensmode
407 $ortho_method.dmnd_iterate
408 $ortho_method.dmnd_ignore_warnings
409 #elif $ortho_method.m == "mmseqs":
410 --start_sens $ortho_method.start_sens
411 --sens_steps $ortho_method.sens_steps
412 --final_sens $ortho_method.final_sens
413 #end if
414
415 ## Common options for search filtering (applies to diamond and mmseqs only)
416 #if str($ortho_method.query_cover):
417 --query_cover $ortho_method.query_cover
418 #end if
419 #if str($ortho_method.subject_cover):
420 --subject_cover $ortho_method.subject_cover
421 #end if
422 #if str($ortho_method.pident):
423 --pident $ortho_method.pident
424 #end if
425 #if str($ortho_method.evalue):
426 --evalue $ortho_method.evalue
427 #end if
428 #if str($ortho_method.score):
429 --score $ortho_method.score
430 #end if
431 #end if
432 ]]></token>
433
434 <!-- output options applying to search step -->
435 <xml name="output_options_macro">
436 <section name="output_options" expanded="false" title="Output Options">
437 <param argument="--no_file_comments" type="boolean" truevalue="--no_file_comments" falsevalue="" checked="true"
438 label="Exclude header lines and stats from output files"/>
439 <yield/>
440 </section>
441 </xml>
442 <!-- output options applying search and annotate step -->
443 <xml name="output_options_annotate_macro">
444 <expand macro="output_options_macro">
445 <param argument="--report_orthologs" type="boolean" truevalue="--report_orthologs" falsevalue="" checked="false" label="Output a file with the list of orthologs for each hit"/>
446 <param argument="--md5" type="boolean" truevalue="--md5" falsevalue="" checked="false" label="Add md5 hash of each query to annotations"/>
447 </expand>
448 </xml>
449
108 <token name="@SEED_ORTHOLOG_COLUMNS@">query_name,seed_eggNOG_ortholog,seed_ortholog_evalue,seed_ortholog_score,query_start,query_end,seed_start,seed_end,pident,query_cov,seed_cov</token> 450 <token name="@SEED_ORTHOLOG_COLUMNS@">query_name,seed_eggNOG_ortholog,seed_ortholog_evalue,seed_ortholog_score,query_start,query_end,seed_start,seed_end,pident,query_cov,seed_cov</token>
109 451
110 <xml name="stdout_assertion"> 452 <xml name="ortho_search_output_macro">
111 <assert_stdout> 453 <data name="seed_orthologs" format="tabular" label="${tool.name} on ${on_string}: seed_orthologs" from_work_dir="results.emapper.seed_orthologs">
112 <has_line line="# emapper-@TOOL_VERSION@"/> 454 <filter>ortho_method['m'] not in ['no_search', 'cache']</filter>
113 <has_line line="FINISHED"/> 455 <actions>
114 <yield/> 456 <action name="column_names" type="metadata" default="@SEED_ORTHOLOG_COLUMNS@"/>
115 </assert_stdout> 457 </actions>
116 </xml> 458 </data>
117 <xml name="seed_orthologs_assertion"> 459 </xml>
460
461 <xml name="seed_orthologs_assertion" token_nocomments="true">
118 <output name="seed_orthologs" ftype="tabular"> 462 <output name="seed_orthologs" ftype="tabular">
119 <assert_contents> 463 <assert_contents>
120 <has_line line="#qseqid&#009;sseqid&#009;evalue&#009;bitscore&#009;qstart&#009;qend&#009;sstart&#009;send&#009;pident&#009;qcov&#009;scov"/> 464 <has_line line="#qseqid&#009;sseqid&#009;evalue&#009;bitscore&#009;qstart&#009;qend&#009;sstart&#009;send&#009;pident&#009;qcov&#009;scov"/>
121 <has_line_matching expression="(\S+\t){2}[-+.e\d]+\t[.\d]+(\t\d+){4}(\t[.\d]+){3}" n="1"/> 465 <has_line_matching expression="(\S+\t){2}[-+.e\d]+\t[.\d]+(\t\d+){4}(\t[.\d]+){3}" n="1"/>
466 <has_line_matching expression="##.*" negate="@NOCOMMENTS@"/>
122 </assert_contents> 467 </assert_contents>
123 </output> 468 </output>
124 </xml> 469 </xml>
125 <xml name="annotations_assertion" token_columns="21" token_add_metadata_columm_names="" token_add_column_names="" token_add_column_re=""> 470
471 <token name="@HELP_SEARCH_OUTPUTS@"><![CDATA[
472 **seed orthologs**
473
474 each line in the file provides the best match of each query within the best Orthologous Group (OG)
475 reported in the [project].hmm_hits file, obtained running PHMMER against all sequences within the best OG.
476 The seed ortholog is used to fetch fine-grained orthology relationships from eggNOG.
477 If using the diamond search mode, seed orthologs are directly
478 obtained from the best matching sequences by running DIAMOND against the whole eggNOG protein space.
479 ]]></token>
480
481 <!-- macros and tokens for annotate -->
482
483 <xml name="annotation_options_macro">
484 <param argument="--seed_ortholog_evalue" type="float" value="0.001" min="0" label="Min E-value threshold">
485 <help>
486 Min E-value expected when searching for seed eggNOG ortholog. Applies to phmmer/diamond searches.
487 Queries not having a significant seed orthologs (E-value less than threshold) will not be annotated.
488 </help>
489 </param>
490 <param argument="--seed_ortholog_score" type="float" optional="true" min="0" label="Minimum bit score threshold">
491 <help>
492 Min bit score expected when searching for seed eggNOG ortholog.
493 Queries not having a significant seed orthologs will not be annotated.
494 </help>
495 </param>
496 <param argument="--tax_scope" type="integer" optional="true" label="Set taxonomic scope" help="NCBI taxonomy id" />
497 <param argument="--target_orthologs" type="select" label="target orthologs for functional transfer">
498 <option value="one2one">one2one</option>
499 <option value="many2one">many2one</option>
500 <option value="one2many">one2many</option>
501 <option value="many2many">many2many</option>
502 <option value="all" selected="true">all</option>
503 </param>
504 <param argument="--go_evidence" type="select"
505 label="Select the set of GO terms that should be used for annotation">
506 <option value="experimental">experimental = Use only terms inferred from experimental evidence</option>
507 <option value="non-electronic" selected="true">non-electronic = Use only non-electronically curated terms</option>
508 <option value="all" selected="true">All (experimental + non-electronic)</option>
509 </param>
510 </xml>
511 <token name="@ANNOTATION_TOKEN@"><![CDATA[
512 #if str($annotation_options.seed_ortholog_evalue):
513 --seed_ortholog_evalue $annotation_options.seed_ortholog_evalue
514 #end if
515 #if str($annotation_options.seed_ortholog_score):
516 --seed_ortholog_score $annotation_options.seed_ortholog_score
517 #end if
518 #if $annotation_options.tax_scope:
519 --tax_scope=$annotation_options.tax_scope
520 #end if
521 #if $annotation_options.target_orthologs:
522 --target_orthologs=$annotation_options.target_orthologs
523 #end if
524 #if $annotation_options.go_evidence:
525 --go_evidence=$annotation_options.go_evidence
526 #end if
527 \$EGGNOG_DBMEM
528 ]]></token>
529 <xml name="annotation_output_macro">
530 <data name="annotations" format="tabular" label="${tool.name} on ${on_string}: annotations" from_work_dir="results.emapper.annotations">
531 <yield/>
532 <actions>
533 <conditional name="output_options.md5">
534 <when value="True">
535 <action name="column_names" type="metadata" default="query,seed_ortholog,evalue,score,eggNOG_OGs,max_annot_lvl,COG_category,Description,Preferred_name,GOs,EC,KEGG_ko,KEGG_Pathway,KEGG_Module,KEGG_Reaction,KEGG_rclass,BRITE,KEGG_TC,CAZy,BiGG_Reaction,PFAMseggNOG_OGs,md5"/>
536 </when>
537 <when value="False">
538 <action name="column_names" type="metadata" default="query,seed_ortholog,evalue,score,eggNOG_OGs,max_annot_lvl,COG_category,Description,Preferred_name,GOs,EC,KEGG_ko,KEGG_Pathway,KEGG_Module,KEGG_Reaction,KEGG_rclass,BRITE,KEGG_TC,CAZy,BiGG_Reaction,PFAMseggNOG_OGs"/>
539 </when>
540 </conditional>
541 </actions>
542 </data>
543 <data name="no_annotations" format="fasta" label="${tool.name} on ${on_string}: sequences without annotation" from_work_dir="results.emapper.no_annotations.fasta">
544 <filter>ortho_method['m'] == 'cache' and ortho_method['output_no_annotations']</filter>
545 </data>
546 </xml>
547
548 <xml name="annotation_orthologs_output_macro">
549 <data name="annotations_orthologs" format="tabular" label="${tool.name} on ${on_string}: orthologs" from_work_dir="results.emapper.orthologs">
550 <filter>ortho_method['m'] != 'cache'</filter>
551 <filter>output_options['report_orthologs']</filter>
552 <actions>
553 <action name="column_names" type="metadata" default="query,orth_type,species,orthologs"/>
554 </actions>
555 </data>
556 </xml>
557
558 <xml name="annotations_assertion" token_columns="21" token_add_metadata_columm_names="" token_add_column_names="" token_add_column_re="" token_nocomments="true">
126 <output name="annotations" ftype="tabular"> 559 <output name="annotations" ftype="tabular">
127 <metadata name="columns" value="@COLUMNS@" /> 560 <metadata name="columns" value="@COLUMNS@" />
128 <!-- <metadata name="column_names" value="query,seed_ortholog,evalue,score,max_annot_lvl,COG_category,Description,Preferred_name,GOs,EC,KEGG_ko,KEGG_Pathway,KEGG_Module,KEGG_Reaction,KEGG_rclass,BRITE,KEGG_TC,CAZy,BiGG_Reaction,PFAMseggNOG_OGs@ADD_METADATA_COLUMN_NAMES@" /> --> 561 <!-- <metadata name="column_names" value="query,seed_ortholog,evalue,score,max_annot_lvl,COG_category,Description,Preferred_name,GOs,EC,KEGG_ko,KEGG_Pathway,KEGG_Module,KEGG_Reaction,KEGG_rclass,BRITE,KEGG_TC,CAZy,BiGG_Reaction,PFAMseggNOG_OGs@ADD_METADATA_COLUMN_NAMES@" /> -->
129 <assert_contents> 562 <assert_contents>
130 <has_line line="#query&#009;seed_ortholog&#009;evalue&#009;score&#009;eggNOG_OGs&#009;max_annot_lvl&#009;COG_category&#009;Description&#009;Preferred_name&#009;GOs&#009;EC&#009;KEGG_ko&#009;KEGG_Pathway&#009;KEGG_Module&#009;KEGG_Reaction&#009;KEGG_rclass&#009;BRITE&#009;KEGG_TC&#009;CAZy&#009;BiGG_Reaction&#009;PFAMs@ADD_COLUMN_NAMES@"/> 563 <has_line line="#query&#009;seed_ortholog&#009;evalue&#009;score&#009;eggNOG_OGs&#009;max_annot_lvl&#009;COG_category&#009;Description&#009;Preferred_name&#009;GOs&#009;EC&#009;KEGG_ko&#009;KEGG_Pathway&#009;KEGG_Module&#009;KEGG_Reaction&#009;KEGG_rclass&#009;BRITE&#009;KEGG_TC&#009;CAZy&#009;BiGG_Reaction&#009;PFAMs@ADD_COLUMN_NAMES@"/>
131 <has_line_matching expression="(\S+\t){2}[-+.e\d]+\t[.\d]+(\t\S+){7}\tko:\S+(\t\S+){9}@ADD_COLUMN_RE@" n="1"/> 564 <has_line_matching expression="(\S+\t){2}[-+.e\d]+\t[.\d]+(\t\S+){7}\tko:\S+(\t\S+){9}@ADD_COLUMN_RE@" n="1"/>
565 <has_line_matching expression="##.*" negate="@NOCOMMENTS@"/>
132 </assert_contents> 566 </assert_contents>
133 </output> 567 </output>
134 </xml> 568 </xml>
135 <xml name="annotations_orthologs_assertion"> 569 <xml name="annotations_orthologs_assertion" token_nocomments="true">
136 <output name="annotations_orthologs" ftype="tabular"> 570 <output name="annotations_orthologs" ftype="tabular">
137 <metadata name="columns" value="4" /> 571 <metadata name="columns" value="4" />
138 <metadata name="column_names" value="query,orth_type,species,orthologs" /> 572 <metadata name="column_names" value="query,orth_type,species,orthologs" />
139 <assert_contents> 573 <assert_contents>
140 <has_line line="#query&#009;orth_type&#009;species&#009;orthologs"/> 574 <has_line line="#query&#009;orth_type&#009;species&#009;orthologs"/>
141 <has_line_matching expression="\S+\t(one2one|many2one|one2many|many2many|seed)(\t[^\t]+){2}" n="2"/> 575 <has_line_matching expression="\S+\t(one2one|many2one|one2many|many2many|seed)(\t[^\t]+){2}" n="2"/>
576 <has_line_matching expression="##.*" negate="@NOCOMMENTS@"/>
142 </assert_contents> 577 </assert_contents>
143 </output> 578 </output>
144 </xml> 579 </xml>
580 <token name="@HELP_ANNOTATION_OUTPUTS@"><![CDATA[
581 **annotations**
582
583 This file provides final annotations of each query. Tab-delimited columns in the file are:
584
585 - ``query_name``: query sequence name
586 - ``seed_eggNOG_ortholog``: best protein match in eggNOG
587 - ``seed_ortholog_evalue``: best protein match (e-value)
588 - ``seed_ortholog_score``: best protein match (bit-score)
589 - ``predicted_taxonomic_group``
590 - ``predicted_protein_name``: Predicted protein name for query sequences
591 - ``GO_terms``: Comma delimited list of predicted Gene Ontology terms
592 - ``EC_number``
593 - ``KEGG_KO``
594 - ``KEGG_Pathway``: Comma delimited list of predicted KEGG pathways
595 - ``KEGG_Module``
596 - ``KEGG_Reaction``
597 - ``KEGG_rclass``
598 - ``BRITE``
599 - ``KEGG_TC``
600 - ``CAZy``
601 - ``BiGG_Reactions``
602 - ``Annotation_tax_scope``: The taxonomic scope used to annotate this query sequence
603 - ``Matching_OGs``: Comma delimited list of matching eggNOG Orthologous Groups
604 - ``best_OG|evalue|score``: Best matching Orthologous Groups (deprecated, use smallest from eggnog OGs)
605 - ``COG_functional_categories``: COG functional category inferred from best matching OG
606 - ``eggNOG_free_text_description``
607
608 **orthologs**
609
610 This output is only created if the option ``--report_orthologs`` is checked.
611 It provides the orthologs used for the annotation. It's a tab delimited file with the following columns:
612
613 - ``query``
614 - ``orth_type`` Type of orthologs in this row. See --target_orthologs.
615 - ``species``
616 - ``orthologs`` comma-separated list of orthologs (If an ortholog shows a "*", such ortholog was used to transfer its annotations to the query.)
617
618 **sequences without annotation**
619
620 This output is created if cached annotations are used as input.
621 It is a FASTA file containing all sequences that are not found in the cached annotations.
622 These sequences can then be used as input for another run of the EggNOG mapper
623 computing seed orthologs with diamond, etc.
624 ]]></token>
145 </macros> 625 </macros>