TP sur BLAST

Flèche vers le haut

I. BLAST en ligne de commande

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.

Flèche vers le haut

I-1. 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.
Flèche vers le haut

I-2. 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.
Flèche vers le haut

II. BLAST au NCBI

Flèche vers le haut

II-1. Comparer une séquence d'ADN avec celles des bases de données

Vous allez utiliser BLAST pour comparer la séquence nucléotidique Ara-LacZ avec les séquences nucléotidiques de la base de données.
Lancer une recherche BLAST pour la séquence Ara-LacZ, avec comme base de donnée nr/nt et en vérifiant que la case 'Low complexity regions' est cochée. Attention, il faut lancer blastn et non megablast !
Vous voyez maintenant le résultat de la recherche BLAST. La page résultat est divisée en 3 parties comme nous l'avons vu en cours :
  • Une vue graphique générale des séquences résultats avec différentes couleur ;
  • ensuite la liste des séquences avec leur score et leur E-value ;
  • enfin, une vue plus détaillée, fournissant pour chaque séquence résultat, l'alignement avec notre séquence requête.
Revenez à la partie graphique. Notre séquence est représentée par la ligne épaisse rouge, graduée de 1 à 180 (notre séquence fait exactement 184 nucléotides de long).
Le score de chacun des alignements est indiqué par une des 5 couleurs différentes. Plus le score est grand, plus la qualité est bonne et plus le pourcentage d'identité est élevé. Plusieurs segment de similarité trouvés dans une même séquence sont reliés par une ligne discontinue.
Flèche vers le haut

II-2. Déterminer l'identité des segments d'ADN

Utilisez votre curseur de souris pour vous placer sur une barre d'alignement colorée, vous verrez apparaître le nom de la séquence ainsi que le score d'alignement et la E-value dans la zone de texte située au-dessus du graphique.
Si vous cliquez sur une barre, vous serez amené à l'alignement correspondant dans la 3e partie de la page.
Regardez les différentes séquences résultats obtenues et trouvez dans le liste le gène AraC de E. coli.
Rendez-vous à son alignement avec notre séquences requête.
Quelles sont les positions de l'alignement sur les séquences requêtes et résultat (Sbjct) ?
Que pouvez-vous en déduire ?
Flèche vers le haut

II-3. Chercher dans une banque de données protéique

Cliquez sur le lien 'emb|V00259.1' situé au-dessus de l'alignement.
Vous êtes amené sur la fiche GenBank correspondant à la séquence résultat.
Quel est le numéro d'accession de cette séquence ?
Quelle est la longueur de la séquence ? La longueur du gène Ara C ?
Trouver la séquence protéique correspondante ? Quelle est la longueur de la protéine ?
Récupérer la séquence protéique du gène Ara C, puis retourner sur la page d'accueil de BLAST.
Lancez la comparaison de la séquence protéique avec la base de données UniProtKB/Swiss-Prot (case 'Low complexity regions' cochée).
Quelles sont les 4 1re séquences résultats ?
Quels sont leur score ?
Donnez un exemple de protéine non arabinose qui montre une homologie significative avec la protéine Ara C et qui a un score de 50 ou plus.
Recommencez cette recherche BLAST mais avec la base de données PDB cette fois.
La PDB contient seulement les séquences dont la structure est connue.
Est-ce que la structure d'Ara C est connue ?
Si oui, visualisez-là.
Flèche vers le haut

III. Une étude de cas utilisant BLAST au NCBI

Cette partie est issue d'un TP de Jean-Stéphane Varré (LIFL, Lille) à voir ici.

Cet exercice porte sur l'analyse de séquences d'enzymes de conversion de l'angiotensine I en angiotensin II, aussi appelées ACE. Ci-dessous, la séquence nucléotidique de l'ARNm de l'ACE de sangsue :

>Sangsue, ACE
aatttaaaaatgaatttaataaatttttcatacttaaatttgctttttggtgccggtttatttagcgttttagaaagcgc
tacaatattaaataccgaatcggatgctaaaaaatggctgacaacgtataacgatgaagccggaaaatatatttacgatg
caactgaagcagaatggaattacaacaccaacctgactgatcacaatttaggaatttctattaaaaaatcaaatgatttg
gctacttttacggaacaaaaggcaatcgaggccaataaaaaatttgtatggaaaaattttactgatccacttttgaaaag
agaattttcaaaaataactgacattggtactgctagcctttcagatgaagactttcaaaagatgtcaggtttgaactctg
atctaacaaaaatttacagcactgcaaaagtttgtaacaagcctaacgacccatctggaaaatgctatcctttagatcct
gatttgtccgacataatctccaagtcaaacgatctcgaggaattgacctgggcatggaaaggttggagggatgcgtctgg
caaacatatgcccgataaatatgatgaatttgttcaactgctcaacaaagctgctaagattcatggatatgaagacaacg
gggattattggaggtcctggtacgagtcccccacgttcagaaaggattgtgaagatttgtggcaggagatcaaaccattc
tacgaacaactgcatgcatacgtcagaaggaagctgcagaagaagtatccccaaattgcattccccaaggaggggcccat
ccctgctcatctgctcggcaacatgtgggcccaatcgtgggagaacatagagtacttgttatgggcccaatcgtgggaga
acatagagtacttgttaaggcccgctcctgaccttcctagcatggacatcactgaggaactcgtcaaacagaactacacg
gcattgaaactcttccaactgtcggacacatttttcaaatccttgggtctcatccagatgcctcagccgttttgggaaaa
gtcgatgatcgagaaaccagctgatcgggatgtgttcagaatcaaacaatgcgtttgccatgcgtcagcctgggacttct
acaatcgcaaggatacggttgtggacatgcactggttcatgacgactcaccatgagatgggacacatcgaatactacctc
cactacaaggaccaacccatcagtttcagatctggcgctaatccaggatttcatgaggccattgccgatattgcatcact
gtcagtggccacacctgaatatatgcaatccgtcagcctgttgcctaatttcactgacgatccaaatggcgatttaaact
tcttaatgaaccaagccttaacgaaggtggccttcctaccattcggttacctgatcgaccagtggagatgggacgtgttc
tcgggagatacccctcgaccaaaatacaactccaagtggtggcacaacaggtgtaagtaccagggcatatatcctccagt
gaaaaggtcagagcaagattttgatgccggttccaagttccatgtacccaacaacactccatacatcaggtactttgttg
ctcacgtcatccaattccaattccatgaagccctgtgcaaggctgccaacaacagcagacctctacatagatgtaacatc
gccaattccaaggaagctggagagaaactggctgaattgatgaaatctggatcttcaattccgtggcctaaagttctaga
aaatcttactggatcggaaaaaatgtcagcgaaatctctcatggcctattacaaaccgttgatcgattggcctgaaaaaa
gaaaaccaagggcagaaaattggatgggaggaaaaatgtcctcctggatcatttgaaccatgaaattatttatttgattt
tatgtcatttcataatttttctaccacttttttaataaacttaggtgcctattgaatatgttcttgcaatttgaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
Flèche vers le haut

III-1. Séquence requête ADN contre banque nucléique

Découverte

Faites tourner blastn avec les options par défaut sur cette séquence.
ATTENTION : bien vérifier que vous utilisez le programme blastn et non megablast.
Combien de séquence de la banque ressemblent à la notre (voir le nombre de 'hits') ?
Est-ce que les alignements obtenus semblent pertinents d'un point de vue biologique ?
Est-ce que les séquences trouvées font partie de la famille des ACE ?
La représentation graphique des résultats indique les régions de la séquence requête (échelle) qui s'alignent avec les séquences de la banque (rectangles colorés). Seuls les rectangles séparés par des hachures ou une ligne grise font partie de la même entrée de la banque.
La séquence qui a la e-value la plus basse (autre que des séquences hypothétiques ou non caractérisées), après la séquence de la sangsue elle-même, provient du grand brochet (PREDICTED: Esox lucius angiotensin I converting enzyme (ace), transcript variant X3, mRNA)
Combien de régions communes entre la séquence du grand brochet et celle de la sangsue sont représentées sur le graphique ?
Combien de régions sont réellement communes entre les deux séquences (voir les alignements) ?
Pourquoi y a-t-il une différence ?

La e-value

Quel est le score obtenu pour la séquence du grand brochet, avec les options par défaut ?
Quelle est la e-value correspondante ?
Comment varie la e-value en fonction du score (comparez pour différents alignements) ?
Faites maintenant tourner blastn en limitant les données de la banque aux entrées issues du grand brochet. Pour cela, choisissez la banque nr/nt. Un champ 'Organism' apparaît, commencez à taper le nom latin du grand brochet Esox lucius et un menu déroulant apparaîtra dans lequel vous pourrez le sélectionner.
Est-ce que l'on retrouve la séquence précédente en premier ?
Est-ce que le score d'alignement a changé ?
Comment a varié la e-value ?

Le filtre de faible complexité.

Les régions de faible complexité sont des parties de séquences composées de peu de lettres différentes. Par défaut, dans Blast, l'option "Low complexity regions" est active (cochée). Les régions de faible complexité présentes dans la séquence requête sont remplacées par des N dans le cas de l'ADN et par des X dans le cas des protéines. Ces régions ne sont donc pas alignées avec les séquences de la banque. Nous allons étudier l'intérêt de cette option.
Utilisez de nouveau blastn avec la séquence de sangsue contre les séquences du grand brochet, mais en décochant l'option "Low complexity regions".
Avons-nous les mêmes résultats que précédemment ?
Les résultats obtenus sont différents des précédents. Pourtant, la séquence requête et la banque sont les mêmes.
Flèche vers le haut

III-2. Séquence requête ADN contre banque protéique

Dans ce cas, la séquence requête est traduite à l'aveugle dans les six phases. Les six peptides obtenus sont alignés avec les protéines de la banque, y compris les codons stop qui sont remplacés par une étoile.

BlastX

Lancez un blastx avec la séquence de sangsue et l'option "Max target sequences" à 250.
Quelle est la E-value (E) des 2 premières séquences de la liste ?
Celle des 2 dernières ?
Comparez les valeurs trouvées à celles obtenues avec blastn.
De quel organisme provient la première séquence ?
Trouvez la protéine correspondant à la séquence du grand brochet sur laquelle nous travaillons depuis le début.
Combien y a-t-il de HSP sur la séquence protéique ? Pourquoi le nombre de HSP est différent de celui obtenu avec blastn?