comparison busco.xml @ 23:4e70d88adf2f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/busco/ commit 68696449a909c43d0e44bc9cfc8f8945e8a9dfce
author iuc
date Fri, 04 Apr 2025 11:18:42 +0000
parents e5c372c91e46
children
comparison
equal deleted inserted replaced
22:e5c372c91e46 23:4e70d88adf2f
6 <xrefs> 6 <xrefs>
7 <xref type="bio.tools">busco</xref> 7 <xref type="bio.tools">busco</xref>
8 </xrefs> 8 </xrefs>
9 <requirements> 9 <requirements>
10 <requirement type="package" version="@TOOL_VERSION@">busco</requirement> 10 <requirement type="package" version="@TOOL_VERSION@">busco</requirement>
11 <!-- update augustus_species if update the augustus pin -->
12 <requirement type="package" version="3.5.0">augustus</requirement>
11 <requirement type="package" version="1.34">tar</requirement> 13 <requirement type="package" version="1.34">tar</requirement>
12 <requirement type="package" version="1">fonts-conda-ecosystem</requirement> 14 <requirement type="package" version="1">fonts-conda-ecosystem</requirement>
15 <!-- TODO might be removed in the future: for some reason conda installs an outdated sepp 4.4.0 but the latest dendropy 5.x which are incompatible -->
16 <requirement type="package" version="4.5.5">sepp</requirement>
13 </requirements> 17 </requirements>
14 <version_command>busco --version</version_command> 18 <version_command>busco --version</version_command>
15 <command><![CDATA[ 19 <command><![CDATA[
20 ## tool tests can not run with --offline (otherwise we would need to store a lot of data at IUC)
21 ## so we create a mock dir in the working dir where the tool can write to
22 ##
23 ## a more thorough test can be executed as follows
24 ## - set the `test` parameters to `""`
25 ## - download complete reference DB (~200G, final 105G) to tools/busco/test-data/test-db/busco_downloads
26 ## ```
27 ## busco --download_path tools/busco/test-data/test-db/busco_downloads/ --download all
28 ## find tools/busco/test-data/test-db/busco_downloads/lineages/ -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -exec rm -rf {} \;
29 ## find tools/busco/test-data/test-db/busco_downloads/placement_files -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -delete
30 ## find tools/busco/test-data/test-db/busco_downloads/lineages/ -name "*.faa.gz" -exec gunzip {} \;;
31 ## ```
32 ## - test containerized (note: test-data is mounted ro in containerized tests)
33 ##
34 ## alternatively .. a bit weaker
35 ## - set the `test` parameters to `""` comment --offline
36 ## - run test NOT containerized (this will download the data needed for the tests)
37 ## - uncomment --offline and test containerized
38 #if $test == 'true'
39 mkdir mock_db_path/ &&
40 cp -r '$cached_db.fields.path'/* mock_db_path/ &&
41 #end if
16 42
17 #if $busco_mode.mode == 'geno' and $busco_mode.use_augustus.use_augustus_selector == 'augustus': 43 #if $busco_mode.mode == 'geno' and $busco_mode.use_augustus.use_augustus_selector == 'augustus':
18 44
19 if [ -z "\$AUGUSTUS_CONFIG_PATH" ] ; then BUSCO_PATH=\$(dirname \$(which busco)) ; export AUGUSTUS_CONFIG_PATH=\$(realpath \${BUSCO_PATH}/../config) ; fi && 45 if [ -z "\$AUGUSTUS_CONFIG_PATH" ] ; then BUSCO_PATH=\$(dirname \$(which busco)) ; export AUGUSTUS_CONFIG_PATH=\$(realpath \${BUSCO_PATH}/../config) ; fi &&
20 cp -r "\$AUGUSTUS_CONFIG_PATH/" augustus_dir/ && 46 cp -r "\$AUGUSTUS_CONFIG_PATH/" augustus_dir/ &&
23 #if $busco_mode.use_augustus.aug_prediction.augustus_mode == 'history': 49 #if $busco_mode.use_augustus.aug_prediction.augustus_mode == 'history':
24 ## Using an augustus model from history, we need to unzip it and let augustus find it 50 ## Using an augustus model from history, we need to unzip it and let augustus find it
25 mkdir -p 'augustus_dir/species/' && 51 mkdir -p 'augustus_dir/species/' &&
26 tar -C 'augustus_dir/species/' -xzf '${busco_mode.use_augustus.aug_prediction.augustus_model}' && 52 tar -C 'augustus_dir/species/' -xzf '${busco_mode.use_augustus.aug_prediction.augustus_model}' &&
27 #end if 53 #end if
28 54 #end if
55
56 #if $input.is_of_type("fasta.gz")
57 gunzip -c '$input' > input.fa &&
58 #else
59 ln -s '$input' input.fa &&
29 #end if 60 #end if
30 61
31 busco 62 busco
32 --in '${input}' 63 --in 'input.fa'
33 --mode '${busco_mode.mode}' 64 --mode '${busco_mode.mode}'
34 --out busco_galaxy 65 --out busco_galaxy
35 --cpu \${GALAXY_SLOTS:-4} 66 --cpu \${GALAXY_SLOTS:-4}
36 --evalue ${adv.evalue} 67 --evalue ${adv.evalue}
37 --limit ${adv.limit} 68 --limit ${adv.limit}
38 --contig_break ${adv.contig_break} 69 --contig_break ${adv.contig_break}
39 70 #if $test == 'true'
40 #if $lineage_conditional.selector == 'cached': 71 --download_path mock_db_path
41 --offline 72 #else
42 --download_path $lineage_conditional.cached_db.fields.path 73 --offline
74 --download_path '$cached_db.fields.path'
43 #end if 75 #end if
44 76
45 #if $lineage.lineage_mode == "auto_detect": 77 #if $lineage.lineage_mode == "auto_detect":
46 $lineage.auto_lineage 78 $lineage.auto_lineage
47 #else if $lineage.lineage_mode == "select_lineage": 79 #else if $lineage.lineage_mode == "select_lineage":
63 --metaeuk 95 --metaeuk
64 #end if 96 #end if
65 #end if 97 #end if
66 98
67 #if $outputs and 'image' in $outputs: 99 #if $outputs and 'image' in $outputs:
68 && 100 && mkdir BUSCO_summaries
69 mkdir BUSCO_summaries 101 && cp busco_galaxy/short_summary.*.txt BUSCO_summaries/
70 && 102 && generate_plot.py -wd BUSCO_summaries -rt specific
71 ls -l busco_galaxy/run_*/ &&
72 cp busco_galaxy/short_summary.*.txt BUSCO_summaries/
73 &&
74 generate_plot.py -wd BUSCO_summaries -rt specific
75 #end if 103 #end if
76 104
77 #if $outputs and 'gff' in $outputs: 105 #if $outputs and 'gff' in $outputs:
78 && 106 && echo "\##gff-version 3" > busco_output.gff
79 echo "\##gff-version 3" > busco_output.gff
80 &&
81 ## gff files can be absent 107 ## gff files can be absent
82 cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.gff >> busco_output.gff 2> /dev/null || true 108 && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.gff >> busco_output.gff 2> /dev/null || true)
83 #end if 109 #end if
84 110 #if $outputs and 'faa' in $outputs:
85 111 && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.faa >> busco_output.faa 2> /dev/null || true)
112 #end if
113 #if $outputs and 'fna' in $outputs:
114 && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.fna >> busco_output.fna 2> /dev/null || true)
115 #end if
86 ]]></command> 116 ]]></command>
87 <inputs> 117 <inputs>
88 <param type="data" name="input" format="fasta" label="Sequences to analyse" help="Can be an assembled genome or transcriptome (DNA), or protein sequences from an annotated gene set."/> 118 <param name="test" type="hidden"/>
89 <conditional name="lineage_conditional"> 119 <param type="data" name="input" format="fasta,fasta.gz" label="Sequences to analyse" help="Can be an assembled genome or transcriptome (DNA), or protein sequences from an annotated gene set."/>
90 <param name="selector" type="select" label="Lineage data source"> 120 <param name="cached_db" label="Cached database with lineage" type="select">
91 <option value="download">Download lineage data</option> 121 <options from_data_table="busco_database">
92 <option value="cached">Use cached lineage data</option> 122 <validator message="No BUSCO database is available - please contact your Galaxy admin." type="no_options"/>
93 </param> 123 </options>
94 <when value="cached"> 124 </param>
95 <param name="cached_db" label="Cached database with lineage" type="select">
96 <options from_data_table="busco_database">
97 <validator message="No BUSCO database is available" type="no_options"/>
98 </options>
99 </param>
100 </when>
101 <when value="download"/>
102 </conditional>
103 <conditional name="busco_mode"> 125 <conditional name="busco_mode">
104 <param argument="--mode" type="select" label="Mode"> 126 <param argument="--mode" type="select" label="Mode">
105 <option value="geno">Genome assemblies (DNA)</option> 127 <option value="geno">Genome assemblies (DNA)</option>
106 <option value="tran">Transcriptome assemblies (DNA)</option> 128 <option value="tran">Transcriptome assemblies (DNA)</option>
107 <option value="prot">annotated gene sets (protein)</option> 129 <option value="prot">Annotated gene sets (protein)</option>
108 </param> 130 </param>
109 <when value="geno"> 131 <when value="geno">
110 <conditional name="use_augustus"> 132 <conditional name="use_augustus">
111 <param name="use_augustus_selector" type="select" label="Select a gene predictor" help="In the case of a prokaryotic genome, Prodigal is the default gene predictor"> 133 <param name="use_augustus_selector" type="select" label="Select a gene predictor" help="In the case of a prokaryotic genome, Prodigal is the default gene predictor">
112 <option value="augustus">Augustus</option> 134 <option value="augustus">Augustus</option>
125 <when value="no"/> 147 <when value="no"/>
126 <when value="history"> 148 <when value="history">
127 <param name="augustus_model" type="data" format="augustus" label="Augustus model"/> 149 <param name="augustus_model" type="data" format="augustus" label="Augustus model"/>
128 </when> 150 </when>
129 <when value="builtin"> 151 <when value="builtin">
130 <param name="augustus_species" type="select" label="Augustus species model"> 152 <param name="augustus_species" type="select" label="Augustus species model" help="If model name is different than species name it is shown in parentheses." >
131 <expand macro="augustus_species"/> 153 <expand macro="augustus_species"/>
132 </param> 154 </param>
133 </when> 155 </when>
134 </conditional> 156 </conditional>
135 <param argument="--long" type="boolean" checked="false" truevalue="--long" falsevalue="" label="Optimization mode Augustus self-training" help="Adds considerably to run time, but can improve results for some non-model organisms"/> 157 <param argument="--long" type="boolean" checked="false" truevalue="--long" falsevalue="" label="Optimization mode Augustus self-training" help="Adds considerably to run time, but can improve results for some non-model organisms"/>
151 <option value="--auto-lineage-euk">Eukaryotes (--auto-lineage-euk)</option> 173 <option value="--auto-lineage-euk">Eukaryotes (--auto-lineage-euk)</option>
152 </param> 174 </param>
153 </when> 175 </when>
154 <when value="select_lineage"> 176 <when value="select_lineage">
155 <param argument="--lineage_dataset" type="select" label="Lineage"> 177 <param argument="--lineage_dataset" type="select" label="Lineage">
156 <expand macro="lineages"/> 178 <options from_data_table="busco_database_options">
179 <filter type="param_value" column="2" ref="cached_db"/>
180 </options>
157 </param> 181 </param>
158 </when> 182 </when>
159 </conditional> 183 </conditional>
160 184
161 <param name="outputs" type="select" optional="true" multiple="true" label="Which outputs should be generated"> 185 <param name="outputs" type="select" optional="true" multiple="true" label="Which outputs should be generated">
162 <option value="short_summary" selected="true">short summary text</option> 186 <option value="short_summary" selected="true">short summary text</option>
163 <option value="missing">list with missing IDs</option> 187 <option value="missing">list with missing IDs</option>
164 <option value="image">summary image</option> 188 <option value="image">summary image</option>
165 <option value="gff">gff</option> 189 <option value="gff">gff</option>
190 <option value="faa">Protein sequences</option>
191 <option value="fna">Nucleotide sequences</option>
166 </param> 192 </param>
167 193
168 <section name="adv" title="Advanced Options" expanded="False"> 194 <section name="adv" title="Advanced Options" expanded="False">
169 <param argument="--evalue" type="float" value="0.001" min="0" max="1" label="E-value cutoff for BLAST searches."/> 195 <param argument="--evalue" type="float" value="0.001" min="0" max="1" label="E-value cutoff for BLAST searches."/>
170 <param argument="--limit" type="integer" value="3" label="How many candidate regions to consider"/> 196 <param argument="--limit" type="integer" value="3" label="How many candidate regions to consider"/>
184 <filter>outputs and 'image' in outputs</filter> 210 <filter>outputs and 'image' in outputs</filter>
185 </data> 211 </data>
186 <data name='busco_gff' format='gff3' label="${tool.name} on ${on_string}: GFF" from_work_dir="busco_output.gff"> 212 <data name='busco_gff' format='gff3' label="${tool.name} on ${on_string}: GFF" from_work_dir="busco_output.gff">
187 <filter>outputs and 'gff' in outputs</filter> 213 <filter>outputs and 'gff' in outputs</filter>
188 </data> 214 </data>
215 <data name='busco_faa' format='fasta' label="${tool.name} on ${on_string}: Protein sequences" from_work_dir="busco_output.faa">
216 <filter>outputs and 'faa' in outputs</filter>
217 </data>
218 <data name='busco_fna' format='fasta' label="${tool.name} on ${on_string}: Nucleotide sequences" from_work_dir="busco_output.fna">
219 <filter>outputs and 'fna' in outputs</filter>
220 </data>
189 </outputs> 221 </outputs>
190 222
191 <tests> 223 <tests>
192 <test expect_num_outputs="4"> 224 <!-- <test expect_num_outputs="6">
193 <param name="input" value="genome.fa"/> 225 <param name="test" value="true"/>
226 <param name="input" value="genome.fa.gz" ftype="fasta.gz"/>
194 <conditional name="lineage"> 227 <conditional name="lineage">
195 <param name="lineage_mode" value="select_lineage"/> 228 <param name="lineage_mode" value="select_lineage"/>
196 <param name="lineage_dataset" value="arthropoda_odb10"/> 229 <param name="lineage_dataset" value="arthropoda_odb10"/>
197 </conditional> 230 </conditional>
198 <conditional name="busco_mode"> 231 <conditional name="busco_mode">
199 <param name="mode" value="geno"/> 232 <param name="mode" value="geno"/>
200 <conditional name="use_augustus"> 233 <conditional name="use_augustus">
201 <param name="use_augustus_selector" value="augustus"/> 234 <param name="use_augustus_selector" value="augustus"/>
202 </conditional> 235 </conditional>
203 </conditional> 236 </conditional>
204 <param name="outputs" value="short_summary,missing,gff"/> 237 <param name="outputs" value="short_summary,missing,gff,faa,fna"/>
205 <output name="busco_sum"> 238 <output name="busco_sum">
206 <assert_contents> 239 <assert_contents>
207 <has_text text="# BUSCO version is: @TOOL_VERSION@"/> 240 <has_text text="# BUSCO version is: @TOOL_VERSION@"/>
208 <has_text text="Gene predictor used: augustus"/> 241 <has_text text="Gene predictor used: augustus"/>
209 </assert_contents> 242 </assert_contents>
213 <assert_contents> 246 <assert_contents>
214 <has_n_lines n="1"/> 247 <has_n_lines n="1"/>
215 <has_text text="##gff-version 3"/> 248 <has_text text="##gff-version 3"/>
216 </assert_contents> 249 </assert_contents>
217 </output> 250 </output>
251 <output name="busco_fna">
252 <assert_contents>
253 <has_text text=">"/>
254 </assert_contents>
255 </output>
256 <output name="busco_faa">
257 <assert_contents>
258 <has_text text=">"/>
259 </assert_contents>
260 </output>
218 <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="10"/> 261 <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="10"/>
262 <assert_stdout>
263 <has_text text="BUSCO analysis done"/>
264 </assert_stdout>
219 </test> 265 </test>
220 <test expect_num_outputs="5"> 266 <test expect_num_outputs="5">
267 <param name="test" value="true"/>
221 <param name="input" value="proteome.fa"/> 268 <param name="input" value="proteome.fa"/>
222 <conditional name="lineage"> 269 <conditional name="lineage">
223 <param name="lineage_mode" value="select_lineage"/> 270 <param name="lineage_mode" value="select_lineage"/>
224 <param name="lineage_dataset" value="arthropoda_odb10"/> 271 <param name="lineage_dataset" value="arthropoda_odb10"/>
225 </conditional> 272 </conditional>
240 <assert_contents> 287 <assert_contents>
241 <has_n_lines n="1"/> 288 <has_n_lines n="1"/>
242 <has_text text="##gff-version 3"/> 289 <has_text text="##gff-version 3"/>
243 </assert_contents> 290 </assert_contents>
244 </output> 291 </output>
292 <assert_stdout>
293 <has_text text="BUSCO analysis done"/>
294 </assert_stdout>
245 </test> 295 </test>
246 <test expect_num_outputs="5"> 296 <test expect_num_outputs="5">
297 <param name="test" value="true"/>
247 <param name="input" value="transcriptome.fa"/> 298 <param name="input" value="transcriptome.fa"/>
248 <conditional name="lineage"> 299 <conditional name="lineage">
249 <param name="lineage_mode" value="select_lineage"/> 300 <param name="lineage_mode" value="select_lineage"/>
250 <param name="lineage_dataset" value="arthropoda_odb10"/> 301 <param name="lineage_dataset" value="arthropoda_odb10"/>
251 </conditional> 302 </conditional>
260 </output> 311 </output>
261 <output name="busco_table" file="transcriptome_results/full_table" compare="diff" lines_diff="6"/> 312 <output name="busco_table" file="transcriptome_results/full_table" compare="diff" lines_diff="6"/>
262 <output name="busco_missing" file="transcriptome_results/missing_buscos_list" compare="diff" lines_diff="6"/> 313 <output name="busco_missing" file="transcriptome_results/missing_buscos_list" compare="diff" lines_diff="6"/>
263 <output name="summary_image" file="transcriptome_results/summary.png" compare="sim_size"/> 314 <output name="summary_image" file="transcriptome_results/summary.png" compare="sim_size"/>
264 <output name="busco_gff" file="transcriptome_results/out.gff" compare="diff"/> 315 <output name="busco_gff" file="transcriptome_results/out.gff" compare="diff"/>
316 <assert_stdout>
317 <has_text text="BUSCO analysis done"/>
318 </assert_stdout>
265 </test> 319 </test>
266 <test expect_num_outputs="3"> 320 <test expect_num_outputs="3">
321 <param name="test" value="true"/>
267 <param name="input" value="genome.fa"/> 322 <param name="input" value="genome.fa"/>
268 <conditional name="lineage"> 323 <conditional name="lineage">
269 <param name="lineage_mode" value="select_lineage"/> 324 <param name="lineage_mode" value="select_lineage"/>
270 <param name="lineage_dataset" value="arthropoda_odb10"/> 325 <param name="lineage_dataset" value="arthropoda_odb10"/>
271 </conditional> 326 </conditional>
290 <assert_contents> 345 <assert_contents>
291 <has_n_lines n="1"/> 346 <has_n_lines n="1"/>
292 <has_text text="##gff-version 3"/> 347 <has_text text="##gff-version 3"/>
293 </assert_contents> 348 </assert_contents>
294 </output> 349 </output>
350 <assert_stdout>
351 <has_text text="BUSCO analysis done"/>
352 </assert_stdout>
295 </test> 353 </test>
296 <test expect_num_outputs="3"> 354 <test expect_num_outputs="3">
355 <param name="test" value="true"/>
297 <param name="input" value="genome.fa"/> 356 <param name="input" value="genome.fa"/>
298 <conditional name="lineage"> 357 <conditional name="lineage">
299 <param name="lineage_mode" value="select_lineage"/> 358 <param name="lineage_mode" value="select_lineage"/>
300 <param name="lineage_dataset" value="arthropoda_odb10"/> 359 <param name="lineage_dataset" value="arthropoda_odb10"/>
301 </conditional> 360 </conditional>
316 <has_text text="# BUSCO version is: @TOOL_VERSION@"/> 375 <has_text text="# BUSCO version is: @TOOL_VERSION@"/>
317 </assert_contents> 376 </assert_contents>
318 </output> 377 </output>
319 <output name="busco_table" file="genome_results/full_table" compare="diff" lines_diff="10"/> 378 <output name="busco_table" file="genome_results/full_table" compare="diff" lines_diff="10"/>
320 <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="10"/> 379 <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="10"/>
380 <assert_stdout>
381 <has_text text="BUSCO analysis done"/>
382 </assert_stdout>
321 </test> 383 </test>
322 <test expect_num_outputs="5"> 384 <test expect_num_outputs="5">
385 <param name="test" value="true"/>
323 <param name="input" value="genome.fa"/> 386 <param name="input" value="genome.fa"/>
324 <conditional name="lineage"> 387 <conditional name="lineage">
325 <param name="lineage_mode" value="select_lineage"/> 388 <param name="lineage_mode" value="select_lineage"/>
326 <param name="lineage_dataset" value="arthropoda_odb10"/> 389 <param name="lineage_dataset" value="arthropoda_odb10"/>
327 </conditional> 390 </conditional>
349 <has_text text="9647at6656"/> 412 <has_text text="9647at6656"/>
350 </assert_contents> 413 </assert_contents>
351 </output> 414 </output>
352 <output name="summary_image" file="genome_results_metaeuk/summary.png" compare="sim_size"/> 415 <output name="summary_image" file="genome_results_metaeuk/summary.png" compare="sim_size"/>
353 <output name="busco_gff" file="genome_results_metaeuk/out.gff3" compare="diff" lines_diff="6"/> 416 <output name="busco_gff" file="genome_results_metaeuk/out.gff3" compare="diff" lines_diff="6"/>
354 </test> 417 <assert_stdout>
418 <has_text text="BUSCO analysis done"/>
419 </assert_stdout>
420 </test> -->
355 <test expect_num_outputs="5"> 421 <test expect_num_outputs="5">
422 <param name="test" value="true"/>
356 <param name="input" value="genome.fa"/> 423 <param name="input" value="genome.fa"/>
357 <conditional name="lineage"> 424 <conditional name="lineage">
358 <param name="lineage_mode" value="auto_detect"/> 425 <param name="lineage_mode" value="auto_detect"/>
359 <param name="auto_lineage" value="--auto-lineage"/> 426 <param name="auto_lineage" value="--auto-lineage"/>
360 </conditional> 427 </conditional>
382 <has_text text="The lineage dataset is: eukaryota_odb10"/> 449 <has_text text="The lineage dataset is: eukaryota_odb10"/>
383 </assert_contents> 450 </assert_contents>
384 </output> 451 </output>
385 <output name="summary_image" file="genome_results_metaeuk_auto/summary.png" compare="sim_size"/> 452 <output name="summary_image" file="genome_results_metaeuk_auto/summary.png" compare="sim_size"/>
386 <output name="busco_gff" file="genome_results_metaeuk_auto/out.gff" compare="diff"/> 453 <output name="busco_gff" file="genome_results_metaeuk_auto/out.gff" compare="diff"/>
454 <assert_stdout>
455 <has_text text="BUSCO analysis done"/>
456 </assert_stdout>
387 </test> 457 </test>
388 <test expect_num_outputs="3"> 458 <!-- <test expect_num_outputs="3">
459 <param name="test" value="true"/>
389 <param name="input" value="genome.fa"/> 460 <param name="input" value="genome.fa"/>
390 <conditional name="lineage"> 461 <conditional name="lineage">
391 <param name="lineage_mode" value="select_lineage"/> 462 <param name="lineage_mode" value="select_lineage"/>
392 <param name="lineage_dataset" value="arthropoda_odb10"/> 463 <param name="lineage_dataset" value="arthropoda_odb10"/>
393 </conditional> 464 </conditional>
402 <assert_contents> 473 <assert_contents>
403 <has_text text="# BUSCO version is: @TOOL_VERSION@"/> 474 <has_text text="# BUSCO version is: @TOOL_VERSION@"/>
404 <has_text text="9647at6656"/> 475 <has_text text="9647at6656"/>
405 </assert_contents> 476 </assert_contents>
406 </output> 477 </output>
407 </test> 478 <assert_stdout>
479 <has_text text="BUSCO analysis done"/>
480 </assert_stdout>
481 </test> -->
408 </tests> 482 </tests>
409 <help><![CDATA[ 483 <help><![CDATA[
410 484
411 485
412 BUSCO: Assessing genome assembly and annotation completeness with Benchmarking Universal Single-Copy Orthologs 486 BUSCO: Assessing genome assembly and annotation completeness with Benchmarking Universal Single-Copy Orthologs