1 / 65

Alignement de séquences biologiques

Alignement de séquences biologiques. Nadia El- Mabrouk. Inspiré de: An introduction de Bioinformatics Algorithms – www.bioalgorithms.info Neil C. Jones and Pavel A. Pevzner. Motivation.

Download Presentation

Alignement de séquences biologiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alignement de séquencesbiologiques Nadia El-Mabrouk Inspiré de: An introduction de Bioinformatics Algorithms – www.bioalgorithms.info Neil C. Jones and Pavel A. Pevzner

  2. Motivation • Identification des gènes: Est-ce qu’un ORF est un gène? S’il existe un gène similaire dans un autre organisme, alors de forte chance que l’ORF représente un gène. • Déduire la fonctionnalité d’un gène grâce à sa similarité avec un gène de fonction connue. • Regrouper les gènes en familles d’homologues. • Étudier l’évolution des espèces...

  3. Alignement global/ local - Recherche • Alignment Global • Alignement local— trouver des régionsconservées • Recherche– trouver la position d’un gène --T—-CC-C-AGT—-TATGT-CAGGGGACACG—A-GCATGCAGA-GAC | || | || | | | ||| || | | | | |||| | AATTGCCGCC-GTCGT-T-TTCAG----CA-GTTATG—T-CAGAT--C tccCAGTTATGTCAGgggacacgagcatgcagagac |||||||||||| aattgccgccgtcgttttcagCAGTTATGTCAGatc tcccagtTATGTCAGGggacacgagcatgcagagac ||| ||||| TAT-TCAGG

  4. Exemple • Un alignement de séquence réalisé par ClustalW entre deux protéines humaines. http://fr.wikipedia.org/wiki/Alignement_de_s%C3%A9quences

  5. Modèle sous-jacent: mutations ponctuelles Exemple: Substitution de caractères Séquenceancestraleinconnue ACG G C G I I A C G A G ACG GCG X Y Séquencesobservées Séquencesobservées

  6. T A G T C C A T T G A A T C G Alignement global 2 séquencesvet w: v : m = 8 w : n = 7 Alignement: matrice 2 * k( k > m, n ) v -- T G A T -- C T G A w C -- -- T G C A T A -- 1 mismatch 4 matches 2 insertions 3deletions An introduction de Bioinformatics Algorithms – www.bioalgorithms.info

  7. T A T G C C T A G T A A T C G Alignement global v : m = 8 Un alignement de v et w est une matrice A de 2 lignes et k colonnes, avec k ≥ max (n,m) telle que • Pour tous 1 ≤i ≤2et 1 ≤j ≤k, A[i,j] est dans {A,C,G,T,-}; • v (respectivement w) est obtenu en concaténant, dans l’ordre, les lettres {A,C,G,T} de la 1ère (respec. la 2ème) ligne de A; • Il n’existe aucune colonne j telle que A[1,j]=A[2,j]=“-”. w : n = 7

  8. A T A T A T A T T A T A T A T A Alignement sans indels- Distance de Hamming Deuxséquences d’ ADN vet w : v : w: • Distance de Hamming : dH(v, w) = 8 • C’est beaucoup, bienque les séquencessoienttrèssimilaires. An introduction de Bioinformatics Algorithms – www.bioalgorithms.info

  9. A T A T A T A T T A T A T A T A Alignement avec indels Endécalantd’uneseule position: v : -- w: -- • La distance d’éditionou de Levenshtein(1966) • D(v, w) = 2. • D(v, w) = MIN d’opérationélémentaires pour transformer v en w An introduction de Bioinformatics Algorithms – www.bioalgorithms.info

  10. Distance d’édition versus Hamming Dist. de Hamming compare toujours i-èmelettre de vet i-èmelettre de w V = ATATATAT W= TATATATA Dist. de Hamming: D(v, w)=8 Calculer distance de Hamming:trivial.

  11. Distance d’édition versus Hamming Dist. d’édition peut comparer i-èmelettreof vet j-èmelettre de w Dist. de Hamming compare toujours i-èmelettre de vet i-èmelettre de w V = - ATATATAT V = ATATATAT Un seul shift et tout s’aligne W= TATATATA W = TATATATA - Dist. de Hamming: Distance d’Édition: D(v, w)=8D(v, w)=2 Calculer Hamming distance Calculer dist. d’édition tâchetrivialetâchenon-triviale Comment trouverqueljva avec queli???

  12. Plus longue sous-séquence commune(LCS)–Alignement ignorant les Mismatches • Étantdonnédeux mots • v = v1v2…vmet w = w1w2…wn • LCS de vet w: séquence de positions dans • v: 1 < i1 < i2 < … < it< m • et dans • w: 1 < j1 < j2 < … < jt< n • telque la iklettre de vestégale à la jklettre de wpour tout 1 ≤ k ≤ t, et testmaximal

  13. 0 1 2 2 3 3 4 5 6 7 8 0 0 1 2 3 4 5 5 6 6 7 LCS: Exemple j : v A T -- C -- T G A T C w -- T G C A T -- A -- C i: (0,0) (1,0) (2,1) (2,2) (3,3) (3,4) (4,5) (5,5) (6,6) (7,6) (8,7) positions dansv: 2 < 3 < 4 < 6 < 8 Matches enrouge positions dansw: 1 < 3 < 5 < 6 < 7 Chemindansune grille 2D: Graphed’édition

  14. 0 1 2 2 3 3 4 5 6 7 8 0 0 1 2 3 4 5 5 6 6 7 j : v A T -- C -- T G A T C w -- T G C A T -- A -- C i : A T C T G A T C j 0 1 2 3 4 5 6 7 8 i 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  15. A T -- C -- T G A T C -- T G C A T -- A -- C A T C T G A T C j 0 1 2 3 4 5 6 7 8 i 0 LCS: Trouver un chemin avec un maximum d’arêtes diagonales. T 1 G 2 C 3 A 4 T 5 A 6 C 7

  16. Comment calculer LCS (v,w)? Pour chaquespréfixes: v[1,i] = v1… vide v et w[1,j] =w1… wjde w On considère le dernier caractère de vi et wj . 3 caspossibles • vi et wjsontalignés lcs(v[1,i] ,w[1,j]) = lcs(v[1,i-1], w[1,j-1]) +1 • vin’est pas aligné lcs(v[1,i],w[1,j]) = lcs(v[1,i-1], w[1,j]) • wjn’est pas aligné lcs(v[1,i],w[1,j]) = lcs(v[1,i], w[1,j-1])

  17. lcs (i-1,j) lcs (i,j-1) lcs (i-1, j-1) + 1sivi = wj max lcs (i,j) = Programmationdynamique! Pour résoudre un problème (ici lcs(v,w)),on a besoin de résoudre tous les sous-problèmes (ici lcs(v[1,i] ,w[1,j]) pour tous les i et j). Pour simplifier, notons lcs(i,j) au lieu de lcs(v[1,i] ,w[1,j]) Conditions initiales: lcs (i,0) =lcs (0,j) =0

  18. Graphed’édition/Table de programmationdynamique A T C T G A T C j 0 1 2 3 4 5 6 7 8 i 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  19. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  20. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 (i-1,j) (i-1,j-1) C 3 +1 +0 A (i,j-1) (i,j) +0 4 T 5 A 6 C 7

  21. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  22. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  23. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  24. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  25. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  26. Graphed’édition/Table de programmationdynamique j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  27. A T -- C -- T G A T C -- T G C A T -- A -- C j A T C T G A T C i 0 1 4 6 7 2 3 5 8 0 T 1 G 2 C 3 A 4 T 5 A 6 C 7

  28. A T G T C C T A G T A A T C G Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] j=7 v : m = 8 w : n = 7 i=6

  29. T A T G C C T A T G A A T Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Vjestimpliquédans un indel: j=7 v : w : i=6

  30. A T G T C C T A G T A A T - Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Vjestimpliquédans un indel: j-1=6 [ ] v : w : i=6

  31. T A T G C C T A T G A A T Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Wiestimpliquédans un indel: v : w : j=7 i=6

  32. - T A T G C C T A T G A T A Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Wiestimpliquédans un indel: v : w : j=7 [ ] i-1=5

  33. T A T G C C T A T G A A T Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Vi et Wisontalignés: v : w : j=7 i=6

  34. A T G T C C T A G T A A T Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,j] et w[1,i] • 3 caspossibles: • Vi et Wisontalignés: v : w : j-1=6 [ ] i-1=5

  35. D (i-1,j) +1 D (i,j-1)+1 D (i-1, j-1) + 1sivi≠ wj D (i-1, j-1) sivi = wj D (i,j) = max Distance d’édition • D(i,j) = MIN d’erreurs (substitutions, insersions, suppressions) entre v[1,i] et w[1,j] Conditions initiales: D (i,0) =i; D(0,j) =j

  36. G T C A G G T C 1 2 2 3 4 5 6 A 2 2 3 2 3 4 5 3 2 3 3 3 4 4 T A 4 3 3 3 4 4 5 4 4 4 4 3 4 5 5 4 5 5 4 4 4 6 5 5 6 5 4 5 C - A G T T - C A A G G T - G G - T

  37. distEdit(v,w) fori 1 to n D(i,0) i for j  1 to m D(0,j) j fori 1 to n forj  1 to m D(i-1,j) +1 D(i,j)  max D(i,j-1)+1 D(i-1, j-1) if vi = wj D(i-1, j-1) + 1, if vi≠ wj “ “ ifD(i,j)= D(i-1,j) bi,j  “ “ ifD(i,j)= D(i,j-1) “ “ otherwise return (D(n,m), b) Algorithme { { {

  38. Complexité • Temps constant pour chaquechaquei,javec 1≤i≤n et 1≤j ≤m • Temps proportionnel à O(nm) pour remplire la table de nlignes et mcolonnes. • Complexitéenespace: égalementO(nm).

  39. Distance d’édition avec pondération des opérations • On peutassocier un score à chaqueopération: • d pour une insertion/délétion • r pour une substitution • e pour un match • d>0, r>0 et e≥0. Engénérale=0. • Il fautque r<2d, sinonjamais de substitutions. • Relations de récurrence: D(i,0) = i x d; D(0,j) = j x d D(i,j) = min [D(i,j-1)+d, D(i-1,j)+d, D(i-1,j-1)+p(i,j)] où p(i,j) = e si vi = wj et p(i,j) =r sinon.

  40. Distance d’éditiongénéralisée • Le score d 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,0) = S1≤k≤id(vi ,-); D(0,j) = S1≤k ≤jd(-,wj) D(i,j) = min [D(i,j-1)+ d(-,wj), D(i-1,j)+d(vi ,-), D(i-1,j-1)+d(vi ,wj)] • Si d est une distance, alors D est une distance (séparation, symétrie et inégalité triangulaire)

  41. Similarité entre deuxséquences • Plutôt que de mesurer la différence entre deux séquences, mesurer leur degré de similarité • P(a,b): score de l’appariement (a,b): Positif si a=b et ≤0 sinon. V(i,j): valeur de l’alignement optimal de v[1,i] et w[1,j] • Relations de récurrence: V(i,0) = S1≤k ≤iP(vi ,-); V(0,j) = S1≤k ≤jP(-,wj) V(i,j) = max [V(i,j-1)+P(-,wj), V(i-1,j)+P(vi ,-), V(i-1,j-1)+P(vi ,wj)] • Ça s’appelle: Algorithme de Needleman-Wunch.

  42. Score simple • Lorsque mismatches pénalisés par –μ, indels pénalisés by –σ, et matches gratifiés d’un +Ɛ, le score d’un alignement est: Ɛ(#matches) – μ(#mismatches) – σ (#indels) • Exemple: Ɛ =2; μ = σ = 1; v -- T G A T -- C T G A w C -- -- T G C A T A -- 1 mismatch 4 matches 2 insertions 3deletions Score = 2x4-1x6=2

  43. Matrice de score pour les AA: Blosum50

  44. Alignement local: Algorithme de Smith-Waterman • Alignement global: Plus long chemin entre (0,0) et (n,m). • Alignement local: Plus long chemin entre n’importe quelles arêtes (i,j) et (i’, j’) du graphe d’édition. • Quelle mesure de distance/similarité? • Distance d’édition: Alignement vide! Pas de sens. • Mesure de similaritéavec scores négatifs

  45. Alignement local: Exemple Input : Deux séquences v, w et une matrice de scores de similarité d. Output : Trouver deux facteurs de v et w dont le score de similarité est maximal parmi tous les facteurs possibles. Local alignment Global alignment

  46. Pourquoi faire de l’alignement local? • Deux gènes dans deux espèces peuvent être similaires sur de courtes régions, mais dissimilaires dans l’ensemble. • Exemple: • Les gènes Homeobox ont une courte région appelée « homeodomain » très conservées. • Un alignement global ne trouverait pas cette région.

  47. Solution directe En temps O(n4): Il y a n x n arêtes dans le graphe d’éditions  n2 arêtes sources et n2arêtes cible. Calculer la valeur de similarité maximale d’un chemin prend un temps O(n2). Local alignment Global alignment

  48. Solution directe En temps O(n4): Il y a n x n arêtes dans le graphe d’éditions  n2 arêtes sources et n2arêtes cible. Calculer la valeur de similarité maximale d’un chemin prend un temps O(n2).

  49. Solution: Parcours gratuits Yeah, a free ride! Vertex (0,0) The dashed edges represent the free rides from (0,0) to every other node. An introduction de Bioinformatics Algorithms – www.bioalgorithms.info

  50. Seulesdifférences avec l’alignement global. Réinitialisation à 0. Possibilitéd’arrivée à chaque arête par un parcoursgratuit! Alignement local: Récurrences • La plus grandevaleurV(i,j)est le score du meilleuralignement local. • Récurrences: V(i,0) = V(0,j) = 0 0 V(i,j) = max V(i-1,j-1) + δ(vi , wj) V(i-1,j) + δ(vi , -) V(i,j-1) + δ(-, wj) {

More Related