1
Algorithmes sur les séquences
en bioinformatique
Alessandra Carbone
Université Pierre et Marie Curie
M2 - STL
Cours 4: Algorithmes de recherche de motifs,
chaînes de Markov et échantillonage de Gibbs
Îles CpG
CpG = paire de nucléotides, ou C est suivi par G, qui apparaît sur une chaîne d’ADN
CpG est une paire relativement rare dans les séquences d’ADN. D’autre part si on regarde
des séquences courtes, d’une centaine de nucléotides, la paire CpG est plus fréquente.
Ces sous-séquences sont appelée îles CpG et elles apparaissent surtout dans les régions
promotrices ou les régions d’initiation des gènes.
Étant donnée une séquence d’ADN courte, établir si elle provienne d’une île CpG
Étant donnée une séquence d’ADN longue, localiser toutes les îles CpG.
Problèmes:
A.Carbone - UPMC 3
Rappel sur les chaînes de Markov
Une chaîne de Markov est un triplet (Q,{p(x1=s)},A) où :
-Q est un ensemble fini d’états. Chaque état correspond a un symbole dans le
langage Σ
-P ensemble de probabilités associées à l’état initiale
-a est le fonction probabilité de la transition entre états,
dénotée ast pour chaque paire d’états s,t Q.
Pour s,t Q on a que ast = P(xi=t|xi-1=s)
Begin
CG
A T
End
Une chaîne de Markov pour modéliser l’ADN ;
Begin état initiale et End état finale.
Soit Σun langage (fini).
A.Carbone - UPMC 4
Supposons que X=(x1,…,xL) soit une séquence issue d’un processus aléatoire
avec mémoire de longueur 1, c-a-d que la valeur de la variable aléatoire xidépend
seulement de son prédécesseur xi-1:
s1,…,si∈Σ P(xi=si|x1=s1,…, xi-1=si-1) = P(xi=si|xi-1=si-1) = asi-1,si
La probabilité de la séquence X est alors:
P(X) = p(x1Πi=2Laxi-1,xi
2
A.Carbone - UPMC 5
Problème: Identification d’une île CpG
Entrée: une séquence d’ADN courte X=(x1,…,xL) ∈Σ , où Σ= {A,C,G,T}
Question: décider si X est une île CpG
On utilisera deux modèles de chaînes de Markov : l’une pour l’analyse des îles CpG
(le modèle « + ») et l’autre pour l’analyse hors des îles CpG (le modèle « - »)
Soit ast+la probabilité de transition de s,t ∈Σ dans une île CpG et soit ast-la probabilité de
transition hors d’une île CpG.
On calcule alors un score de vraisemblance logarithmique pour la séquence X:
Score(X) = log ----------------------------- = Σi=1Llog -----------
P( X | île CpG)
P( X | non île CpG)
a+xi-1,xi
a-xi-1,xi
Plus fort le score, plus forte la chance que X soit une île CpG
A.Carbone - UPMC 6
Probabilité de transition dans îles CpG et hors îles CpG
Exemple de profile de scores attendus
(scores normalisés selon la longueur des séquences)
Région hors îles CpG Iles CpG
A.Carbone - UPMC 7
Problème: Identification d’une île CpG dans une séquence d’ADN
Entrée: une séquence d’ADN longue X=(x1,…,xL) ∈ΣL, où Σ= {A,C,G,T}
Question: localiser l’île CpG dans X
Approche naïve: définir une fenêtre glissante Xk= (xk+1…xk+l) de longueur l (où
l << L, d’habitude longue quelque centaine de bases, et 1 k L-l) de la séquence
et calculer le score Score(Xk)pour toutes les séquences résultats.
Les sous-séquences ayant un score positif sont des îles CpG potentielles.
Problèmes avec l’approche naïve : on connaît pas la longueur des îles, mais
l’algorithme suggère que les îles soient d’au moins l nucléotides en longueur :
fenêtre trop grande : les îles CpG sont des sous-séquences courtes de la fenêtre
et le score que l’on donne à la fenêtre peut être trop faible pour la détection.
fenêtre trop petite : elle peut amener à ne pas détecter suffisamment d’information
pour détecter si ses nucléotides sont distribués comme ceux d’une île CpG
A.Carbone - UPMC 8
Meilleure solution:
Combiner les deux chaînes de Markov a+et a-dans un modèle unifié, avec
une probabilité faible de passer d’une chaîne à l’autre à chaque transition.
Problème avec cette solution :
Nous avons deux états correspondant à chaque symbole de nucléotide.
3
A.Carbone - UPMC 9
Modèles de Markov cachés (HMM)
Un modèle de Markov caché est un triplet M=(Σ,Q, Θ)où :
-Σest un alphabet de symboles
- Q est un ensemble fini d’états, capables d’émettre des symboles de Σ
-Θest un ensemble de probabilités qui contient:
-probabilités de transition entre états, dénotées akl pour chaque k,l Q
-probabilités d’émission, dénotées ek(b) pour chaque k Q et b ∈Σ.
Un chemin Π= (π1,…, πL)dans le modèle M est une séquence d’états.
Le chemin Πsuit la chaîne de Markov, de telle façon que la probabilité d’arriver
dans un état dépend exclusivement de l’état précèdent.
Modèle de Markov Caché d’ordre 1
A.Carbone - UPMC 10
Etant donné un chemin Πet une séquence X = (x1,…,xL) ∈Σon peut alors définir :
akl = P(πi= l | πi-1=k)
la probabilité de transition entre états :
la probabilité d’émission du symbole b de l’état k :
(cad que le symbole b soit vu à partir de l’état k)
ek(b) = P( xi = b | πi = k)
La probabilité que la séquence X soit générée par le modèle M étant donné le
chemin Πest alors :
P(X, Π) = aπ0,π1 ·ΠLi=1 eπi(xi) · aπi,πi+1
π0= begin et πL+1 = end sont deux états que l’on ajoute au modèle.
11
HMM pour détecter îles CpG dans une longue séquence d’ADN
Etats:
Symboles émis:
A+C+G+T+A-C-G-T-
ACGTACGT
Table de probabilités des transitions aπi,πi+1 dans îles CpG, où p est la probabilité de rester
dans une île et q est la probabilité de rester hors d’une île.
Hypothèses: 1. on perd la mémoire quand on bouge dans/hors une île CpG;
2. on ne considère pas des probabilités représentant le « fond » (background);
3. la probabilité d’émission des états X+et X-est 1 pour le symbole X et 0 pour les autres
symboles. A.Carbone - UPMC 12
Problème du décodage
Entrée: un HMM M=(Σ,Q, Θ) et une séquence X ∈Σ*, pour lesquels on ne
connaît pas le chemin Π= (π1,…, πL)
Sortie: le plus probable chemin Π* généré pour X, cad un chemin t.q. P(X, Π*)
est maximisée.
Connaître le chemin Π* peux nous aider à localiser les îles CpG:
étant donné Π* on peut le traverser pour déterminer que toutes les parties
qui passent dans des états « + » sont des îles CpG.
X le génome et Π* le chemin de lecture du génome
4
A.Carbone - UPMC 13
L’algorithme de Viterbi
Algorithme de programmation dynamique qui calcule le chemin le plus probable
dans un modèle de Markov caché.
Soit X=(x1,…,xL)une séquence.
Pour k Qet 0 i L, on considère un chemin Πqui termine dans kainsi que la
probabilité de génération du préfix (x1,…,xi)de X.
On dénote vk(i) la probabilité du chemin le plus probable pour le préfix (x1,…,xi) qui
termine dans k
vk(i) = max{ Π| Πi=k} P(x1 …x
i, Π)
A.Carbone - UPMC 14
1. Initialisation
vbegin(0) = 1
vk(0) = 0 pour tout k begin
2. Pour tout i=0,…,l-1 et pour tout l Q calcule récursivement :
vl(i+1) = el(xi+1) ·maxkQ{vk(i) · akl}
3. Calcule la valeur de P(X, Π*) comme
P(X, Π*) = maxkQ{vk(L) · ak,end}
4. Reconstruire le chemin par backtracking sur les étapes récursives.
A.Carbone - UPMC 15
Complexité:
Calcul des valeurs de O(|Q|·L) cellules de la matrice V, avec O(|Q|) opérations
par cellules. La complexité en temps est alors O(L · |Q|2).
La complexité en espace est O(L ·|Q|).
Problème numérique avec le nombre de multiplications:
1. vbegin(0) = 1
vk(0) = -pour tout k begin
2. vl(i+1) = log el(xi+1) + maxkQ{vk(i) + log(akl)}
3. Score(X, Π*) = maxkQ{vk(L) + log(ak,end)}
A.Carbone - UPMC 16
Ils existent des approches, autres que l’algorithme de Viterbi, pour calculer le
chemin le plus probable dans un modèle de Markov caché. Ces modèles, basés
sur le calcul des probabilités a priori et a posteriori, sont particulièrement
intéressants quand ils existent plusieurs chemins qui ont presque la même
probabilité du chemin le plus probable; dans ce cas, on peux vouloir, par
exemple, analyser plusieurs de ces chemins…
On traitera pas ces différentes approches en cours.
5
A.Carbone - UPMC 17
Alignement multiple basé sur HMM
On utilise HMM pour aligner une séquence contre un profile dans un alignement
multiple.
Profile d’alignement sans gap
Pprofile de longueur L, cad
ensemble des probabilités ei(b) d’observer le symbole b à la position i,
pour chaque bΣet 1i L,
X = (x1,…,xL) chaîne de symboles dans Σ
P(X|P) = ΠLi=1ei(xi)
ei(xi)
Score(X|P) = ΣL
i=1 log --------
p(xi)
où p(b) est la fréquence des occurrences du symbole b sur la sequence X
A.Carbone - UPMC 18
On pourra alors définir un HMM (triviale) comme suit:
Tous les états sont « états de match » M1,…,MLet ils correspondent au matching
des symboles de la chaîne avec les positions du profile.
begin M1M2MLend
La probabilité d’émission d’un symbole b de l’état Mjest ej(b) et
la probabilité de transition entre deux états de match est 1.
mais ici il n’y a pas de choix de transitions
A.Carbone - UPMC 19
On pourra ajouter des états d’insertion :
log(aMjIj)+log(aIjMj+1)+(h-1) · log(aIjaIj)
creation
du gap
extension
du gap
l’assignation de probabilités appropriées pour ces transitions corresponde a
l’application de pénalités de gap affines.
Les transitions IjIjentraînent seulement un état (cad Mj) et on considérera le même
coût pour chaque indel inséré.
A.Carbone - UPMC 20
et des états de délétion:
Il s’agit d’états silencieux, ils ne peuvent pas émettre des symboles.
Comme ils sont associés a des différentes composantes Mjdu profile,
ils pourrons avoir des probabilités différentes, et en conséquence, ils pourrons
contribuer différemment au score finale.
1 / 14 100%