1 / 54

Paarweises Sequenz Alignment

Paarweises Sequenz Alignment. Seminar Bioinformatik. Christian Dewes 16.November 2001. Überblick. Motivation Problemdefinition Beschreibung zweier Lösungen Vergleich mit anderen Ansätze Beschreibung einer Approximationslösung Zusammenfassung. Motivation. Sequenzierung (Assemblieren)

Télécharger la présentation

Paarweises Sequenz Alignment

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. Paarweises Sequenz Alignment Seminar Bioinformatik Christian Dewes 16.November 2001

  2. Überblick • Motivation • Problemdefinition • Beschreibung zweier Lösungen • Vergleich mit anderen Ansätze • Beschreibung einer Approximationslösung • Zusammenfassung

  3. Motivation • Sequenzierung (Assemblieren) • Herleitung gemeinsamer Abstammungen • DNA – Mutationen während Evolution • durch Vergleich von Sequenzen • Design von Proteinen/Genen • Vergleich neu entdeckter Sequenzen mit bekannten Sequenzen

  4. A T G – C C • A G G A – C • A – T G C C • A G – G A C Paarweises Sequenz-Alignment Gegeben ein Alphabet S (s.B. S = {ACGT}) Gegeben zwei Sequenzen (z.B. ATGCC und AGGAC) Erweitere S zu S‘ = S {-} Paarweise Sequenz-Alignment: zwei Sequenzen über S‘: (1) mit gleicher Länge (2) ohne Lückensymbole erhält man gegebene Sequenzen ATGCC AGGAC

  5. Deletion Insertion Indels: Substitution Definition: Indel-Operationen • A T G C C • A G G A C • A – T G C C • A G – G A C Leerzeichensymbol in der ersten Zeile: Deletion. Leerzeichensymbol in der zweiten Zeile: Insertion. Spalte mit demselben Buchstabe in beiden Reihen: match Spalte mit unterschiedlichen Buchstaben in beiden Reihen: mismatch Dazugehörige Operation: Substitution

  6. Score of aligning • Ähnlichkeits Scores d(x,y) (x,y S {-}): • (t+1)x(t+1) Matrix (t = |S|) • Beispiel: S = {A,C,G,T}

  7. Score of aligning • Sequence Alignment Problem (SeqAlPro): • Suche alignment zweier Sequenzen mit maximaler Score • Was ist Score eines Alignment • Bisher nur die Score d(x,y) zweier Symbolen x und y aus S‘ definiert • Score eines Alignment rekursiv definieren

  8. si-1,j + d(vi,-) (insert) si,j-1 + d(-,wj) (delete) si,j = max si-1,j-1 + d(vi,wj) (substitute, match) Global Alignment • Initialisierung: s0,0 = 0 • Sei si,j der Score für den Präfix Vi = v1 ... vi von V und den Präfix Wj = w1 ... wj von W • Dann berechnet sich si,j rekursiv:

  9. si-1,j + d(vi,-) (insert) si,j-1 + d(-,wj) (delete) si,j = max si-1,j-1 + d(vi,wj) (substitute, match) Alignment Score • S = {A,C,G,T} • insert, delete: • d(v,-) = d(-,v) = -0,4 • substitute: • d(v,w) = -0,7 v = w • match: d(v,v) = 1 v S

  10. si-1,j - 0,4 (insert) si,j-1 - 0,4 (delete) si,j = max si-1,j-1 + d(vi,wj) (substitute, match) Alignment Score • S = {A,C,G,T} • insert, delete: • d(v,-) = d(-,v) = -0,4 • substitute: • d(v,w) = -0,7 v = w • match: d(v,v) = 1 v S

  11. si-1,j - 0,4 (insert) si,j-1 - 0,4 (delete) si,j = max si,j ist der Wert des opt. Alignment von Vi und Wj si-1,j-1 + 1 vi = wj (match) si-1,j-1 - 0,7 vi = wj(substitute) Alignment Score • S = {A,C,G,T} • insert, delete: • d(v,-) = d(-,v) = -0,4 • substitute: • d(v,w) = -0,7 v = w • match: d(v,v) = 1 v S

  12. delete insert match substitude Datenstruktur • Edit graph: • Knoten: score des alignment von Vi und Wj • Kanten beschreiben Operation • alignment entspricht Weg im edit graph • SeqAlPro entspricht longest path Problem

  13. Datenstruktur v1 v2 v3 v4 v5 ... w1 w2 w3 w4 ... s0,0 s1,0 s2,0 s3,0 s4,0 s5,0 ... s0,1 s1,1 s2,1 s3,1 s4,1 s5,1 ... s0,2 s1,2 s2,2 s3,2 s4,2 s5,2 ... s0,3 s1,3 s2,3 s3,3 s4,3 s5,3 ... s0,4 s1,4 s2,4 s3,4 s4,4 s5,4 ... .....

  14. si-1,j - 0,4 (insert) si,j-1 - 0,4 (delete) si,j = max si-1,j-1 + 1 vi = wj (match) si-1,j-1 - 0,7 vi = wj(substitude) Alignment Beispiel • V = CTGCCT • W = TAGAT • Gesucht: optimales globales Alignment von V und W

  15. Global Alignment - Beispiel C T G C C T T A G A T 1. Initialisierung s0,0= 0 0

  16. Global Alignment - Beispiel C T G C C T -0,4 T A G A T s0,0- 0,4 s1,0 =max si-1,j- 0,4 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion.

  17. Global Alignment - Beispiel C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 T A G A T si-1,0- 0,4 si,0 =max si-1,j- 0,4 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion.

  18. Global Alignment - Beispiel C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 T A G A T -0,4 -0,8 -1,2 -1,6 -2 s0,1- 0,4 s1,1 =max s1,0- 0,4 s0,0- 0,7 si-1,j- 0,4 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion.

  19. Global Alignment - Beispiel C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 T A G A T -0,4 -0,7 -0,8 -1,2 -1,6 -2 -0,4-0,4 s1,1 =max -0,4-0,4 0-0,7 si-1,j- 0,4 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion.

  20. Global Alignment - Beispiel C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 T A G A T -0,4 -0,7 0,6 -0,8 -1,2 -1,6 -2 -1,1 -1,5 -1,9 -2,3 s0,2- 0,4 s1,2 =max s1,1- 0,4 s0,1+ 1 si-1,j- 0,4 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion.

  21. Global Alignment - Beispiel C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 T A G A T -0,4 -0,7 0,6 0,2 -0,2 -0,6 -1 -0,8 -1,2 -1,6 -2 -1,1 -1,5 -1,9 -2,3 0,2 -0,1 -0,5 -0,9 -1,3 -0,2 1,2 0,8 0,4 0,2 -0,6 0,8 0,5 0,1 -0,3 si-1,j- 0,4 -0,9 0,4 0,1 -0,2 1,1 si,j-1- 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w 0 2. Berechnung der Matrix-einträge mittels Rekursion. Alle optimale globale Alignment haben Score 1,1 1,1

  22. Global Alignment - Beispiel C T G C C T C T G C T -0,4 -0,8 -1,2 -1,6 -2 -2,4 C T A G A T T -0,4 -0,7 0,6 0,2 -0,2 -0,6 -1 A -0,8 -1,2 -1,6 -2 -1,1 -1,5 -1,9 -2,3 0,2 -0,1 -0,5 -0,9 -1,3 G -0,2 1,2 0,8 0,4 0,2 -0,6 0,8 0,5 0,1 -0,3 A T -0,9 0,4 0,1 -0,2 1,1 0 3.Backtracking: Berechne ein optimales Alignment Ein optimales globales Alignment ist C - - A C A C - G G T T T T 1,1

  23. 0 si-1,j + d(vi,-) (insert) si,j = max si,j-1 + d(-,wj) (delete) si-1,j-1 + d(vi,wj) (substitude, match) Local Alignment • Sei si,0 = s0,j = 0 für 0 i n und 1 j m • Sei si,j der Score für den Präfix Vi = v1 ... vi von V und den Präfix Wj = w1 ... wj von W • Dann berechnet sich si,j:

  24. Local Alignment - Beispiel 1. Initialisierung der Ränder der Matrix C T G C C T 0 0 0 0 0 0 0 T A G A T 0 si,0= 0 s0,j= 0 0 0 0 0

  25. Local Alignment - Beispiel C T G C C T 0 0 0 0 0 0 0 T A G A T 0 0,2 0 1 0 0 0 0 0 0 0,6 1,2 0,8 0,4 0 1,2 0,9 0,5 0,1 1 0,8 0,5 0,2 1,5 2. Berechnung der Matrix-einträge mittels Rekursion. 0 1 0,6 0 0 0 0 0,6 0,3 Alle optimale lokale Alignments haben Score 1,6 0,2 1,6 1,6 0 si-1,j- 0,4 si,j-1 - 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w

  26. Local Alignment - Beispiel C T G C C T T G 0 0 0 0 0 0 0 T T A G A T 0 0,2 0 1 A 0 0 0 0 0 0 0,6 G 1,2 0,8 0,4 0 1,2 0,9 0,5 0,1 1 0,8 0,5 0,2 1,5 3. Modifiziertes Backtracking: Berechne ein optimales lokales Alignment 0 1 0,6 0 0 0 0 0,6 0,3 0,2 1,6 1,6 Ein optimales lokales Alignment ist - A G G T T

  27. Speicherbedarf und Laufzeit C T G C C T 0 0 0 0 0 0 0 T A G A T 0 0 1 0,6 0,2 0 1 0 0 0 0 0 0 0 0 0,6 0,3 0 0 0,6 0,2 1,6 1,2 0,8 0,4 0 1,2 0,9 0,5 0,1 1 0,8 0,5 0,2 1,5 Platz: Anzahl der Knoten + Anzahl schwarzer Kanten = O(nm) (Anzahl schwarzer Kanten < Anzahl Knoten) Zeit: Anzahl der Kanten (einschl. Source -> 0-Knoten) = O(nm)

  28. Platz-effizientes Alignment (1) • Reduzierung des Platzbedarf auf das Doppelte einer Spaltengröße – dafür Verdopplung der Laufzeit • Nach Berechnung der Scores in Spalte j lösche Scores in Spalte j-1 • Berechnung der Scores mit O(n)-Platzbedarf

  29. Platz-effizientes Align. – Beispiel 0 -0,4 -0,8 -1,2 -1,6 -2 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -2 -0,6 -0,9 0,4 0,1 -0,3 -2 -0,6 -0,9 0,4 0,1 -0,3 -2,4 -1 -1,3 0 -0,3 1,1 -1,2 0,2 -0,1 1,2 0,8 0,4 -1,2 0,2 -0,1 1,2 0,8 0,4 -1,6 -0,2 -0,5 0,8 0,5 0,1 -1,6 -0,2 -0,5 0,8 0,5 0,1 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -0,8 0,6 0,2 -0,2 -0,6 -0,9 C T G C C T 0 -0,4 -0,8 -1,2 -1,6 -2 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 T A G A T si-1,j- 0,4 si,j-1 - 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w -2,4 -1 -1,3 0 -0,3 1,1 Sn,m=1,1 Platz: O(n) Zeit: t1 = O(nm)

  30. Platz-effizientes Alignment (2) • Berechnung der Scores si,m/2 in Spalte m/2 • Für 1 i n berechne Score si,m/2,rev von Knoten (n,m) (source) nach Knoten (i,m/2) • Der Knoten (i,m/2) gehört genau dann zum längsten Pfad, wenn si,m/2 + si,m/2,rev das Maximum (über i) ist. • Divide-and-conquer

  31. Platz-effizientes Align. – Beispiel 0 -0,4 -0,8 -1,2 -1,6 -2 0 -0,4 -0,8 -1,2 -1,6 -2 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -1,2 0,2 -0,1 1,2 0,8 0,4 -1,2 0,2 -0,1 1,2 0,8 0,4 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 -0,4 -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -0,8 0,6 0,2 -0,2 -0,6 -0,9 C T G C C T T A G A T si-1,j- 0,4 si,j-1 - 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w Sn,m=1,1 berechne si,m/2=si,3 Platz: O(n) Zeit: t2 = ½ area area: Zeit für Berechnung des Kompleten Feldes

  32. Platz-effizientes Align. – Beispiel C T G C C T Knoten (3,3) hat Score maxi si,3 + si,3,rev = 1,1 = Sn,m -1,4 -0,8 -0,4 -0,1 +0,2 -1,2 -0,6 -0,2 0,2 0,6 1 -0,4 -1 -0,5 -0,1 0,3 0,6 -0,8 -1 -0,5 -0,1 0,3 0,6 -0,8 -2 -1,6 -1,2 -0,8 -0,4 0 -0,6 -0,2 0,2 0,6 1 -0,4 -2 -1,6 -1,2 -0,8 -0,4 0 T A G A T si-1,j- 0,4 si,j-1 - 0,4 si,j =max si-1,j-1 + 1v = w si-1,j-1 - 0,7v = w Sn,m=1,1 berechne si,3,rev -1,2 0,2 -0,1 1,2 0,8 0,4 -1,4 -0,8 -0,4 -0,1 +0,2 -1,2 Platz: O(n) Zeit: ½ area

  33. Divide-and-conquer m/8 m/4 m/2 m

  34. Divide-and-conquer m/8 m/4 m/2 m 1.Schritt: Platz: O(n) Zeit: area 2. Schritt: Platz: O(n) Zeit: ½ area 3. Schritt: Platz: O(n) Zeit: ¼ area Gesamtlaufzeit: area + ½area + ¼area +... < 2*area Platz: O(n)

  35. di-1,j + 1 (insert) di,j-1 + 1 (delete) di,j = min di-1,j-1 wenn vi = wi (match) di,j ist der Wert für die minimale Distanz von Vi und Wj Edit distance • Sei di,0 = i für 0 i n und d0,j = j für 1 j m • Sei di,j die Distanz für den Präfix Vi = v1 ... vi von V und den Präfix Wj = w1 ... wj von W • Dann berechnet sich di,j:

  36. edit distance - Beispiel 0 1 2 3 4 5 6 0 1 2 3 4 5 C T G C C T T A G A T 1. Initialisierung • di,0 = i • d0,j = j

  37. edit distance - Beispiel 0 1 2 3 4 5 0 1 2 3 4 5 6 C T G C C T 2 3 4 5 2 3 4 5 6 1 2 3 4 5 T A G A T 3 2 3 4 4 3 4 5 5 4 5 6 6 5 6 5 di-1,j+ 1 di,j =min di,j-1 + 1 di-1,j-1 wenn vi = wj 2. Berechnung der Matrix-einträge mittels Formel

  38. edit distance - Beispiel 0 1 2 3 4 5 6 0 1 2 3 4 5 C T G C C T Die Sequenz TAGAT kann in die Sequenz CTGCCT durch das 2 3 4 5 2 3 4 5 6 1 2 3 4 5 T A G A T 3 2 3 4 4 3 4 5 5 4 5 6 6 5 6 5 von und das von umgeformt werden. 3. Backtracking Löschen A A Einfügen C C C

  39. Wahl der Kosten • Local alignment: T–G und TAG für: • insert & delete: -0,4 substitute: -0,7 match: 1 • Local alignment: T–GCCT und TAGA–T für: • insert & delete: -0,2 substitute: -0,3 match: 1 • Local alignment abhängig von Kosten • Wie wählt und errechnet man die Kosten?

  40. LCS und MSP • Longest Common Subsequence (LCS) für • insert & delete: 0 substitute: match: 1 • Substitution nicht erlaubt • Maximal segment pair (MSP) für • insert & delete: substitute: 0 match: 1 • Einfügen und Löschen nicht erlaubt

  41. Point Accepted Mutation (PAM) • 8 PAM: Überführung einer Sequenz in die andere durch acht Mutationen pro 100 Aminosäuren • Mehrere Mutationen an derselben Position möglich • 8 PAM : <= 8% der Positionen zweier Sequenzen sind unterschiedlich • 250 PAM: erwartete Übereinstimmung von über 20% der Positionen • PAMn-Matrix: erwartete Häufigkeit der Mutationen zweier Aminosäuren

  42. log(Mn(i,j)/pipj) d(i,j) = l PAM-Matrix • PAM1-Matrix: M1[i,j] = qi,j • qi,j: Wahrscheinlichkeit AS i von AS j ersetzt • Experimentell mit Gruppe nahe verwandter Proteinen bestimmt • PAMn-Matrix: Mn =(M1)n • größere evolutionäre Distanz durch Matrixpotenzierung • Was sind nun die Kosten d(i,j) (Substitutionen)? • pi: Wahrscheinlichkeit, dass AS i in einem zufällig gewählten Protein auftaucht. l: Konstante

  43. Wahl der Substitutions Matrix • PAM 250 für entfernt verwandte Strings

  44. PAM250-Matrix Unterschiedliche Gewichtungen für über-einstimmende Aminosäuren (Diagonale) Wert > 1: Aminosäuren übernehmen ähnliche Funktionen

  45. PAM250-Matrix Wert = 1: Austausch-häufigkeit wie in zufälligen Zeichenketten Wert < 1: Seltener Austausch, keine funktionale Äquivalenz

  46. Wahl der Substitutions Matrix • PAM 250 für entfernt verwandte Strings • Sei Hn = Si,j Mn(i,j)*log2(Mn(i,j)/pipj) • Ist Mn(i,j) die Verteilung für das MSP Align., so gibt Hn den durchschnittliche Score pro Symbolsubstitution im Align. an. • Berechne log(N)/f • N: Produkt der Länge der beiden Strings • f: erwartete Länge des besten local Alignment • Wähle n (PAM n) so, dass log(N)/f Hn

  47. Alignment - Algorithmen

  48. BLAST • Approximative Suche in Sequenzen • schneller als FastA (lineare Zeit) • Die gefundenen Alignments bestehen nur aus „match“ und „mismatch“. Lücken (gaps) sind darin keine enthalten (<-> FastA)

  49. BLAST - Algorithmus HSP: zwei gleich lange Teilsequenzen mit lokal maximaler Ähnlichkeit über ein Schwellenwert S • Eine Liste von Suchwörtern erstellen • Suche in Datenbank nach Treffern • Erweiterung der Treffern Das MSP ist das höchste bewertete HSP. Algorithmus:

  50. P ................ Suchworte Bestimmung der Suchworte Bestimme alle Teilzeichenkette pi einer gegebene Länge w Bilde alle Worte der Länge w, die zu diesen pi mindestens die gegebene Ähnlichkeit t besitzen ............

More Related