BLAST travaille sur des bases de données pré-indéxées, c'est-à-dire traitées de manière à respecter une structure de données précise. L'indexation d'une base de données se fait au moyen de la commande
formatdb
(remplacée par
makeblastdb
pour les dernière version de Blast, fin 2012). Sur le site du NCBI, il est néanmoins possible de télécharger un certain nombre de bases de données pré-indexées.
Construction d'une banque BLAST
La première étape lors de l'utilisation de BLAST consiste à construire une base de séquences utilisable par BLAST. Le programme
formatdb
, fourni dans le package
blast2 (ou
makeblastdb
en fonction de la version du package blast utilisé), permet de créer une telle base de données, à partir de séquences stockées au format FASTA.
Quelques options de formatdb
:
- -i nom du fichier en entrée (au format FASTA)
- -p type des séquence (par défaut T pour protéique, sinon F pour nucléique)
- -n nom de la base de données résultat (par défaut nom du fichier en entrée)
- -o option pour parser les SeqID et créer des indexes (par défaut F, T si les séquences sont au format NCBI)
Pour avoir plus de précisions sur les options, vous pouvez taper
formatdb -help
ou
man formatdb
dans le terminal ou regarder le site web suivant :
aide formatdb. (Information sur la commande
makeblastdb
ici)
Par exemple, supposons que l'on souhaite formater le fichier ecoli.nt contenant un grand ensemble de séquences d'E. coli. La commande nécéssaire est :
formatdb -i ecoli.nt -p F -n maBdBlastEcoli
A partir des séquences de génomes complets d'Escherichia coli (400 séquences) que vous trouverez
ici, construire une banque Blast. Ces séquences sont au format NCBI, donc vous pouvez utiliser l'option
-o T
: essayer avec et sans cette option.
Remarque :
Si l'option
-o T
a été utilisée lors de la construction de la banque BLAST, il est possible de récupérer une séquence stockée dans une base de données BLAST (créée avec
formatdb
ou
makeblastdb
). Pour cela, il faut utiliser la commnade
fastacmd
(remplacée par
blastdbcmd
pour les dernière version de Blast, fin 2012). Le package
blast2 fournit le programme
fastacmd
(ou
blastdbcmd
en fonction de la version du package blast utilisé):
fastacmd -d base_de_donnée -s id_sequence
Pour avoir plus de précisions sur les options, vous pouvez taper
man fastacmd
dans le terminal ou regarder le site web suivant :
aide fastacmd. (Information sur la commande
blastdbcmd
ici)
Essayer de retrouver une des séquences de la banque en utilisant la commande fastacmd
, par exemple la séquence dont le numéro d'accession est AE000432.
Exécution d'un BLAST
Il est ensuite possible de faire des requètes sur la base ainsi créée. Pour cela, il est possible d'tiliser le programme
blastall
fourni dans le package
blast2.
Quelques options :
- -p type de BLAST (blastn, blastp, blastx, tblastn, tblastx)
- -d noms des banques BLAST à utiliser (sans les extensions de fichier)
- -i fichier en entrée au format fasta
- -o fichier de sortie (par défaut tdout)
- -e sueil de la E-value (par défaut=10.0)
Pour avoir plus de précisions sur les options, vous pouvez taper
blastall
ou
man formatdb
dans le terminal ou regarder les sites web suivants :
aide blastall 1 ou
aide blastall 2.
Par exemple, supposons que notre séquence inconnue soit contenue dans le fichier test.txt, la commande permettant de la comparer aux séquences de la banque maBdBlastEcoli est :
blastall -p blastn -d maBdBlastEcoli -i test.txt -o test.out
Supposons maintenent que nous recherchons les homologues d'une séquence nucléotidique contenue dans le fichier K03455seqref.fas (format FASTA), avec un seuil égal à 0.15 (E-value < 0.15), dans la base GenBank (supposons celle-ci installée en local et nommée nr). Pour cela, on souhaite afficher aux environs de 5000 résultats (-v), sans aucun alignements (-b 0). La commande nécéssaire est :
blastall -p blastn -d nr -i K03455seqref.fas -e 0.15 -v 5000 -b 0
Notons que blastall ne permet pas de choisir l'espèce (l'interface Web du NCBI le permet, au travers d'une requète Entrez).
Aller chercher une séquence de génome complet sur le site du
NCBI en utilisant le mot de clé "ecoli" afin de prendre une séquence proche de celles utilisées pour contruire la banque BLAST, puis lancer un BLAST afin de comparer cette séquence avec les séquences de la banque précédemment créée.