Paarweises Sequenz Alignment Seminar Bioinformatik Christian Dewes 16.November 2001

  • View
    104

  • Download
    0

Embed Size (px)

Transcript

  • Folie 1
  • Paarweises Sequenz Alignment Seminar Bioinformatik Christian Dewes 16.November 2001
  • Folie 2
  • berblick Motivation Problemdefinition Beschreibung zweier Lsungen Vergleich mit anderen Anstze Beschreibung einer Approximationslsung Zusammenfassung
  • Folie 3
  • Motivation Sequenzierung (Assemblieren) Herleitung gemeinsamer Abstammungen DNA Mutationen whrend Evolution durch Vergleich von Sequenzen Design von Proteinen/Genen Vergleich neu entdeckter Sequenzen mit bekannten Sequenzen
  • Folie 4
  • Erweitere zu = {-} Paarweises Sequenz-Alignment Gegeben ein Alphabet (s.B. = {ACGT}) Gegeben zwei Sequenzen (z.B. ATGCC und AGGAC) Paarweise Sequenz-Alignment: zwei Sequenzen ber : (1) mit gleicher Lnge (2) ohne Lckensymbole erhlt man gegebene Sequenzen ATGCC AGGAC A T G C C A G G A C A T G C C A G G A C
  • Folie 5
  • 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. Deletion Leerzeichensymbol in der zweiten Zeile: Insertion. Insertion Substitution Spalte mit demselben Buchstabe in beiden Reihen: match Spalte mit unterschiedlichen Buchstaben in beiden Reihen: mismatch Dazugehrige Operation: Substitution Indels:
  • Folie 6
  • Score of aligning hnlichkeits Scores (x,y) (x,y -} (t+1) x (t+1) Matrix (t = | |) Beispiel: = {A,C,G,T} ACGT- A1-0,7 -0,4 C-0,71 -0,4 G-0,7 1 -0,4 T-0,7 1-0,4 - 1 ACGT- A01111 C10111 G11011 T11101 -11110
  • Folie 7
  • Score of aligning Sequence Alignment Problem (SeqAlPro): Suche alignment zweier Sequenzen mit maximaler Score Was ist Score eines Alignment Bisher nur die Score (x,y) zweier Symbolen x und y aus definiert Score eines Alignment rekursiv definieren
  • Folie 8
  • Global Alignment Initialisierung: s 0,0 = 0 Sei s i,j der Score fr den Prfix V i = v 1... v i von V und den Prfix W j = w 1... w j von W Dann berechnet sich s i,j rekursiv: s i,j = max s i-1,j + (v i,-) (insert) s i,j-1 + (-,w j ) (delete) s i-1,j-1 + (v i,w j ) (substitute, match)
  • Folie 9
  • Alignment Score = {A,C,G,T} insert, delete: (v,-) = (-,v) = -0,4 substitute: (v,w) = -0,7 v = w match: (v,v) = 1 v ACGT- A1-0,7 -0,4 C-0,71 -0,4 G-0,7 1 -0,4 T-0,7 1-0,4 - 1 s i,j = max s i-1,j + (v i,-) (insert) s i,j-1 + (-,w j ) (delete) s i-1,j-1 + (v i,w j ) (substitute, match)
  • Folie 10
  • Alignment Score = {A,C,G,T} insert, delete: (v,-) = (-,v) = -0,4 substitute: (v,w) = -0,7 v = w match: (v,v) = 1 v ACGT- A1-0,7 -0,4 C-0,71 -0,4 G-0,7 1 -0,4 T-0,7 1-0,4 - 1 s i,j = max s i-1,j - 0,4 (insert) s i,j-1 - 0,4 (delete) s i-1,j-1 + (v i,w j ) (substitute, match)
  • Folie 11
  • Alignment Score = {A,C,G,T} insert, delete: (v,-) = (-,v) = -0,4 substitute: (v,w) = -0,7 v = w match: (v,v) = 1 v ACGT- A1-0,7 -0,4 C-0,71 -0,4 G-0,7 1 -0,4 T-0,7 1-0,4 - 1 s i,j = max s i-1,j - 0,4 (insert) s i,j-1 - 0,4 (delete) s i-1,j-1 + 1 v i = w j (match) s i-1,j-1 - 0,7 v i = w j (substitute) s i,j ist der Wert des opt. Alignment von V i und W j
  • Folie 12
  • Datenstruktur Edit graph: Knoten: score des alignment von V i und W j Kanten beschreiben Operation alignment entspricht Weg im edit graph SeqAlPro entspricht longest path Problem delete matchsubstitude insert
  • Folie 13
  • w 1 w 2 w 3 w 4... v 1 v 2 v 3 v 4 v 5... s 0,0 s 1,0 s 2,0 s 3,0 s 4,0 s 5,0... Datenstruktur s 0,1 s 1,1 s 2,1 s 3,1 s 4,1 s 5,1... s 0,2 s 1,2 s 2,2 s 3,2 s 4,2 s 5,2... s 0,3 s 1,3 s 2,3 s 3,3 s 4,3 s 5,3... s 0,4 s 1,4 s 2,4 s 3,4 s 4,4 s 5,4...
  • Folie 14
  • Alignment Beispiel V = CTGCCT W = TAGAT Gesucht: optimales globales Alignment von V und W ACGT- A1-0,7 -0,4 C-0,71 -0,4 G-0,7 1 -0,4 T-0,7 1-0,4 - 1 s i,j = max s i-1,j - 0,4 (insert) s i,j-1 - 0,4 (delete) s i-1,j-1 + 1 v i = w j (match) s i-1,j-1 - 0,7 v i = w j (substitude)
  • Folie 15
  • TAGATTAGAT C T G C C T 0 Global Alignment - Beispiel s 0,0 = 0 1. Initialisierung
  • Folie 16
  • TAGATTAGAT C T G C C T 0 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,4 2. Berechnung der Matrix- eintrge mittels Rekursion. s 1,0 =max s 0,0 - 0,4
  • Folie 17
  • TAGATTAGAT C T G C C T 0 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,4-0,8 -1,2 -1,6 -2 -2,4 2. Berechnung der Matrix- eintrge mittels Rekursion. s i,0 =max s i-1,0 - 0,4
  • Folie 18
  • TAGATTAGAT C T G C C T 0 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -2,4 2. Berechnung der Matrix- eintrge mittels Rekursion. s 1,1 =max s 0,1 - 0,4 s 1,0 - 0,4 s 0,0 - 0,7
  • Folie 19
  • TAGATTAGAT C T G C C T 0 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,7 -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -2,4 2. Berechnung der Matrix- eintrge mittels Rekursion. s 1,1 =max -0,4-0,4 0-0,7
  • Folie 20
  • TAGATTAGAT C T G C C T 0 0,6 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -2,4 2. Berechnung der Matrix- eintrge mittels Rekursion. s 1,2 =max s 0,2 - 0,4 s 1,1 - 0,4 s 0,1 + 1
  • Folie 21
  • 0,2 -0,2 -0,6 -0,9 TAGATTAGAT C T G C C T 0 -0,1 1,2 0,8 0,4 0,8 0,5 0,1 0,4 0,1 -0,2 0,2 -0,3 1,1 0,6 Global Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -2,4 0,2-0,2-0,6 -0,5-0,9-1,3 2. Berechnung der Matrix- eintrge mittels Rekursion. 1,1 Alle optimale globale Alignment haben Score 1,1
  • Folie 22
  • 0,2 -0,2 -0,6 -0,9 TAGATTAGAT C T G C C T 0 -0,1 1,2 0,8 0,4 0,8 0,5 0,1 0,4 0,1 -0,2 0,2 -0,3 1,1 G G A 0,6 T T 1,1 T TCC A Ein optimales globales Alignment ist TTTT C - CACA GGGG A TTTT C - Global Alignment - Beispiel -0,7 -1,1 -1,5 -1,9 -2,3 -0,8 -1,2 -1,6 -2 -0,4 -0,8 -1,2 -1,6 -2 -2,4 0,2-0,2-0,6 -0,5-0,9-1,3 C 3.Backtracking: Berechne ein optimales Alignment
  • Folie 23
  • Local Alignment Sei s i,0 = s 0,j = 0 fr 0 i n und 1 j m Sei s i,j der Score fr den Prfix V i = v 1... v i von V und den Prfix W j = w 1... w j von W Dann berechnet sich s i,j : s i,j = max s i-1,j + (v i,-) (insert) s i,j-1 + (-,w j ) (delete) s i-1,j-1 + (v i,w j ) (substitude, match)
  • Folie 24
  • TAGATTAGAT C T G C C T 000 0 0 0 0 0 00000000 Local Alignment - Beispiel s i,0 = 0 s 0,j = 0 1. Initialisierung der Rnder der Matrix
  • Folie 25
  • s i-1,j-1 + v = w TAGATTAGAT C T G C C T 000 0 0 0 0 0 00000000 0 00000000 1 0,6 0,2 0,6 0,3 1,6 1,2 0,8 0,2 0 1,2 0,9 0,5 0 0 0,8 0,5 0,2 1 0,6 0,4 0,1 1,5 0 1 Local Alignment - Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 - 0,7 v = w 2. Berechnung der Matrix- eintrge mittels Rekursion. 1,6 Alle optimale lokale Alignments haben Score 1,6
  • Folie 26
  • TAGATTAGAT C T G C C T 000 0 0 0 0 0 00000000 0 00000000 1 0,6 0,2 0,6 0,3 1,6 1,2 0,8 0,2 0 1,2 0,9 0,5 0 0 0,8 0,5 0,2 1 0,6 0,4 0,1 1,5 0 1 1,6 G G A GGGG - A TTTT Local Alignment - Beispiel 3. Modifiziertes Backtracking: Berechne ein optimales lokales Alignment Ein optimales lokales Alignment ist T T
  • Folie 27
  • Speicherbedarf und Laufzeit TAGATTAGAT C T G C C T 000 0 0 0 0 0 00000000 0 00000000 1 0,6 0,2 0,6 0,3 1,6 1,2 0,8 0,2 0 1,2 0,9 0,5 0 0 0,8 0,5 0,2 1 0,6 0,4 0,1 1,5 0 1 Platz: Anzahl der Knoten + Anzahl schwarzer Kanten = O(nm) Zeit: Anzahl der Kanten (einschl. Source -> 0-Knoten) = O(nm) (Anzahl schwarzer Kanten < Anzahl Knoten)
  • Folie 28
  • Platz-effizientes Alignment (1) Reduzierung des Platzbedarf auf das Doppelte einer Spaltengre dafr Verdopplung der Laufzeit Nach Berechnung der Scores in Spalte j lsche Scores in Spalte j-1 Berechnung der Scores mit O(n)- Platzbedarf
  • Folie 29
  • TAGATTAGAT C T G C C T Platz-effizientes Align. Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w S n,m =1,1 Platz: O(n) Zeit: t 1 = O(nm)
  • Folie 30
  • Platz-effizientes Alignment (2) Berechnung der Scores s i,m/2 in Spalte m/2 Fr 1 i n berechne Score s i,m/2,rev von Knoten (n,m) (source) nach Knoten (i,m/2) Der Knoten (i,m/2) gehrt genau dann zum lngsten Pfad, wenn s i,m/2 + s i,m/2,rev das Maximum (ber i) ist. Divide-and-conquer
  • Folie 31
  • TAGATTAGAT C T G C C T Platz-effizientes Align. Beispiel s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 + v = w s i-1,j-1 - 0,7 v = w berechne s i,m/2 = s i,3 S n,m =1,1 Platz: O(n) Zeit: t 2 = area area: Zeit fr Berechnung des Kompleten Feldes
  • Folie 32
  • Knoten (3,3) hat Score max i s i,3 + s i,3,rev = 1,1 = S n,m TAGATTAGAT C T G C C T Platz-effizientes Align. Beispiel s i-1,j-1 + v = w s i,j =max s i-1,j - 0,4 s i,j-1 - 0,4 s i-1,j-1 - 0,7 v = w S n,m =1,1 berechne s i,3,rev Platz: O(n) Zeit: area
  • Folie 33
  • Divide-and-conquer mm/2m/4 m
  • Folie 34
  • Divide-and-conquer mm/2m/4 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