Alignements de séquences - Université de Montréalhamelsyl/alignement-A08.pdfIFT6291 - BIN 6000,...
Transcript of Alignements de séquences - Université de Montréalhamelsyl/alignement-A08.pdfIFT6291 - BIN 6000,...
-
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 1Alignements
Alignements de séquences
Problématique
Distance d’édition + calcul d’un alignement optimal
Distance versus similarité
Quʼest-ce quʼune distance Méthode naïve: énumération de tous les alignements possibles Programmation dynamique Alignement global versus local
Alignements avec trous
-
Décoder et analyser l’information contenue dans les séquences d’ADN et de protéines.
Défis de la biologie moléculaire
Environ 200 génomes complètement séquencés et publiés, dont l’homme et la souris.
Projets de séquençage de plus de 400 procaryotes et 360 eucaryotes
Une masse de données biologiques:
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 2Alignements
-
Intérêt des séquences
La séquence nucléotidique d’un gène détermine la séquence d’acides aminés de la protéine.
La séquence d’une protéine détermine sa structure et sa fonction
Généralement, une similarité de séquence implique une similarité de structure et de fonction (l’inverse n’est pas toujours vrai).
Évolution basée, en grande partie, sur la duplication suivie de modification
⇑
beaucoup de redondance dans les banques de données
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 3Alignements
-
Problématiques
Est-ce qu’une nouvelle séquence a déjà été complètement ou partiellement déposée dans une banques de données?
Est-ce que cette séquence contient un gène?
Est-ce que ce gène appartient à une famille connue?
Existe-t-il d’autres gènes homologues?
Comment ce gène a-t-il évolué par rapport aux autres gènes homologues déjà identifiés?
Existe-t-il des séquences non codantes semblables (répétitions, régions régulatrices, facteurs de transcriptions, ARN structuraux)?
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 4Alignements
-
Alignement de séquencesAlignement global: Deux séquences de protéines appartenant à la même famille,
études phylogénétiques
Seq1
Seq2
Alignement local: Deux séquences de protéines appartenant à des familles différentes mais ayant un ou des domaines communs
Seq1
Seq2
Recherche de motif: Seq1
Seq2
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 5Alignements
-
Distance d’éditionPour comparer des séquences, on va définir une distance:
Définition: Une distance D est une relation ayant les propriétés suivantes:
D(x,x) = 0D(x,y) = D(y,x)D(x,z)≤ D(x,y)+D(y,z) inégalité du triangle
x
y z
Distance naturelle: compter le nombre dʼinsertions, de suppressions et de substitutions nécessaire pour passer dʼune séquence à une autre.
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 6Alignements
-
Distance d’édition (suite)
Exemple: S1 =CATAGTG S2 = GTCAGGT
CG
SASu
TT
M
C
IAA
M
G
I
GGM
TTM
GSu
Distance dʼédition entre et : Nombre minimal dʼinsertions, suppressions et substitutions nécessaire pour transformer en
S2S1S1 S2
Une insertion/suppression est représentée par un tiret ʻ-ʼ:
CG
A TT C
AA G G
GTT G
-- -
-
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 7Alignements
-
Il existe plusieurs alignements possibles étant donné 2 séquences.
Alignement global
Comment trouver un alignement optimal i.e un alignement ayant une distance dʼédition minimal??
Idée naïve: Énumérer tous les alignements possibles pour les 2 séquences et en choisir un dont la distance dʼédition est minimal.
Exemple: etS1 = AC S2 = AGC
Les alignements possibles ici sont:
{AC−ACC ,
A−CACC,
−ACACC,
AC−−−ACC ,
AC−−A−CC ,
A−−C−ACC,
A−C−AC−C ,
−A−CACC−, . . .
}
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 8Alignements
-
−bm
anbm
f(0,0) = 0
Combien d’alignements?Si f(n,m) est le nombre d’alignements entre une séquence de n lettres et une autre de m lettres alors, on a:
a= a1 . . .anb= b1 . . .bm
f(0,m) = 1f(n,0) = 1
f(n,m) = an−
Nombre d’alignements deb1 . . .bm
a1 . . .an−1avec
+
+
Nombre d’alignements deavec b1 . . .bm−1
a1 . . .an−1
Nombre d’alignements deavec
a1 . . .anb1 . . .bm−1
f(n,m) = f(n-1,m) + f(n-1,m-1) + f(n,m-1)
⇑
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 9Alignements
-
Combien d’alignements?f(n,m) = f(n-1,m) + f(n-1,m-1) + f(n,m-1)
⇑
5 13 25 417 25 639 41
1 1 1 1 13 5 7 9 11
61
001234
1 2 3 4 511111
129129
231321 681
f (n,n)∼ (1+√2)2n+1 ·
√n
En fait, on peut montrer que⇑
f (1000,1000)∼ 10764
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 10Alignements
-
Programmation dynamiquePour résoudre un problème, commencer par résoudre tous les sous-problèmes. Pour ne pas calculer deux fois les mêmes sous-problèmes, conserver les valeurs dans une table m X n
Étant donné 2 séquences, et , on définitT = t1t2 . . . tnS = s1s2 . . .sm
D(i,j): distance dʼédition entre le préfixe de taille i de S, , et le préfixe de taille j de T, .
s1 . . .sit1 . . . t j
D définit une matrice de taille (m+1) X (n+1) quʼon appelle la matrice de programmation dynamique
Lʼidée est alors dʼexprimer D(i,j) en fonction des valeurs de D pour des paires dʼindices plus petits que (i,j)
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 11Alignements
-
Une matrice de programmation dynamique:
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 12Alignements
-
Calculer D(i,j) à partir des 3 cases (i-1,j), (i, j-1) et (i-1,j-1):
D(i-1,j) + 1
D(i,j-1) + 1
D(i-1,j-1) + 1 si si != t j0 sinon
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 13Alignements
1. Lʼalignement se termine par la suppression de si
2. Lʼalignement se termine par lʼinsertion de tj
an−
Alignement optimal deavec
s1 . . . si−1t1 . . . tj
si
3. Lʼalignement se termine par lʼalignement de avec si tj
−bm
Alignement optimal deavec
s1 . . . sitjt1 . . . tj−1
anbmavec
Alignement optimal det1 . . . tj−1
s1 . . . si−1sitj
-
Remplissage de la table
Conditions initiales: D(i,0) = i, ∀i 0≤ i≤ mD(0, j) = j, ∀ j 0≤ j ≤ n
Relation de récurrence pour i, j > 0:
D(i, j) = min
D(i−1, j) +1D(i, j−1) +1D(i−1, j−1)+δ(i, j)
,
Où si et 1 sinon. δ(i, j) = 0 xi = y j
Complexité: Pour remplir chaque case de la table, on examine 3 cases. Il y a cases et donc complexité en temps de O(nm) O(nm)
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 14Alignements
-
Trouver un alignement optimal
Au cours du remplissage de la table, garder des pointeurs:
- de (i-1,j) à (i,j) si D(i,j) = D(i-1,j) + 1
- de (i,j-1) à (i,j) si D(i,j) = D(i,j-1) + 1
- de (i-1,j-1) à (i,j) si D(i,j) = D(i-1,j-1) + δ(i, j)
Un alignement optimal: Commencer à la case (m,n) et suivre des pointeurs jusquʼà la case (0,0).
Une case peut contenir plusieurs pointeurs: plusieurs alignements optimaux possibles
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 15Alignements
-
Distance versus similarité
Plutôt que de mesurer la différence entre 2 séquences, mesurer leur degré de similarité
P(a,b): score de lʼappariement (a,b). Positif si a=b et 0≤
V(i,j): valeur de lʼalignement optimal entre ets1 . . .si t1 . . . t j
Conditions initiales: V (i,0) = ∑1≤k≤i
P(sk,−), V (0, j) = ∑1≤k≤ j
P(−, tk),
Relation de récurrence:
V (i, j) = max
V (i, j−1) +P(−, t j)V (i−1, j) +P(si,−)V (i−1, j−1)+P(si, t j)
,
Algorithme de Needleman-Wunch
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 16Alignements
-
- m pour un match
Associer un score à chaque opération
Distance d’édition avec pondération des opérations
- d pour une insertion ou suppressionr > 0d > 0
(généralement )m= 0- r pour une substitution
Relations de récurrence:
D(i, j) =min
D(i−1, j) +dD(i, j−1) +dD(i−1, j−1)+δ(i, j)
où = m si et r sinon. δ(i, j) si = t j
D(i,0) = i×d D(0, j) = j×d
m≤ 0
Attention: Il faut que r < 2d, sinon jamais de substitutions
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 17Alignements
-
Distance d’édition généraliséeLe score p dépend des caractères. Par exemple, remplacer une purine par une pyrimidine plus coûteux que remplacer une purine par une purine.
Relations de récurrence:
D(i, j) =min
D(i−1, j) +p(si,−)D(i, j−1) +p(−, t j)D(i−1, j−1)+p(si, t j)
D(i,0) = ∑1≤k≤i
p(sk,−)
D(0, j) = ∑1≤k≤ j
p(−, tk)
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 18Alignements
-
Recherche approché d’un motif
Problème: On a un “petit” motif P de taille m et une “longue” séquence T de taille n et on veut trouver toutes les occurrences approximatives de P dans T (moins de k erreurs).
G G G
A
A
T
T C
C
...00 0 0 0 0 0 ...
123
- initialiser la première ligne à 0- même relations de récurrence que pour l’alignement global de séquences
- rechercher à la ligne m toutes les cases contenant des valeurs plus petites ou égales à k- pour trouver un alignement, suivre les pointeurs jusqu’à la première ligne
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 19Alignements
-
Alignement local - Algorithme de Smith-Waterman
Similarité locale entre deux séquences: Valeur maximale d’un alignement entre deux facteurs des deux séquences.
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 20Alignements
-
Relations de récurrence:
Alignement local - Algorithme de Smith-Waterman
V (0, j) = 0V (i,0) = 0
V (i, j) =max
0V (i−1, j) +p(si,−)V (i, j−1) +p(−, t j)V (i−1, j−1)+p(si, t j)
- Le 0 dans la récurrence permet d’ignorer un nombre quelconque de caractères en début de séquence
- Pour trouver un alignement local de score maximal:
- On remplie la table- On recherche une case c contenant la valeur maximale de la table- De cette case c, on suit les pointeurs jusqu’à une case contenant la valeur 0
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 21Alignements
-
Considérer les trous
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 22Alignements
-
Quelques motivations biologiques
Études phylogénétiques: la présence des mêmes trous dans les séquences très significative
Deux protéines similaires à beaucoup d’endroits, mais contenant certains domaines différents.
cDNA: ne contient que les exons d’un gène (retrouver le gène correspondant à un cDNA en l’alignant avec l’ADN
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 23Alignements
-
Modèles de pondération
Score= 3P(C,C)+2P(A,A)+2P(A,T )−2WT
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 24Alignements
-
Modèles de pondération (suite)
Score= 3P(C,C)+2P(A,A)+2P(A,T )−2Wt−5We
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 25Alignements
-
Modèles de pondération (suite)
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 26Alignements
-
Recherche d’un alignement optimal: pondération quelconque
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 27Alignements
-
Recherche d’un alignement optimal: pondération quelconque
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 28Alignements
-
Recherche d’un alignement optimal: pondération quelconque
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 29Alignements
-
Recherche d’un alignement optimal: pondération affine
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 30Alignements