alignements de séquences - université de montréalhamelsyl/alignement-a08.pdfift6291 - bin 6000,...

30
IFT6291 - BIN 6000, A2008, Sylvie Hamel, Université de Montréal 1 Alignements 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

Upload: others

Post on 03-Feb-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • 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