Basic Local Alignment Search Tool
BLAST (acronyme de basic local alignment search tool) est une méthode de recherche heuristique utilisée en bioinformatique. Il permet de trouver les régions similaires entre deux ou plusieurs séquences de nucléotides ou d'acides aminés, et de réaliser un alignement de ces régions homologues.
Développé par | Altschul S.F., Gish W., Miller E.W., Lipman D.J., NCBI |
---|---|
DerniĂšre version | 2.9.0+ () |
Ăcrit en | C++ et C |
SystĂšme d'exploitation | Type Unix, Linux, macOS et Microsoft Windows |
Environnement | Multiplate-forme |
Formats lus | XML BLAST Output (d) |
Formats Ă©crits | XML BLAST Output (d) |
Type | Outil bioinformatique |
Licence | Domaine public |
Site web | blast.ncbi.nlm.nih.gov |
Ătant donnĂ© une sĂ©quence introduite par l'utilisateur, BLAST permet de retrouver rapidement dans des bases de donnĂ©es, les sĂ©quences rĂ©pertoriĂ©es ayant des zones de similitude avec la sĂ©quence d'entrĂ©e[1]. Cette mĂ©thode est utilisĂ©e pour trouver des relations fonctionnelles ou Ă©volutives entre les sĂ©quences et peut aider Ă identifier les membres d'une mĂȘme famille de gĂšnes.
Historique
Ce programme a été développé par Stephen Altschul, Warren Gish et David Lipman au National Center for Biotechnology Information (NCBI). La publication originale parue en octobre 1990, « Basic local alignment search tool »[2], a été citée plus de 90,000 fois[3], ce qui en fait l'une des plus citées dans le monde scientifique.
Principe
BLAST recherche dans une base de données de séquence des segments qui sont localement homologues à une séquence-test fournie par l'utilisateur (query sequence). BLAST utilise une matrice de similarité pour calculer des scores d'alignement. Il fournit un score pour chaque alignement trouvé et utilise ce score pour donner une évaluation statistique de la pertinence de cet alignement (probabilité qu'il soit dû au hasard).
Le principe de fonctionnement de BLAST, peut se décomposer en trois étapes[4] :
- la décomposition de la séquence-test en segments de longueur k (k-uplets) chevauchants et la recherche pour chacun d'eux de tous les k-uplets possibles ayant un score d'homologie supérieur à un seuil donné. BLAST constitue ainsi un dictionnaire de tous les k-uplets donnant une homologie locale minimum ;
- le balayage de la banque avec le dictionnaire ainsi constitué. Chaque fois que BLAST identifie une coïncidence dans la banque, il tente d'étendre l'homologie en amont et en aval du k-uplet initialement trouvé ;
- aprÚs extension de l'homologie, il évalue à partir du score obtenu la probabilité que celle-ci soit due au hasard (ou plus exactement, son espérance mathématique).
Création du dictionnaire de k-uplets
La séquence analysée est d'abord découpée en k-uplets chevauchants. Pour une séquence de protéine, on utilise typiquement des quadruplets d'acides aminés. Un segment de séquence comme FATCATY est par exemple découpé en :
FATC, ATCA, TCAT, CATY
Chacun de ces k-uplets est ensuite analysĂ© pour identifier tous les k-uplets possibles qui donneraient un score d'alignement supĂ©rieur Ă une valeur seuil, fixĂ©e par l'utilisateur. Pour calculer ce score d'alignement, on utilise une matrice de similaritĂ©, M(a,b), souvent BLOSUM62 (avec a et b les deux acides aminĂ©s comparĂ©s). Par exemple, si on reprend le quadruplet FATC Ă©voquĂ© ci-dessus, le score qu'on obtient en l'alignant avec lui-mĂȘme est de 24 si on utilise la matrice BLOSUM62 :
score(FATC,FATC) = M(F,F) + M(A,A) + M(T,T) + M(C,C) = 6 + 4 + 5 + 9 = 24
Quelques autres quadruplets donnent de bons scores d'alignement avec FATC, par exemple YATC, FASC ou FSTC, qui donnent des scores d'alignement supérieurs à 20 :
score(FATC,YATC) = 21 ; score(FATC,FASC) = 20 ; score(FATC,FSTC) = 21
En revanche, la grande majorité des autres quadruplets donne des scores d'alignements trÚs mauvais, le plus souvent négatifs. Si on fixe un seuil élevé, comme 18 ou 20 dans notre exemple, on n'aura donc que quelques quadruplets possibles qui vont donner un score d'alignement supérieur à ce seuil.
BLAST va donc, pour chaque k-uplet de la sĂ©quence analysĂ©e, constituer un dictionnaire de tous les k-uplets possibles donnant un score supĂ©rieur au seuil. Le dictionnaire va Ă©galement indiquer la position dans la sĂ©quence de rĂ©fĂ©rence oĂč se trouve le k-uplet d'origine. Une fois constituĂ©, ce dictionnaire contient la liste de tous les k-uplets possibles qui permettent d'obtenir un score initial d'alignement supĂ©rieur au seuil.
Recherche et extension de l'homologie
Une fois construit le dictionnaire de tous les k-uplets présentant un score seuil d'homologie avec la séquence de référence, BLAST va balayer la banque de séquences à analyser, en regardant successivement tous les k-uplets qui composent chaque séquence. à chaque fois, il vérifie si le k-uplet de la banque est présent dans le dictionnaire. S'il n'en fait pas partie, il passe au suivant. S'il est présent dans le dictionnaire, cela signifie qu'il existe un embryon de région homologue entre la séquence de référence et la séquence de la banque en cours d'analyse. Cette homologie présente un score minimum égal au seuil fixé dans la premiÚre étape.
BLAST va alors essayer de voir si cette rĂ©gion homologue s'Ă©tend au-delĂ du k-uplet de dĂ©part. Il va alors essayer d'Ă©tendre en amont et en aval la rĂ©gion pour voir si le score d'homologie augmente avec cette tentative d'extension. Si les deux sĂ©quences prĂ©sentent effectivement une homologie locale autour du k-uplet de dĂ©part, l'extension va conduire Ă une augmentation effective du score, car de nouveaux acides aminĂ©s vont se trouver alignĂ©s. Si au contraire la tentative d'extension ne permet pas d'augmenter le score, parce que l'homologie ne continue pas, BLAST s'arrĂȘte. Si le score final aprĂšs extension est supĂ©rieur Ă un seuil donnĂ©, l'alignement est conservĂ© pour l'analyse finale.
Ce processus est effectué pour tous les k-uplets des séquences présentes dans la banque analysée, qui est balayée séquentiellement.
Analyse du score et Ă©valuation de la pertinence
BLAST et ses versions dĂ©rivĂ©es (voir ci-dessous) est utilisĂ© pour rechercher des sĂ©quences homologues Ă une sĂ©quence d'intĂ©rĂȘt, introduite par l'utilisateur, Ă l'intĂ©rieur d'une banque de donnĂ©es de sĂ©quence. Ces banques de donnĂ©es, comme GenBank ou UniProt, sont trĂšs grandes, contenant typiquement plusieurs centaines de millions de sĂ©quences. La recherche exhaustive avec BLAST retourne en gĂ©nĂ©ral plusieurs dizaines d'alignements avec la sĂ©quence d'intĂ©rĂȘt. La question qui est alors posĂ©e est celle de la pertinence biologique de ces alignements : l'alignement est il simplement le rĂ©sultat du hasard, parce qu'on a analysĂ© un trĂšs grand nombre de sĂ©quences, ou bien est-il le reflet d'une vĂ©ritable conservation biologique ?
Pour cela, au cours de la recherche, BLAST effectue une analyse de la distribution des scores d'alignement entre la sĂ©quence d'intĂ©rĂȘt et la banque. Il ajuste cette distribution Ă une fonction de densitĂ© thĂ©orique, ce qui lui permet de calculer la probabilitĂ© et l'espĂ©rance mathĂ©matique de trouver un alignement donnant un score donnĂ© dans la banque, uniquement du fait du hasard. Les paramĂštres de cette fonction de densitĂ© varient en fonction des compositions en nuclĂ©otides ou acides aminĂ©s de la sĂ©quence et de la banque analysĂ©e.
Typiquement, BLAST va indiquer, pour chaque alignement, la valeur de cette espĂ©rance appelĂ©e E-value. Pour des alignements biologiquement pertinents, la E-value prend des valeurs infinitĂ©simales (de 10â10 Ă 10â200), ce qui signifie qu'il est hautement improbable que le score d'alignement obtenu soit le fait du hasard.
Variations
Des données utilisées
Le terme blast peut ĂȘtre modifiĂ© en fonction de la nature de la sĂ©quence d'entrĂ©e, et de la base de donnĂ©es utilisĂ©e :
- blastn, de nucléotides, séquence nucléotidique contre une base de données de séquences nucléotidiques ;
- blastp, de protéines, séquence de protéine contre une base de données de séquences de protéines ;
- blastx, séquence nucléotidique traduite en séquence de protéine contre une base de données de séquences de protéines ;
- tblastn, séquence de protéine contre une base de données de séquences nucléotidiques traduites en séquences de protéines ;
- tblastx, séquence nucléotidique traduite en séquence de protéine contre une base de données de séquences nucléotidiques traduites en séquences de protéines.
De l'algorithme
Depuis sa création, différentes versions de l'algorithme ont été développées :
- BlastN, blast de séquences nucléotidiques, lent mais permet de retrouver des similarité localisées uniquement sur une partie des séquences ;
- BlastP, blast de séquences de protéines ;
- Megablast, rapide, permet de retrouver des séquences hautement similaires ;
- PSI-Blast (position-specific iterated BLAST), Blast relancé plusieurs fois par itération. à chaque itération une séquence consensus est déterminée à partir des résultats, et utilisée comme séquence source pour l'itération suivante ;
- PHI-BLAST (pattern hit initiated Blast), programme utilisant comme source une séquence protéique et un motif, celui-ci étant utilisé comme point de départ des recherches de similarité avec les séquences présentes dans les bases de données.
Notes et références
- Greg Gibson, Spencer V. Muse, Lionel Domenjoud, Raymond Cunin (trad. Lionel Domenjoud), Précis de génomique, Bruxelles/Paris, De Boeck Université, , 347 p. (ISBN 2-8041-4334-1), « 2 »
- (en) SF Altschul, W Gish, W Miller, EW Myers et DJ Lipman, « Basic local alignment search tool », Journal of molecular biology, vol. 215, no 3,â , p. 403-10 (PMID 2231712, rĂ©sumĂ©)
- 20 000 fois
- FrĂ©dĂ©ric Dardel et François KĂ©pĂšs, Bioinformatique. GĂ©nomique et post-gĂ©nomique, Palaiseau, Ăditions de lâĂcole Polytechnique, , 246 p. (ISBN 2-7302-0927-1, prĂ©sentation en ligne)
Voir aussi
Articles connexes
Liens externes
- (en) Site officiel
- (en) « mpiBLAST Demo »(Archive.org ⹠Wikiwix ⹠Archive.is ⹠Google ⹠Que faire ?) - mpiBLAST Parallel Version