paarweises sequenz alignment

54
Paarweises Sequenz Alignment Seminar Bioinformatik Christian Dewes 16.November 2001

Upload: kuame-hancock

Post on 02-Jan-2016

38 views

Category:

Documents


2 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Paarweises  Sequenz Alignment

Paarweises Sequenz Alignment

Seminar

Bioinformatik

Christian Dewes16.November 2001

Page 2: Paarweises  Sequenz Alignment

Überblick

• Motivation

• Problemdefinition

• Beschreibung zweier Lösungen

• Vergleich mit anderen Ansätze

• Beschreibung einer Approximationslösung

• Zusammenfassung

Page 3: Paarweises  Sequenz Alignment

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

Page 4: Paarweises  Sequenz Alignment

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 Länge (2) ohne Lückensymbole erhält man gegebene Sequenzen

ATGCCAGGAC

A T G – C C

A G G A – C

A – T G C C

A G – G A C

Page 5: Paarweises  Sequenz Alignment

Definition: Indel-OperationenA – 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: mismatchDazugehörige Operation: Substitution

Indels:

Page 6: Paarweises  Sequenz Alignment

Score of aligning

• Ähnlichkeits Scores (x,y) (x,y -}– (t+1)x(t+1) Matrix (t = ||)

• Beispiel: = {A,C,G,T}

A C G T -

A 1 -0,7 -0,7 -0,7 -0,4

C -0,7 1 -0,7 -0,7 -0,4

G -0,7 -0,7 1 -0,7 -0,4

T -0,7 -0,7 -0,7 1 -0,4

- -0,4 -0,4 -0,4 -0,4 1

A C G T -

A 0 1 1 1 1

C 1 0 1 1 1

G 1 1 0 1 1

T 1 1 1 0 1

- 1 1 1 1 0

Page 7: Paarweises  Sequenz Alignment

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

Page 8: Paarweises  Sequenz Alignment

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 + (vi,-) (insert)

si,j-1 + (-,wj) (delete)

si-1,j-1 + (vi,wj) (substitute, match)

Page 9: Paarweises  Sequenz Alignment

Alignment Score• = {A,C,G,T}

• insert, delete: – (v,-) = (-,v) = -0,4

• substitute:– (v,w) = -0,7 v = w

• match: (v,v) = 1 v

A C G T -

A 1 -0,7 -0,7 -0,7 -0,4

C -0,7 1 -0,7 -0,7 -0,4

G -0,7 -0,7 1 -0,7 -0,4

T -0,7 -0,7 -0,7 1 -0,4

- -0,4 -0,4 -0,4 -0,4 1

si,j = max si-1,j + (vi,-) (insert)

si,j-1 + (-,wj) (delete)

si-1,j-1 + (vi,wj) (substitute, match)

Page 10: Paarweises  Sequenz Alignment

Alignment Score• = {A,C,G,T}

• insert, delete: – (v,-) = (-,v) = -0,4

• substitute:– (v,w) = -0,7 v = w

• match: (v,v) = 1 v

A C G T -

A 1 -0,7 -0,7 -0,7 -0,4

C -0,7 1 -0,7 -0,7 -0,4

G -0,7 -0,7 1 -0,7 -0,4

T -0,7 -0,7 -0,7 1 -0,4

- -0,4 -0,4 -0,4 -0,4 1

si,j = max si-1,j - 0,4 (insert)

si,j-1 - 0,4 (delete)

si-1,j-1 + (vi,wj) (substitute, match)

Page 11: Paarweises  Sequenz Alignment

Alignment Score• = {A,C,G,T}

• insert, delete: – (v,-) = (-,v) = -0,4

• substitute:– (v,w) = -0,7 v = w

• match: (v,v) = 1 v

A C G T -

A 1 -0,7 -0,7 -0,7 -0,4

C -0,7 1 -0,7 -0,7 -0,4

G -0,7 -0,7 1 -0,7 -0,4

T -0,7 -0,7 -0,7 1 -0,4

- -0,4 -0,4 -0,4 -0,4 1

si,j = max si-1,j - 0,4 (insert)

si,j-1 - 0,4 (delete)

si-1,j-1 + 1 vi = wj (match)si-1,j-1 - 0,7 vi = wj (substitute)

si,j ist der Wert des opt. Alignment von Vi und Wj

Page 12: Paarweises  Sequenz Alignment

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

delete

match substitude

insert

Page 13: Paarweises  Sequenz Alignment

w1

w2

w3

w4

...

v1 v2 v3 v4 v5 ...

s0,0 s1,0 s2,0 s3,0 s4,0 s5,0 ...

Datenstruktur

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 ...

Page 14: Paarweises  Sequenz Alignment

Alignment Beispiel

• V = CTGCCT • W = TAGAT• Gesucht: optimales

globales Alignment von V und W

A C G T -

A 1 -0,7 -0,7 -0,7 -0,4

C -0,7 1 -0,7 -0,7 -0,4

G -0,7 -0,7 1 -0,7 -0,4

T -0,7 -0,7 -0,7 1 -0,4

- -0,4 -0,4 -0,4 -0,4 1

si,j = max si-1,j - 0,4 (insert)

si,j-1 - 0,4 (delete)

si-1,j-1 + 1 vi = wj (match)si-1,j-1 - 0,7 vi = wj (substitude)

Page 15: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

Global Alignment - Beispiel

s0,0 = 0

1. Initialisierung

Page 16: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

Global Alignment - Beispiel

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

-0,42. Berechnung der Matrix-einträge mittels Rekursion.

s1,0 =max s0,0 - 0,4

Page 17: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

Global Alignment - Beispiel

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

-0,4 -0,8 -1,2 -1,6 -2 -2,42. Berechnung der Matrix-einträge mittels Rekursion.

si,0 =max si-1,0 - 0,4

Page 18: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

Global Alignment - Beispiel

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

-0,8

-1,2

-1,6

-2

-0,4

-0,4 -0,8 -1,2 -1,6 -2 -2,42. Berechnung der Matrix-einträge mittels Rekursion.

s1,1 =max s0,1 - 0,4s1,0 - 0,4s0,0 - 0,7

Page 19: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

Global Alignment - Beispiel

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

-0,7

-0,8

-1,2

-1,6

-2

-0,4

-0,4 -0,8 -1,2 -1,6 -2 -2,42. Berechnung der Matrix-einträge mittels Rekursion.

s1,1 =max -0,4-0,4-0,4-0,4 0-0,7

Page 20: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0

0,6

Global Alignment - Beispiel

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-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,4 -0,8 -1,2 -1,6 -2 -2,42. Berechnung der Matrix-einträge mittels Rekursion.

s1,2 =max s0,2 - 0,4s1,1 - 0,4s0,1 + 1

Page 21: Paarweises  Sequenz Alignment

0,2

-0,2

-0,6

-0,9

T

A

G

A

T

C T G C C T0

-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

si,j =max si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-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,4 -0,8 -1,2 -1,6 -2 -2,4

0,2 -0,2 -0,6 -1

-0,5 -0,9 -1,3

2. Berechnung der Matrix-einträge mittels Rekursion.

1,1

Alle optimale globale Alignment habenScore 1,1

Page 22: Paarweises  Sequenz Alignment

0,2

-0,2

-0,6

-0,9

T

A

G

A

T

C T G C C T0

-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

A0,6

T

T

1,1T

TCC

A

Ein optimales globales Alignment ist

TT

C -

CA

GG

-A

TT

C -

Global Alignment - Beispiel

-0,7

-1,1

-1,5

-1,9

-2,3

-0,8

-1,2

-1,6

-2

-0,4

-0,4 -0,8 -1,2 -1,6 -2 -2,4

0,2 -0,2 -0,6 -1

-0,5 -0,9 -1,3

C3.Backtracking: Berechne ein optimales Alignment

Page 23: Paarweises  Sequenz Alignment

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 + (vi,-) (insert)

si,j-1 + (-,wj) (delete)

si-1,j-1 + (vi,wj) (substitude, match)

Page 24: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0 0 0 0 0 0 0

0

0

0

0

0

Local Alignment - Beispiel

si,0 = 0s0,j = 0

1. Initialisierung der Ränder der Matrix

Page 25: Paarweises  Sequenz Alignment

si-1,j-1 + v = w

T

A

G

A

T

C T G C C T0 0 0 0 0 0 0

0

0

0

0

0

0

0

0

0

0

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

si,j =max si-1,j - 0,4

si,j-1 - 0,4

si-1,j-1 - 0,7 v = w

2. Berechnung der Matrix-einträge mittels Rekursion.

1,6

Alle optimale lokale Alignments haben Score 1,6

Page 26: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T0 0 0 0 0 0 0

0

0

0

0

0

0

0

0

0

0

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,6G

G

A

GG

-A

TT

Local Alignment - Beispiel

3. Modifiziertes Backtracking: Berechne ein optimales lokales Alignment

Ein optimales lokales Alignment ist

T

T

Page 27: Paarweises  Sequenz Alignment

Speicherbedarf und Laufzeit

T

A

G

A

T

C T G C C T0 0 0 0 0 0 0

0

0

0

0

0

0

0

0

0

0

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)

Page 28: Paarweises  Sequenz Alignment

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

Page 29: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T

Platz-effizientes Align. – Beispiel

si,j =max

si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

Sn,m=1,1Platz: O(n)Zeit: t1 = O(nm)

Page 30: Paarweises  Sequenz Alignment

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

Page 31: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T

Platz-effizientes Align. – Beispiel

si,j =max

si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 + v = w

si-1,j-1 - 0,7 v = w

berechne si,m/2=si,3

Sn,m=1,1

Platz: O(n)Zeit: t2 = ½ areaarea: Zeit fürBerechnung des Kompleten Feldes

Page 32: Paarweises  Sequenz Alignment

Knoten (3,3) hat Score maxi si,3 + si,3,rev

= 1,1 = Sn,m

T

A

G

A

T

C T G C C T

Platz-effizientes Align. – Beispiel

si-1,j-1 + v = wsi,j =max

si-1,j - 0,4si,j-1 - 0,4

si-1,j-1 - 0,7 v = w

Sn,m=1,1

berechne si,3,rev

Platz: O(n)Zeit: ½ area

Page 33: Paarweises  Sequenz Alignment

Divide-and-conquermm/2m/4m

Page 34: Paarweises  Sequenz Alignment

Divide-and-conquer

mm/2m/4m1.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*areaPlatz: O(n)

Page 35: Paarweises  Sequenz Alignment

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-1 + (delete)

di-1,j-1 wenn vi = wi (match)

di,j ist der Wert für die minimale Distanz von Vi und Wj

Page 36: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T

edit distance - Beispiel

0

1

2

3

4

5

•di,0 = i

•d0,j = j

1. Initialisierung

Page 37: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T

edit distance - Beispiel

di-1,j-1 wenn vi = wj

di,j =min di-1,j + 1

di,j-1 + 1

0

1

2

3

4

5

2

3

4

5

6

1

2

3

4

5

3

2

3

4

4

3

4

5

5

4

5

6

6

5

6

5

2. Berechnung der Matrix-einträge mittels Formel

Page 38: Paarweises  Sequenz Alignment

T

A

G

A

T

C T G C C T

edit distance - Beispiel

0

1

2

3

4

5

2

3

4

5

6

1

2

3

4

5

3

2

3

4

4

3

4

5

5

4

5

6

6

5

6

5

3. Backtracking

Löschen A

Einfügen

CC

A

C

Die Sequenz TAGAT kann in die Sequenz CTGCCT durch das

von

und dasvon

umgeformt werden.

Page 39: Paarweises  Sequenz Alignment

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?

Page 40: Paarweises  Sequenz Alignment

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

Page 41: Paarweises  Sequenz Alignment

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

Page 42: Paarweises  Sequenz Alignment

• 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 (i,j) (Substitutionen)?• pi: Wahrscheinlichkeit, dass AS i in einem zufällig

gewählten Protein auftaucht.

PAM-Matrix

log(Mn(i,j)/pipj) (i,j) = Konstante

Page 43: Paarweises  Sequenz Alignment

Wahl der Substitutions Matrix

• PAM 250 für entfernt verwandte Strings

Page 44: Paarweises  Sequenz Alignment

PAM250-Matrix

Unterschiedliche Gewichtungen für über-einstimmende Aminosäuren (Diagonale)

Wert > 1:Aminosäuren übernehmen ähnliche Funktionen

Page 45: Paarweises  Sequenz Alignment

PAM250-Matrix

Wert = 1:Austausch-häufigkeit wie in zufälligen Zeichenketten

Wert < 1:Seltener Austausch, keine funktionale Äquivalenz

Page 46: Paarweises  Sequenz Alignment

Wahl der Substitutions Matrix

• PAM 250 für entfernt verwandte Strings• Sei Hn = i,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

Page 47: Paarweises  Sequenz Alignment

Alignment - Algorithmen

Alignment Platz Zeit

LCS O(nm) O(nm)

gewöhnlich O(nm) O(nm)

mit gap Bestrafungen O(nm) O(nm)

mit divide-and-conquer O(n) O(nm)

Approx. (k mismatches) n+O(pn)

Page 48: Paarweises  Sequenz Alignment

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)

Page 49: Paarweises  Sequenz Alignment

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:

Page 50: Paarweises  Sequenz Alignment

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

Suchworte

P

Page 51: Paarweises  Sequenz Alignment

Suche in Datenbank

Bestimmung der Vorkommen aller Suchworte in einer Datenbanksequenz durch eine exakte Suche (Hashtabelle oder DFA).

Datenbank-sequenz

Treffern(segment pairs)

Page 52: Paarweises  Sequenz Alignment

Erweiterung der TreffernDatenbank-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.

HSP HSPMSP = HSP

Ähnlichkeit > SHSP

Page 53: Paarweises  Sequenz Alignment

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.

Page 54: Paarweises  Sequenz Alignment

Zusammenfassung

• Bestimmung des Alignment durch– Dynamische Programmierung– Approximationsalgorithmen (BLAST)

• Berechnung der Kosten– PAM-Matrizen

• Wahl der Substitutiosmatrix