Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Paarweises Sequenz Alignment

Ähnliche Präsentationen


Präsentation zum Thema: "Paarweises Sequenz Alignment"—  Präsentation transkript:

1 Paarweises Sequenz Alignment
Seminar Bioinformatik Paarweises Sequenz Alignment 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 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 A T G – C C A G G A – C ATGCC AGGAC A – T G C C A G – G A C

5 Definition: Indel-Operationen
A T G C C A G G A C A – T G C C A G – G A C Deletion Insertion Substitution Indels: 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} A C G T - 1 -0,7 -0,4 A C G T - 1

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 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: si,j = max si-1,j + d(vi,-) (insert) si,j-1 + d(-,wj) (delete) si-1,j-1 + d(vi,wj) (substitute, match)

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

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

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

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

13 Datenstruktur v1 v2 v3 v4 v5 ... s0,0 s1,0 s2,0 s3,0 s4,0 s5,0 ... w1
.....

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

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

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

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

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

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

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

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

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

23 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: si,j = max si-1,j + d(vi,-) (insert) si,j-1 + d(-,wj) (delete) si-1,j-1 + d(vi,wj) (substitude, match)

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

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

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

27 Speicherbedarf und Laufzeit
Platz: Anzahl der Knoten + Anzahl schwarzer Kanten T A G C T G C C T 1 0,6 0,2 0,3 1,6 1,2 0,8 0,9 0,5 0,4 0,1 1,5 = 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
C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -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,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,5 0,1 -1,6 -0,2 -0,5 0,8 0,5 0,1 -2 -0,6 -0,9 0,4 -0,3 -2 -0,6 -0,9 0,4 0,1 -0,3 -2,4 -1 -1,3 1,1 -2,4 -1 -1,3 -0,3 1,1 Sn,m=1,1 Platz: O(n) Zeit: t1 = O(nm) si,j =max si-1,j - 0,4 si,j ,4 si-1,j v = w si-1,j-1 - 0,7 v = w

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
Sn,m=1,1 T A G C T G C C T -0,4 -0,8 -1,2 -1,6 -2 -0,7 -1,1 -1,5 -1,9 -2,3 -0,4 -0,8 -1,2 -1,6 -2 -0,8 0,6 0,2 -0,2 -0,6 -0,9 -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,1 1,2 0,8 0,4 -1,2 0,2 -0,1 1,2 0,8 0,4 berechne si,m/2=si,3 Platz: O(n) Zeit: t2 = ½ area area: Zeit für Berechnung des Kompleten Feldes si,j =max si-1,j - 0,4 si,j ,4 si-1,j v = w si-1,j-1 - 0,7 v = w

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

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
Gesamtlaufzeit: area + ½area + ¼area +... < 2*area Platz: O(n)

35 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: di,j = min di-1,j (insert) di,j (delete) di-1,j-1 wenn vi = wi (match) di,j ist der Wert für die minimale Distanz von Vi und Wj

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

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

38 edit distance - Beispiel
G C T G C C T 3. Backtracking 1 2 3 4 5 Die Sequenz TAGAT kann in die Sequenz CTGCCT durch das von und das umgeformt werden. 2 3 4 5 6 1 2 3 4 5 3 2 4 4 3 5 5 4 6 6 5 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 Zwei Sequenzen S1 und S2 haben die Distanz 1 PAM, wenn S1 durch eine Mutation pro 100 Aminosäuren in S2 konvertiert werden kann. Dabei können dieselbe Positionen mehr als einmal oder zurück zu der ursprünglichen Aminosäure mutiert werden. Experimente bestätigen, dass zwei Sequenzen mit der Distanz 250 PAM immer noch eine erwartete Übereinstimmung von über 20% ihrer Symbole haben. Die PAMn-Matrix gibt für jedes Paar Aminosäuren Ai und Aj in zwei Sequenzen der evolutionären Distanz n die Häufigkeit an, mit der erwartet werden kann, dass Ai zu Aj mutiert.

42 PAM-Matrix d(i,j) = PAM1-Matrix: M1[i,j] = qi,j PAMn-Matrix: Mn =(M1)n
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. log(Mn(i,j)/pipj) d(i,j) = l 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
Platz Zeit LCS O(nm) gewöhnlich mit gap Bestrafungen mit divide-and-conquer O(n) Approx. (k mismatches) an+O(pn)

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

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

51 Suche in Datenbank Bestimmung der Vorkommen aller Suchworte in einer Datenbanksequenz durch eine exakte Suche (Hashtabelle oder DFA). Datenbank- sequenz Treffern (segment pairs)

52 Erweiterung der Treffern
Datenbank- sequenz Erweiterung der Treffer, solange die Ähnlichkeit nicht um mehr als einen Wert X unter das bereits erreichte Maximum eines kürzeren Alignments fällt. Ähnlichkeit > S HSP HSP MSP = HSP

53 Zusammenfassung edit distance Globales Alignmnent lokales Alignment
Minimale Anzahl der Einfüge- und Lösch-Operationen. Ausgabe der eingefügte und gelöschte Buchstaben Vollständiger Vergleich zweier (ähnlichen und fast gleich langen) Sequenzen kleine Sequenz in einer großen Sequenz versteckt. „Überlappung“ zweier Sequenzen an den Enden (Sequenzierung) Eine Sequenz taucht in Teilstücken in der anderen auf.

54 Zusammenfassung Bestimmung des Alignment durch Berechnung der Kosten
Dynamische Programmierung Approximationsalgorithmen (BLAST) Berechnung der Kosten PAM-Matrizen Wahl der Substitutiosmatrix


Herunterladen ppt "Paarweises Sequenz Alignment"

Ähnliche Präsentationen


Google-Anzeigen