|
|
Algorithmes et programmes de comparaison de séquences Interprétation des résultats : E-value, P-value |
Sommaire |
|
4. Alignement multiple progressif : programme Clustal W 5. Modèle de Markov caché (Hidden Markov Model - HMM) 6. Interprétation des résultats : E-value, P-value 7. Liens Internet et références bibliographiques |
|
1. Définitions |
|
Il existe 3 grandes classes d'algorithmes de comparaison de séquences :
|
Alignement
: processus par lequel deux (ou n) séquences sont comparées
afin d'obtenir le plus de correspondances (identités ou substitutions
conservatives) possibles entre les lettres qui les composent.
|
![]() |
|
|
indel :
|
|
similarité : c'est le pourcentage d'identités et/ou de substitutions conservatives entre des séquences. Le degré de similarité est quantifié par un score. Le résultat de la recherche d'une similarité peut être utilisé pour inférer l'homologie de séquences. homologie : 2 séquences sont homologues si elles ont un ancêtre commun. L'homologie se mesure par la similarité : une similarité significative est signe d'homologie sauf si les séquences présentent une faible complexité. faible complexité ("low-complexity regions") : régions qui contiennent peu de caractères différents. Exemples : (a) FFFPPPPPVVV, 3 acides aminés différents seulement (région riche en proline) - queue poly-A des ARN. Ces régions posent des problémes dans l'analyse des séquences car elles génèrent un score biaisé. Exemple de programme qui analyse ce type de régions : "SEG". mésappariement : non correspondance entre deux lettres. Un mésappariement peut être :
|
|
|
score : un score global permet de quantifier l'homologie. Il résulte de la somme des scores élémentaires calculés sur chacune des positions en vis à vis des deux séquences dans leur appariement optimal. C'est le nombre total de "bons appariements" pénalisé par le nombre de mésappariements. score élémentaire :
|
|
2. Algorithme de Needleman & Wunsch et algorithme de Smith & Waterman |
|
Tous deux sont des algorithmes de programmation dynamique utilisés pour obtenir l'alignement global ou local (respectivement) optimal de deux séquences protéiques ou d'acides nucléiques. La programmation dynamique est une méthode développée par R. Bellman (1955) qui permet de résoudre de nombreux problèmes dont la solution directe n'est pas possible puisque de complexité exponentielle. Exemple : calcul de la distance d'édition entre deux chaînes de caractères (séquences protéiques ou d'acides nucléiques). La programmation dynamique une méthode de résolution ascendante qui détermine une solution optimale du problème à partir des solutions de tous les sous-problèmes.
|
|
L'algorithme de Needleman & Wunsch et l'algorithme de Smith & Waterman se déroulent globalement en deux étapes :
Ces algorithmes n'utilisent pas d'heuristique : il sont donc sensibles mais longs. |
|
Algorithme de Needleman & Wunsch alignement global optimal de 2 séquences |
Algorithme de Smith & Waterman alignement local optimal de 2 séquences |
|
Source : La Base de Connaissances en Bio-informatique |
|
|
La ligne i = 0 et la colonne j = 0 sont initialisées aux valeurs de pénalité des gaps. La fonction de récurrence ne réinitialise pas la valeur à 0 si aucune valeur positive n'est présente.
|
La ligne i = 0 et la colonne j = 0 sont initialisées à 0. N'importe quelle case de la matrice de comparaison peut être un point de départ pour le cacul des scores finaux. Si ce score devient inférieur à zéro, la fonction de récurrence réinitialise la valeur à 0 et la case peut être utilisée comme un nouveau point de départ.
|
|
F(i,j) : valeur à la position (i,j) de la matrice. s(xi,yj) : valeur obtenue à partir de la matrice de substitution pour les nucléotides ou les acides aminés (xi,yj) correspondant à la position (i,j) de la matrice. C'est donc le score correspondant à l'alignement des lettres xi et yj. Ce score prend, par exemple, les valeurs suivantes :
Remarque : si on opte pour d'autres valeurs, on obtient d'autres alignements optimaux, d'où le choix crucial de la meilleure matrice de substitution lors des alignements. La fonction de pénalité d'un gap est définie par : f(n) = d + [e . (n-1)], où :
Exemple : un gap de longueur n = 3, avec une pénalité d'ouverture d = -10 et d'extension e = -2, aura un score de f(3) = -10 + (-2 x 2) = -14 |
| Application : alignement de la séquence 1 = ACGCT avec la séquence 2 = ACT |
|
On remplit la 1ère ligne et la 1ère colonne de la matrice qui correspondent à un gap à la 1ère position :
|
|
F(1,1) aura pour valeur la valeur maximale de l'une des possibilités suivantes :
F(2,1) aura pour valeur la valeur maximale de l'une des possibilités suivantes :
Et ainsi de suite. |
|
|
Pour reconstituer l'alignement, on démarre de la dernière case (5,3) et on détermine la case à partir de laquelle cette case a été atteinte : a. la valeur -1 de la case (5,3) ne peut-être obtenue qu'en ajoutant +3 (soit une identité) à la valeur -4 [(case (4,2)]. Celà correspond à l'alignement du "T" de la séquence 1 avec le "T" de la séquence 2. b. la valeur -4 de la case (4,2) peut être obtenue de 2 manières :
c. Et ainsi de suite. Dés lors, on obtient 2 alignements optimaux qui ont le même score de +1. |
|
| 3. Alignement local |
|
Les méthodes de programmation dynamique permettent de calculer, sous un système de scores donné, l'alignement optimal, global ou local, entre deux séquences en un temps proportionnel au produit des longueurs des deux séquences. Appliquées à une banque de séquences, le temps de calculs de ces méthodes augmente linéairement avec la taille de la banque. On définit 2 caractéristiques pour une méthode de comparaison de séquences :
Les programmes des familles Fasta et BLAST sont des heuristiques qui réduisent le facteur temps en "sacrifiant" un peu de sensibilité. L'un et l'autre simplifient le problème :
Ces étapes sélectives permettent :
Cette logique de recherche plus rapide dans son exécution, comporte donc le risque d'éliminer des séquences qui ont une similarité plus difficile à détecter ou d'aboutir à des alignements sub-optimaux. La sensibilité et la sélectivité se réfèrent à une notion de résultat significatif ou non. Les programmes mesurent une signification statistique des résultats par rapport à un modèle aléatoire : un résultat est considéré comme significatif si la probabilité de l'obtenir par hasard est trés faible. Les systèmes de score partent du postulat que les résultats les plus significatifs du point de vue statistique soient aussi les plus pertinents du point de vue biologique. Or ce n'est pas toujours le cas car des résultats biologiquement intéressants peuvent être non significatfs sur un plan statistique. En d'autres termes, la signification biologique d'une similarité entre des séquences n'est pas forcément estimable sur la seule valeur d'un score. |
|
Ces programmes sont de plus en plus spécifiques du type de données biologiques traitées ou du type de recherche effectuée :
En 2 itérations de recherche, CS-BLAST donne un résultat plus sensible que 5 itérations avec PSI-Blast ("Position specific iterative BLAST"). Altschul S. F. et al. (1997) "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs" Nucleic Acids Res. 25, 3389 - 3402 Biegert A. and Soding J. (2009) "Sequence context-specific profiles for homology searching" Proc Natl Acad Sci USA 106, 3770 - 3775 Naumoff D.G. and Carreras M. (2009) "PSI Protein Classifier: a new program automating PSI-BLAST search results" Molecular Biology (Engl Transl) 43, 652 - 664 |
| b. Programme FASTA - Pearson & Lipman (1988) |
|
Le programme ne considère que les séquences présentant une région de forte similitude avec la séquence recherchée. Il applique ensuite localement à chacune de ces meilleures zones de ressemblance un algorithme d'alignement optimal. La codification numérique des séquences, c'est-à-dire la décomposition de la séquence en courts motifs (nommés uplets) transcodés en entiers, confère à l'algorithme l'essentiel de sa rapidité. |
|
Etape 1 (figure ci-contre)
Lorsqu'une séquence est comparée à une base de données, la première étape est effectuée pour chaque séquence présente dans cette base de données. Etape 2
|
|
|
|
Etape 3
Etape 4 (figure ci-contre)
|
|
Interprétation des résultats La sortie de FASTA se décompose en trois parties : Histogramme
|
| c. Programme BLAST (Basic Local Alignment Search Tool) - Altschul et al. (1990) |
|
Méthode heuristique qui utilise la méthode de Smith & Waterman. C'est un programme qui effectue un alignement local entre deux séquences nucléiques ou protéiques. La rapidité de BLAST permet la recherche des similarités entre une séquence requête et toutes les séquences d'une base de données. |
| Les différents programmes BLAST |
|
Acides nucléiques
|
|
Protéines
|
|
Les programmes FASTA et BLAST suivants sont équivalents :
|
|
Complément sur PSI-Blast PSI-Blast est adapté :
PSI-Blast construit un profil à
partir de l'alignement multiple des séquences qui ont obtenu les
meilleurs scores avec la séquence requête. Un profil est un tableau
des fréquences observées des acides aminés (ou nucléotides) à chaque
position dans un alignement multiple. Mais la sensibilité est diminuée si la banque de données est trop grande puisque la fréquence d'observation d'un score particulier (la "E-value") augmente avec la taille de la banque de données. Or, pour un alignement de 2 séquences, plus le score est petit, plus la probabilité que ces 2 séquences soient homologues est grande. Il est
donc préférable de chercher d'abord dans une banque "nettoyée"
("curated") comme la base de données
non-redondante ("nr") où toutes les séquences identiques ont été éliminées sauf un exemplaire. Si plusieurs
séquences sont dans cette banque, on peut calculer un
profil et l'utiliser pour effectuer une nouvelle recherche dans ce sous ensemble.
On augmente ainsi la sensibilité de la recherche d'homologues. |
|
Complément sur PHI-Blast Ce programme prend en entrée une séquence requête protéique et un motif défini par une expression régulière. PHI-Blast est adapté à la recherche de séquences protéiques qui contiennent un motif spécifié par l'utilisateur (fenêtre "PHI pattern" de la section "Algorithm") ET sont similaires à la séquence requête (fenêtre "Search") dans le voisinage proche du motif. La syntaxe du motif doit suivre la syntaxe de PROSITE.
|
Un nouveau programme : CS-BLAST ("context-specific BLAST") Pour chaque acide aminé, CS-BLAST tient compte de l'influence de la séquence en acides aminés qui l'entoure, sur la probabilité de mutation de l'acide aminé en question. En 2 itérations de recherche, CS-BLAST donne un résultat plus sensible que 5 itérations avec PSI-Blast. |
|
4. Alignement multiple progressif : programme Clustal W |
|
La complexité des algorithmes de programmation dynamique croit de façon exponentielle avec le nombre de séquences à traiter, ce qui rend difficile leur utilisation pour plusieurs séquences. Pour contourner ce problème, plusieurs heuristiques ont été proposées. Le programme ClustalW utilise un algorithme d'alignement multiple progressif. |
Etape 1
Etape 2
Etape 3
|
Source : La Base de Connaissances en Bio-informatique |
|
Le risque le plus important en ce qui concerne les alignements multiples progressifs est qu'un alignement erroné à l'étape initiale engendre une erreur qui est amplifiée dans l'alignement multiple global. Le programme ClustalW comporte des particularités qui minimisent ce risque :
|
| Application |
|
Aller à "Sequence Manipulation Suite". Générer 10 séquences ADN aléatoires de 20 paires de base. Faire un copier-coller des 2 premières dans un éditeur de texte. |
Item : "Random Sequences". Choisir : "-Random DNA Sequence" |
|
Aller à "Clustal W" - EBI et coller les 2 séquences dans la fenêtre de soumission. Lancer l'application. Quel est le résultat et pourquoi ? |
"ERROR:
Multiple sequences found with same name, random (first 30 chars are
significant)"
|
|
Modifier le nom des séquences dans l'éditeur de texte et coller les 2 séquences dans la fenêtre de soumission. Modifier les paramètres des gap et le choix des matrices. et relancer l'application. |
Voir l'alignement : "Alignment file" - Lien "clustalw - xxxxxxxxx.aln" Voir le score :"Output file" - Lien : "clustalw - xxxxxxxxxxx.output" |
|
L'apprentissage machine est un processus par lequel un ordinateur accroît ses connaissances et modifie son comportement à la suite de ses expériences et de ses actes passés. L'ordinateur apprend. Plusieurs méthodes d'apprentissage machine :
|
|
Le modèle de Markov caché est un processus stochastique. Il est apparenté aux automates probabilistes. Un tel automate est composé :
Une séquence d'événements consécutifs est donc caractérisée par le fait que la probabilité pour chaque événement de se produire ne dépend que du résultat de l'événement qui le précède. Exemple : probabilité d'observer un "U" après avoir observé "CCAAU". Le terme caché signifie que l'on observe des lettres générées par le modèle mais pas la séquence des états qui génére ces lettres. |
|
|
Le système nécessite une phase d'apprentissage sur un ensemble initial de séquences afin de calculer les probabilités de transitions. On applique ensuite ce système sur une nouvelle séquence et on détermine son appartenance à l'ensemble de départ. |
|
|
Le modèle
de Markov caché ci-contre
contient 3 états :
Une probabilité est associée à chaque caractère pour l'état [appariement - mésappariement]. C'est la partie cachée de ce modèle puisque l'état dans lequel est le modèle ne définit pas la sortie (END). Source : La Base de Connaissances en Bio-informatique |
|
La base de données PFAM est un recueil de domaines complets de protéines (motifs conservés mais aussi moins conservés et insertions / délétions, figure ci-contre) obtenus à partir :
Les autres logiciels utilisant les HMM - profiles : PSI-Blast, SAM, HMMER, BLOCKS - Meta-MEME, ... |
![]() |
|
La signification des alignements est un point capital. Elle repose sur des valeurs spécifiques mais aussi et (peut-être surtout ?) sur une inspection visuelle du résultat par l'expérimentateur et donc sur son expertise quant aux séquences sur lesquelles il travaille. Cette signification est évaluée statistiquement en fonction de la longueur et de la composition de la séquence, de la taille de la banque et de la matrice de scores utilisée. "Sequences producing a significant alignment" : séquences ayant un alignement significatif. A chacune de ces séquences sont attribués plusieurs valeurs spécifiques qui sont une indication de la qualité de l'alignement. "High-Scoring Segment Pairs" ou "HSP" : les couples de séquences les plus longues dont les scores ne peuvent être améliorés après extension d'un segment initial (Voir une description de l'algorithme de BLAST). |
|
a. "E-Value" pour un score S (E = Expected) |
|
Pour des séquence de longueurs m et m, la statistique d'un score HSP est caractérisée par 2 paramètres de la distribution des valeurs extrêmes produites par l'algorithme de Smith-Waterman : |
K
et
l
|
|
"E-Value" est le nombre d'alignements différents que l'on peut espérer trouver dans les banques avec un score supérieur ou égal à S. C'est donc la probabilité d'observer au hasard ce score dans les banques de séquences considérées. |
E-Value
= K.m.n. e-lS
(1)
|
|
"bit score S'" : ce score est dérivé du score brut S de l'alignement après normalisation. Il est utilisé pour comparer des scores provenant de recherches différentes : |
S' = l.S - Ln K / Ln 2 E-Value = m.n. 2-S' |
|
"E-Value"
|
Interprétation
|
|
Plus la "E-Value" est faible, plus l'alignement est significatif. Pour des séquences requêtes trés courtes, la "E-Value" est élevées, même pour les séquences dont l'alignement obtenu est significatif. |
|
|
< 1 e-100
|
La probabilité de trouver par hasard un alignement comme celui qui est obtenu est inférieure à 1 e-100 --> appariement exact : même séquence, même origine |
|
1 e-100 < E <
1 e-50
|
séquences quasiment identiques
: allèles, mutations, espèces voisines
|
|
1 e-50 < E <
0,1
|
une éventuel lien entre
la séquence requête et celles qui ont été
trouvées
|
|
> 0,1
|
séquences de l'alignement
à rejeter, sans lien avec la séquences requête
|
|
b. "P-Value" pour un score S |
|
Le nombre d'HSP avec un score supérieur ou égal à S et obtenus par hasard suit une distribution selon la loi de Poisson. |
|
La probabilité de ne trouver aucun HSP avec un score supérieur ou égal à S est : E est la "E-Value" pour le score S calculée avec l'équation (1). |
P
= e-E
|
|
Donc, la probabilité de trouver au moins 1 HSP avec un score supérieur ou égal à S est : |
P-Value
= 1 - e-E
|
|
E
|
P-Value
|
|
10
|
0,99995
|
|
5
|
0,993
|
|
très faible
|
valeurs de "E-Value"
et de "P-Value"
à peu près égales
|
|
BLAST renvoie la "E-Value"
plutot que la "P-Value".
En effet, il est plus facile de comprendre la différence entre "E-Value" = 5 et "E-Value" = 10 qu'entre "P-Value" = 0.993 et 0.99995. |
|
| 7. Liens Internet et références bibliographiques |
|
"Cours d'autoformation en bioinformatique" - Université Paris 5 : Trés bien fait et didactique. Avec exercices corrigés d'autoévaluation. |
|
| "Sequence Manipulation Suite" : ensemble d'applications Java pour manipuler les séquences. Trés bien fait et didactique pour se familiariser rapidement. Superbe | |
| "An introduction to Bionformatics Algorithms" | |
|
"The Statistics of Sequence Similarity Scores" - Altschul, S.F. |
|
| Needleman, S.B. & Wunsch, C.D. (1970) "A general method applicable to the search for similarities in the amino acid sequence of two proteins" J. Mol. Biol. 48, 443 - 453 | |
|
Smith, T. & Waterman M. (1981) "Identification of common molecular subsequences" J. Mol. Biol. 147, 195 - 197 |
|
|
BLAST : Altschul, S.F., Gish, W., Miller, W., Myers, E.W. & Lipman, D.J. (1990) "Basic local alignment search tool" J. Mol. Biol. 215, 403 - 410 |
|
|
FASTA : Pearson, W.R. & Lipman, D.J. (1988) "Improved tools for biological sequence comparison" Proc. Natl. Acad. Sci. USA 85, 2444 - 244 |
|
|
Clustal W : Thompson, J.D., Higgins, D. G. & Gibson , T. J. (1994) "CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice" Nucleic Acids Res. 22, 4673 - 4680 |
|
| Multalin : Corpet, F. (1988) "Multiple sequence alignment with hierarchical clustering" Nucleic Acids Res. 16, 10881 Ð 10890 | |
| PFAM : Sonnhammer et al. (1998) "Pfam: multiple sequence alignments and HMM-profiles of protein domains" Nucleic Acids Res. 26, 320 - 322 | |