BUSCO

From Alliance Doc
Revision as of 19:40, 11 October 2023 by Diane27 (talk | contribs)
Jump to navigation Jump to search
Other languages:


BUSCO (pour Benchmarking Universal Single-Copy Orthologs) est une application qui permet d'évaluer la complétude de l'assemblage et de l'annotation de génomes.

Pour plus d’information, consultez le manuel d'utilisation.

Versions disponibles

Les versions récentes sont disponibles dans des wheels et la plus ancienne version dans un module (voir la section Modules ci-dessous).

Pour connaître la plus récente version, lancez

Question.png
[name@server ~]$ avail_wheel busco

Wheels Python

Installation

1. Chargez les modules nécessaires.

[name@server ~]$ module load StdEnv/2020 gcc python/3.10
[name@server ~]$ module load python augustus hmmer blast+ metaeuk prodigal r


2. Créez l'environnement virtuel.

[name@server ~]$ virtualenv busco_env
[name@server ~]$ source busco_env/bin/activate


3. Installez le wheel et ses dépendances.

Question.png
(busco_env) $ pip install biopython pandas busco --no-index

Utilisation

Ensembles de données

Avant de soumettre votre tâche, chargez les ensembles de données à partir de Index of /v5/data/.

Test

4. Téléchargez les données de test:

[name@server ~]$ wget https://gitlab.com/ezlab/busco/-/raw/master/test_data/bacteria/genome.fna
[name@server ~]$ wget https://busco-data.ezlab.org/v5/data/lineages/bacteria_odb10.2020-03-06.tar.gz


5. Lancez la commande

Question.png
[name@server ~]$ busco --offline --in genome.fna --out TEST --lineage_dataset bacteria_odb10 --mode genome --cpu ${SLURM_CPUS_PER_TASK-1}

Cette commande devrait prendre moins de 60 secondes. Les tâches dont la production est plus longue doivent être soumises à l'ordonnanceur.

Options pour votre script

Spécifiez --offline pour ne pas utiliser l'internet.

Dans le script de soumission de la tâche, spécifiez --cpu dans $SLURM_CPUS_PER_TASK pour utiliser le nombre de CPU alloués.

Spécifiez --restart pour redémarrer une tâche interrompue.

Modules

1. Chargez les modules nécessaires.

Question.png
[name@server ~]$ module load StdEnv/2018.3 gcc/7.3.0 openmpi/3.1.4 busco/3.0.2 r/4.0.2

Ceci charge aussi les modules pour augustus, blast+, hmmer et d'autres paquets requis par BUSCO.

2. Copiez le fichier de paramètres.

Question.png
[name@server ~]$ cp -v $EBROOTBUSCO/config/config.ini.default $HOME/busco_config.ini

ou

Question.png
[name@server ~]$ wget -O $HOME/busco_config.ini https://gitlab.com/ezlab/busco/raw/master/config/config.ini.default

3. Modifier le fichier de paramètres. Les chemins pour les outils externes sont situés à la fin de ce fichier; nous en reproduisons le contenu ici :

File : partial_busco_config.ini

[tblastn]
# path to tblastn
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/blast+/2.7.1/bin/

[makeblastdb]
# path to makeblastdb
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/blast+/2.7.1/bin/

[augustus]
# path to augustus
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/augustus/3.3/bin/

[etraining]
# path to augustus etraining
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/augustus/3.3/bin/

# path to augustus perl scripts, redeclare it for each new script
[gff2gbSmallDNA.pl]
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/augustus/3.3/scripts/
[new_species.pl]
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/augustus/3.3/scripts/
[optimize_augustus.pl]
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/augustus/3.3/scripts/

[hmmsearch]
# path to HMMsearch executable
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/hmmer/3.1b2/bin/

[Rscript]
# path to Rscript, if you wish to use the plot tool
path = /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx512/Compiler/gcc7.3/r/4.0.2/bin/


4. Copiez le répertoire de configuration d’Augustus à un endroit accessible en écriture.

Question.png
[name@server ~]$ cp -r $EBROOTAUGUSTUS/config $HOME/augustus_config

5. Testez l'installation.

[name@server ~]$ export BUSCO_CONFIG_FILE=$HOME/busco_config.ini
[name@server ~]$ export AUGUSTUS_CONFIG_PATH=$HOME/augustus_config
[name@server ~]$ run_BUSCO.py --in $EBROOTBUSCO/sample_data/target.fa --out TEST --lineage_path $EBROOTBUSCO/sample_data/example --mode genome


La commande run_BUSCO.py devrait prendre moins de 60 secondes. Les tâches dont la production est plus longue doivent être soumises à l'ordonnanceur.

Dépannage

Message Cannot write to Augustus config path

Vérifiez que le fichier de configuration se trouve à un endroit accessible en écriture et que la variable AUGUSTUS_CONFIG_PATH a bien été définie.