Repository revision
23:4e70d88adf2f

Repository 'busco'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/busco

Busco tool metadata
Miscellaneous
Busco
Assess genome assembly and annotation completeness
busco
toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy1
5.8.0+galaxy1
busco --version
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy1 (this tool)
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/test-db/busco_downloads/lineages/ -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -exec rm -rf {} \;
##   find tools/busco/test-data/test-db/busco_downloads/placement_files -mindepth 1 -maxdepth 1 ! -name '*_odb10*' -delete
##   find tools/busco/test-data/test-db/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 $outputs and 'image' in $outputs:
    && mkdir BUSCO_summaries
    && cp busco_galaxy/short_summary.*.txt BUSCO_summaries/
    && generate_plot.py -wd BUSCO_summaries -rt specific
#end if

#if $outputs and 'gff' in $outputs:
    && echo "\##gff-version 3" > busco_output.gff
    ## gff files can be absent
    && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.gff >> busco_output.gff 2> /dev/null || true)
#end if
#if $outputs and 'faa' in $outputs:
    && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.faa >> busco_output.faa 2> /dev/null || true)
#end if
#if $outputs and 'fna' in $outputs:
    && (cat busco_galaxy/run_*/busco_sequences/*busco_sequences/*.fna >> busco_output.fna 2> /dev/null || true)
#end if
None
False
Functional tests
name inputs outputs required files
Test-1 test: true
input: genome.fa
busco_mode|use_augustus|use_augustus_selector: metaeuk
busco_mode|mode: geno
lineage|auto_lineage: --auto-lineage
lineage|lineage_mode: auto_detect
outputs: ['short_summary', 'missing', 'image', 'gff']
name: value
name: value
name: value
name: value
name: value
genome.fa
value