| Miscellaneous |
| Version lineage of this tool (guids ordered most recent to oldest) |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy2 (this tool) |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy1 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.7.1+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.5+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.4+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.1+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.2.2+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.2.2+galaxy1 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.2.2+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.2.1+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.0.0+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/4.1.4 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/4.1.2 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/3.0.2+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/3.0.2+galaxy1 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/3.0.2+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/3.0.2 |
| toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/2.0 |
| busco |
| Requirements (dependencies defined in the <requirements> tag set) |
| name | version | type |
| busco | 5.8.0 | package |
| augustus | 3.5.0 | package |
| tar | 1.34 | package |
| fonts-conda-ecosystem | 1 | package |
| sepp | 4.5.5 | package |
| Additional information about this tool |
## tool tests can not run with --offline (otherwise we would need to store a lot of data at IUC)
## so we create a mock dir in the working dir where the tool can write to
##
## a more thorough test can be executed as follows
## - set the `test` parameters to `""`
## - download complete reference DB (~200G, final 105G) to tools/busco/test-data/test-db/busco_downloads
## ```
## busco --download_path tools/busco/test-data/test-db/busco_downloads/ --download all
## find tools/busco/test-data/busco_downloads/lineages/ -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -exec rm -rf {} \;
## find tools/busco/test-data/busco_downloads/placement_files -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -delete
## find tools/busco/test-data/busco_downloads/lineages/ -name "*.faa.gz" -exec gunzip {} \;;
## ```
## - test containerized (note: test-data is mounted ro in containerized tests)
##
## alternatively .. a bit weaker
## - set the `test` parameters to `""` comment --offline
## - run test NOT containerized (this will download the data needed for the tests)
## - uncomment --offline and test containerized
#if $test == 'true'
mkdir mock_db_path/ &&
cp -r '$cached_db.fields.path'/* mock_db_path/ &&
#end if
#if $busco_mode.mode == 'geno' and $busco_mode.use_augustus.use_augustus_selector == 'augustus':
if [ -z "\$AUGUSTUS_CONFIG_PATH" ] ; then BUSCO_PATH=\$(dirname \$(which busco)) ; export AUGUSTUS_CONFIG_PATH=\$(realpath \${BUSCO_PATH}/../config) ; fi &&
cp -r "\$AUGUSTUS_CONFIG_PATH/" augustus_dir/ &&
export AUGUSTUS_CONFIG_PATH=`pwd`/augustus_dir/ &&
#if $busco_mode.use_augustus.aug_prediction.augustus_mode == 'history':
## Using an augustus model from history, we need to unzip it and let augustus find it
mkdir -p 'augustus_dir/species/' &&
tar -C 'augustus_dir/species/' -xzf '${busco_mode.use_augustus.aug_prediction.augustus_model}' &&
#end if
#end if
#if $input.is_of_type("fasta.gz")
gunzip -c '$input' > input.fa &&
#else
ln -s '$input' input.fa &&
#end if
busco
--in 'input.fa'
--mode '${busco_mode.mode}'
--out busco_galaxy
--cpu \${GALAXY_SLOTS:-4}
--evalue ${adv.evalue}
--limit ${adv.limit}
--contig_break ${adv.contig_break}
#if $test == 'true'
--download_path mock_db_path
#else
--offline
--download_path '$cached_db.fields.path'
#end if
#if $lineage.lineage_mode == "auto_detect":
$lineage.auto_lineage
#else if $lineage.lineage_mode == "select_lineage":
--lineage_dataset '${lineage.lineage_dataset}'
#end if
#if $busco_mode.mode == 'geno':
#if $busco_mode.use_augustus.use_augustus_selector == 'miniprot':
--miniprot
#elif $busco_mode.use_augustus.use_augustus_selector == 'augustus':
${busco_mode.use_augustus.long}
--augustus
#if $busco_mode.use_augustus.aug_prediction.augustus_mode == 'builtin':
--augustus_species '${busco_mode.use_augustus.aug_prediction.augustus_species}'
#else if $busco_mode.use_augustus.aug_prediction.augustus_mode == 'history':
--augustus_species local
#end if
#else:
--metaeuk
#end if
#end if
#if $lineage.lineage_mode != "auto_detect":
&& cp busco_galaxy/run_*/full_table.tsv busco_galaxy/full_table_specific_lineage.tsv
&& cp busco_galaxy/run_*/missing_busco_list.tsv busco_galaxy/missing_busco_list_specific_lineage.tsv
#if $outputs and 'image' in $outputs:
&& mkdir BUSCO_summaries
&& cp busco_galaxy/short_summary.*.txt BUSCO_summaries/
&& generate_plot.py -wd BUSCO_summaries -rt specific
&& cp BUSCO_summaries/busco_figure.png busco_galaxy/busco_figure_specific_lineage.png
#end if
#if $outputs and 'gff' in $outputs:
&& echo "\##gff-version 3" > busco_galaxy/busco_output.gff
## gff files can be absent
&& (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.gff >> busco_galaxy/busco_output_specific.gff 2> /dev/null || true)
#end if
#if $outputs and 'faa' in $outputs:
&& (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.faa >> busco_galaxy/busco_output_specific.faa 2> /dev/null || true)
#end if
#if $outputs and 'fna' in $outputs:
&& (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.fna >> busco_galaxy/busco_output_specific.fna 2> /dev/null || true)
#end if
#end if
## if $lineage.lineage_mode == "auto_detect", BUSCO output several files with the same name, causing an issue, we need to rename the files
#if $lineage.lineage_mode == "auto_detect":
&& specific_lineage=\$(find ./busco_galaxy -name "short_summary.specific.*.txt" | head -n 1 | cut -d'.' -f4)
&& generic_lineage=\$(find ./busco_galaxy -name "short_summary.generic.*.txt" | head -n 1 | cut -d'.' -f4)
##Rename the output files to differenciate specific and generic lineages results
## Full table
&& cp busco_galaxy/run_\${specific_lineage}/full_table.tsv busco_galaxy/full_table_specific_lineage.tsv
&& cp busco_galaxy/run_\${generic_lineage}/full_table.tsv busco_galaxy/full_table_generic_lineage.tsv
##Missing busco list
&& cp busco_galaxy/run_\${specific_lineage}/missing_busco_list.tsv busco_galaxy/missing_busco_list_specific_lineage.tsv
&& cp busco_galaxy/run_\${generic_lineage}/missing_busco_list.tsv busco_galaxy/missing_busco_list_generic_lineage.tsv
#if $outputs and 'image' in $outputs:
&& mkdir BUSCO_summaries_specific
&& cp busco_galaxy/short_summary.specific.*.txt BUSCO_summaries_specific/
&& generate_plot.py -wd BUSCO_summaries_specific -rt specific
&& cp BUSCO_summaries_specific/busco_figure.png busco_galaxy/busco_figure_specific_lineage.png
&& mkdir BUSCO_summaries_generic
&& cp busco_galaxy/short_summary.generic.*.txt BUSCO_summaries_generic/
&& generate_plot.py -wd BUSCO_summaries_generic -rt generic
&& cp BUSCO_summaries_generic/busco_figure.png busco_galaxy/busco_figure_generic_lineage.png
#end if
#if $outputs and 'gff' in $outputs:
## gff files can be absent
&& echo "\##gff-version 3" > busco_galaxy/busco_output_specific.gff
&& (cat busco_galaxy/run_\${specific_lineage}/busco_sequences/*busco_sequences/*.gff >> busco_galaxy/busco_output_specific.gff 2> /dev/null || true)
&& echo "\##gff-version 3" > busco_galaxy/busco_output_generic.gff
&& (cat busco_galaxy/run_\${generic_lineage}/busco_sequences/*busco_sequences/*.gff >> busco_galaxy/busco_output_generic.gff 2> /dev/null || true)
#end if
#if $outputs and 'faa' in $outputs:
&& (cat busco_galaxy/run_\${specific_lineage}/busco_sequences/*busco_sequences/*.faa >> busco_galaxy/busco_output_specific.faa 2> /dev/null || true)
&& (cat busco_galaxy/run_\${generic_lineage}/busco_sequences/*busco_sequences/*.faa >> busco_galaxy/busco_output_generic.faa 2> /dev/null || true)
#end if
#if $outputs and 'fna' in $outputs:
&& (cat busco_galaxy/run_\${specific_lineage}/busco_sequences/*busco_sequences/*.fna >> busco_galaxy/busco_output_specific.fna 2> /dev/null || true)
&& (cat busco_galaxy/run_\${generic_lineage}/busco_sequences/*busco_sequences/*.fna >> busco_galaxy/busco_output_generic.fna 2> /dev/null || true)
#end if
#end if
| Functional tests |
| name | inputs | outputs | required files |
| Test-1 |
test: true input: bacilli_odb_test.fasta busco_mode|mode: geno lineage|auto_lineage: --auto-lineage-prok lineage|lineage_mode: auto_detect outputs: short_summary |
name: value name: value |
bacilli_odb_test.fasta value |
| Test-2 |
test: true input: genome.fa busco_mode|use_augustus|use_augustus_selector: metaeuk busco_mode|mode: geno lineage|auto_lineage: --auto-lineage lineage|generic_results: True lineage|lineage_mode: auto_detect outputs: ['short_summary', 'missing', 'image', 'gff'] |
name: value name: value name: value name: value name: value name: value name: value name: value name: value name: value |
genome.fa value |