Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
fr:install:bin_app_repository:24_04_a25_build:blast_216 [2025/05/15 14:54] – [Procédure] foisysfr:install:bin_app_repository:24_04_a25_build:blast_216 [2025/05/15 14:54] (Version actuelle) – [Procédure] foisys
Ligne 1: Ligne 1:
 +====== Installation de BLAST 2.13.0+/2.15.0+ ======
 +
 +===== Librairies additionnelles =====
 +
 +Aucune librairie supplémentaire n'est nécessaire si nous installons les applications exécutables directement.
 +
 +===== Procédure =====
 +
 +Pendant longtemps, il existait deux versions concurrentes de NCBI BLAST: BLAST et BLAST+, une ré-écriture complète de BLAST en C++. 
 +Auparavant, le version BLAST était sélectionnée car elle était plus compacte. Cependant, l'équipe du NCBI a décidé d'arrêter tout développement sur cette version. 
 +Comme notre politique est "la version la plus récente", nous en sommes à utiliser la version BLAST+.
 +
 +Un autre choix devait être fait: source ou binaire? Encore un fois, la décision prise l'a été en regard de notre besoin de minimiser notre empreinte sur le 
 +disque: nous avons choisi l'installation à partir des applications exécutables.
 +
 +**Note:** La version compilée pour ARM64 de nabi-blast-2.16.0+ ne semble pas fonctionner...; il faut donc utiliser la version antérieure ARM64 2.13.0+ qui est toujours disponible et fonctionnelle. On verra pour le futur... 
 +
 +Voici la procédure suivi pour l'installation de BLAST à partir de l'archive contenant l'application exécutable:
 +
 +  * On télécharge l'archive appropriée sous ''/opt/bio/source''  et on la décompresse. Cependant, prenez soin d'utiliser la bonne archive: depuis 03/2022, il existe deux versions selon le processeur. 
 +
 +<sxh bash> 
 +# Si vous êtes avec une plateforme x86_64 comme Intel ou AMD
 +% cd /opt/bio/sources 
 +% sudo curl -L -O https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.16.0/ncbi-blast-2.16.0+-x64-linux.tar.gz 
 +% sudo tar -zxvf ncbi-blast-2.16.0+-x64-linux.tar.gz 
 +% sudo rm -rf ncbi-blast-2.16.0+-x64-linux.tar.gz 
 +
 +# Si vous êtes avec une plateforme ARM comme le RPi
 +% cd /opt/bio/sources 
 +% sudo curl -L -O https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.13.0/ncbi-blast-2.13.0+-x64-arm-linux.tar.gz 
 +% sudo tar -zxvf ncbi-blast-2.13.0+-x64-linux.tar.gz 
 +% sudo rm -rf ncbi-blast-2.13.0+-x64-linux.tar.gz 
 +</sxh>
 +
 +  * Le dossier ''/opt/bio/sources/ncbi-blast-2.16.0+'' ou ''/opt/bio/sources/ncbi-blast-2.13.0+'' devrait appartenir à ''root''. Les permissions de ce dossier devraient être ''755''.
 +<sxh bash> 
 +# Par exemple:
 +% sudo chown -R root:root ./ncbi-blast-2.13.0+ 
 +% sudo chmod -R 755 ./ncbi-blast-2.13.0+ </sxh>
 +
 +  * Il faut modifier la variable ''$PATH''  en modifiant le fichier ''/etc/profile.d/impilo.sh''. À la **toute fin du fichier**, il vous faut ajouter les lignes suivantes avec l'éditeur de votre choix en ''sudo'':
 +
 +<sxh bash> 
 +# Par exemple, pour un processeur ARM64
 +
 +# BLAST specific environment variables 
 +
 +export PATH=$PATH:/opt/bio/sources/ncbi-blast-2.13.0+/bin 
 +export BLASTDB=/opt/bio/data/blast_db </sxh>
 +
 +  * La dernière dernière ligne est la localisation des bases de données de séquences utilisables par BLAST pour des recherches locales.
 +
 +===== Annexe: création des bases de données utilisables par BLAST =====
 +
 +BLAST utilise des bases de données spécialement formattées, crées à partir de fichiers texte en format ''FASTA''. Il n'y a pas d'endroit particulier spécifié pour les mettres (C'est à ça que sert la ligne ''BLASTDB=''  du fichier ''/etc/profile.d/impilo.sh'') mais pour faire les choses en ordre et proprement, Impilo mais tous ces fichiers de données dans ''/opt/bio/data'', dans notre cas, ''/opt/bio/data/blast_db''. Parce qu'on veut garder Impilo le plus mince possible, deux bases de données sont crées à partir des séquences de nucléotides et d'acides aminés du génome de la bactérie E. coli K-12 à des fins de démonstration:
 +
 +  * [[ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/pep/Escherichia_coli_k_12.ASM80076v1.pep.all.fa.gz|E. coli, K-12 strain, all proteins]]
 +  * [[ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/dna/Escherichia_coli_k_12.ASM80076v1.dna.chromosome.Chromosome.fa.gz|E. coli, K-12 strain, whole genome]]
 +
 +Voici la recette utilisée pour les créer à l'échelle d'un serveur. La même recette s'applique à toute autre DB qui vous serait personnelle.
 +
 +  * Premièrement, On navigue pour parvenir à ''/opt/bio/data/blast_db''  et on télécharge les fichiers de séquences:
 +
 +<sxh bash> % sudo wget [[ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/dna/Escherichia_coli_k_12.ASM80076v1.dna.chromosome.Chromosome.fa.gz|ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/dna/Escherichia_coli_k_12.ASM80076v1.dna.chromosome.Chromosome.fa.gz]] % sudo wget [[ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/pep/Escherichia_coli_k_12.ASM80076v1.pep.all.fa.gz|ftp://ftp.ensemblgenomes.org/pub/bacteria/release-43/fasta/bacteria_90_collection/escherichia_coli_k_12/pep/Escherichia_coli_k_12.ASM80076v1.pep.all.fa.gz]] % sudo gunzip Escherichia_coli_k_12.ASM80076v1.dna.chromosome.Chromosome.fa.gz % sudo gunzip Escherichia_coli_k_12.ASM80076v1.pep.all.fa.gz </sxh>
 +
 +  * Le programme ''makeblastdb''  créera la base de données. Le type de base de données (nucléotide ou ac. aminé) se fait via l'option ''-dbtype''  avec ''prot''  (acide aminé) ou ''nucl''  (nucléotide) comme paramètre:
 +
 +<sxh bash> % sudo /opt/bio/sources/ncbi-blast-2.13.0+/bin/makeblastdb -in <ceci_est_un_exemple.fa> -dbtype <source> -out <nom_local_db> -title <nom_local_db> </sxh>
 +
 +<sxh bash> % sudo /opt/bio/sources/ncbi-blast-2.13.0+/bin/makeblastdb \ -in Escherichia_coli_k_12.ASM80076v1.dna.chromosome.Chromosome.fa \ -dbtype nucl \ -out ecoli_k12_nuc_demo -title E_coli_K12_all_nucleotides </sxh>
 +
 +  * Il est nécessaire d'entrer le ''PATH''  au complet car l'usager ''root''  ne voit pas le fichier ''/etc/profile.d/impilo.sh''.
 +
 +  * Vous pouvez tester votre nouvelle DB avec ''blastn''  ou ''blastp'':
 +
 +<sxh bash> % blastp -db <nom_local_db> -query <votre_sequence> </sxh>