Musterlösung - Freie Universität Berlin

Werbung
Johanna Ploog, Konstantin Clemens
Freie Universität Berlin
Institut für Mathematik II
Arbeitsgruppe für Mathematik in den Lebenswissenschaften
Algorithmen und Datenstrukturen in der Bioinformatik
Zweites Übungsblatt WS 05/06 – Musterlösung
Wir starten mit einer Aufgabe, die bereits einmal in einer Klausur bzw. in einem Review dieser Veranstaltung gestellt wurde. Legen Sie alle Hilfsmittel beiseite, lesen Sie die
Aufgabe und lösen sie alleine in max. fünf Minuten. Wenn das klappt, sind Sie auf dem
richtigen Weg.
1. alte Klausur-/Reviewaufgabe: Gap–Kosten
a) Erklären Sie kurz den Unterschied zwischen Hamming– und Edit–Distanz.
b) In der Vorlesung wurde bei affinen Gap–Kosten die gap opening penalty mit d ≥
0 und die gap extension penalty mit e ≥ 0 bezeichnet. Nennen Sie jeweils ein
biologisches Anwendungsbeispiel, wo man d und e zweckmäßigerweise so wählen
wird, dass gilt
i) d > e
ii) e > d
a) Bei der Hamming-Distanz sind nur Matches und Mismatches erlaubt, aber keine
Gaps.
Edit-Distanz : Mismatches, Insertions und Deletions werden mit unit cost (−1)
bestraft; Matches kosten nichts.
b)
d > e : Funktionell ähnliche und verwandte Sequenzen unterscheiden sich des Öfteren durch einen längeren Abschnitt, der der einen Sequenz fehlt. Dabei ist es
wahrscheinlicher, dass diese Teilsequenz auf einmal entfernt (z.B. durch Splicing) oder eingefügt wurde (z.B. in Form von viralen Elementen), als dass die
Indels“ nach und nach erfolgten.
”
1
d < e : Bei der Sequenzierung von DNA oder auch Proteinen kommt es vor, dass
einzelne Basen bzw. Aminosäuren übersprungen werden. Dies erfolgt jedoch
so selten, dass eine zufällige Aneinanderreihung von Gaps extrem unwahrscheinlich ist. Daher wird eine solche stärker bestraft als mehrere einzelnes
Gaps.
2. Globales Sequenzalignment
Berechnen Sie für die Sequenzen GATCG (horizontal) und ACTTC (vertikal) ein globales
Sequenzalignment mit dynamischer Programmierung. Ein Match trägt 4 zum Score des
Alignments bei, ein Mismatch −4, ein Gap in der horizontalen Sequenz −3 und ein Gap
in der vertikalen Sequenz −2.
a) Beschreiben Sie die Veränderungen, die Sie am DP–Algorithmus der Vorlesung
vornehmen müssen, damit der Algorithmus mit den unterschiedlichen Gap–Kosten
funktioniert.
b) Berechnen Sie die DP–Matrix inklusive der Traceback–Kanten.
c) Heben Sie die beim Traceback benutzten Kanten besonders hervor.
d) Wieviele verschiedene und welche optimale globalen Alignments ergeben sich?
Statt Verwendung eines Wertes d für die Gap penalty unterscheiden wir je nach Tracebackrichtung.
Hierbei ist hervorzuheben, dass ein Gap z.B. in der horizontalen Sequenz“ bedeutet,
”
dass der Tracebackpfeil auf die entsprechende Sequenz zeigt, in welcher das Gap eingefügt wird, also in diesem Fall nach oben. Das liegt daran, dass beim Einfügen eines
Gaps zwar ein Zeichen der anderen, in diesem Fall vertikalen Sequenz eingefügt wird
(j sich also verändert), in der horizontalen Sequenz jedoch gerade nicht. Gleiches gilt
analog für die vertikale Sequenz. Die Gapkosten sind daher genau umgekehrt zu verteilen, als es auf den ersten Blick scheint.
Initialisierung:
∀i : F (i, 0) = −2 ∗ i
∀j : F (0, j) = −3 ∗ j
Rekursion:
F (i, j) = max




F (i − 1, j − 1) + s(s1 [i], s2 [j])
F (i, j − 1) − 3



F (i − 1, j) − 2
2
Scoring-Matrix mit Tracebackpfeilen:
A
0
←
↑
-
−3
↑
C
−6
↑
T
-
−12
↑
C
-
−9
↑
T
-
-
−15
G
−2
A
−4
←
T
−6
−4
2
←
0
↑
↑
-
−7
−1
←
←
C
−8
←
G
−10
←
−2
←
−4
4
←
2
↑
-
-
↑
-
−2
↑ -
−10
−4
↑
↑
−13
−7
0
↑
↑
↑
−16
−16
−3
3
←
- ↑
-
−1
0
-
↑
−1
←
−3
4
←
2
-
Es gibt zwei optimale globale Alignments mit Score 2 und zwar
GA--TCG sowie GA-T-CG
-ACTTC-ACTTC3. Metrik
Zeigen Sie, dass die Hamming–Distanz eine Metrik bildet (formaler Beweis).
Eigenschaften einer Metrik:
a) ∀x, y
d(x, y) ≥ 0
b) ∀x, y
d(x, y) = 0 ⇐⇒ x = y
c) ∀x, y, z
d(x, y) + d(y, z) ≥ d(x, z)
Bei der Hamming-Distanz sind nur Matches mit d(xi , yi ) = 0 sowie Mismatches mit
d(xi , yi ) = 1 erlaubt. Eine Folge dieser Bedingung ist, dass die zu betrachtenden Strings
x, y, z alle gleich lang sein müssen, da keine Gaps eingefügt werden dürfen.
P
Entsprechend der Definition gilt d(x, y) = ni=1 d(xi , yi ).
Für den Beweis betrachten wir die Hamming-Distanz zwischen einzelnen Zeichen, etwa
an der jeweils i. Position in den zu betrachtenden Strings, und führen den Beweis für
komplette Sequenzen auf diese zurück.
a) Wegen d(xi , yi ) = 0 für ein Match bzw. 1 für ein Mismatch gilt d(xi , yi ) ≥ 0 und
P
damit d(x, y) = i d(xi , yi ) ≥ 0
q.e.d.
3
b) Aufgrund der symmetrischen Definition von Abständen gilt:
P
P
d(x, y) = i d(xi , yi ) = i d(yi , xi ) = d(y, x),
falls ∀xi , yi d(xi , yi ) = 0
q.e.d.
c) Unterscheidung in 5 Fälle:
i) xi = yi && yi = zi :
d(xi , yi ) + d(yi , zi ) ≥ d(xi , zi )
d(xi , xi ) + d(xi , xi ) ≥ d(xi , xi )
0+0 ≥ 0
ii) xi = yi && xi 6= zi :
d(xi , yi ) + d(yi , zi ) ≥ d(xi , zi )
d(xi , xi ) + d(xi , zi ) ≥ d(xi , zi )
0+1 ≥ 1
iii) xi = zi && xi 6= yi :
d(xi , yi ) + d(yi , zi ) ≥ d(xi , zi )
d(xi , yi ) + d(yi , xi ) ≥ d(xi , xi )
1+1 ≥ 0
iv) xi 6= yi && yi = zi :
d(xi , yi ) + d(yi , zi ) ≥ d(xi , zi )
d(xi , yi ) + d(yi , yi ) ≥ d(xi , yi )
1+0 ≥ 1
v) xi 6= yi && yi 6= zi && xi 6= zi :
d(xi , yi ) + d(yi , zi ) ≥ d(xi , zi )
1+1 ≥ 1
Daraus folgt:
X
d(x, y) + d(y, z) =
d(xi , yi ) +
i
=
X
≥
X
X
d(yi , zi )
i
d(xi , yi ) + d(yi , zi )
i
d(xi , zi )
i
= d(x, z)
4
q.e.d.
4. Wildcards
Manchmal taucht der Buchstabe N in Nukleotidsequenzen auf, der für ein beliebiges
Nukleotid aus {A, C, G, T} steht, z. B. ist TGNAA entweder TGAAA oder TGCAA oder TGGAA
oder TGTAA. Gegeben sei nun eine Sequenz s1 mit und eine Sequenz s2 ohne Wildcards.
Beschreiben Sie eine Methode, die die beste Interpretation von s1 in Bezug auf s2 liefert, das heißt, bestimmen Sie unter allen möglichen Interpretationen von s1 (wieviele?)
diejenige, die den besten Alignmentscore mit s2 hat.
1. naive Möglichkeit:
Durchprobieren für alle 4n Varianten, d.h. Berechnung von 4n Matrizen und Entscheidung für dasjenige Alignment, das den höchsten Score liefert.
2. Variation des NW-Algorithmus:
An jeder Wildcard-Position i wird ein Match mit dem jeweiligen Zeichen der 2. Sequenz
angenommen, d.h. s(s1 [i], s2 [j]) = s(s1 [j], s1 [j]). Da es immer noch sein kann, dass ein
Gap günstiger wäre als dieses Match, berechnen wir entsprechend Needleman-Wunsch
das Maximum zur Ermittlung des Scores von F (i, j).
F (i, j) = max




F (i − 1, j − 1) + s(s1 [i], s2 [j]) mit s(N, X) = s(X, X)
F (i − 1, j) − d



F (i, j − 1) − d
Beim Traceback wird dann an allen Diagonalkanten mit Wildcards das entsprechende
Symbol aus s2 für N eingesetzt.
1: if T(i,j) == (i-1,j-1) then
2:
3:
4:
5:
6:
7:
if s1 [i] == ’N’ then
print ss22 [j]
[j]
else
[i]
print ss21[j]
end if
end if
5. Anzahl optimaler Alignments
Die Anzahl der Traceback–Pfade in der DP–Matrix korrespondiert zur Anzahl der optimalen Alignments. Beschreiben Sie einen Algorithmus, der diese Zahl in O(nm) Zeit
berechnet. (Hinweis: DP).
Während der Durchführung des normalen NW-Algorithmus füllen wir zusätzlich eine
weitere Matrix A mit der Anzahl der möglichen Tracebacks. Dies erfolgt rekursiv über
P
A(i, j) = A(i0 , j 0 ), wobei (i0 , j 0 ) die maximierenden Paare bezeichnen.
5
Zu Beginn wird A derart initialisiert, dass jede Zelle eine 1 enthält. Dies ist gleichbedeutend mit dem Fall, dass es zu jedem Paar von Präfixsequenzen s1 [0..i] und s2 [0..j]
genau ein optimales globales Alignment gibt:
∀i ∀j
A(i, j) = 1
Während der Berechnung von F (i, j) wird dann jeweils zugleich auch A(i, j) aktualisiert. Wir können zusätzliche Variablen einführen, was die spätere Fallunterscheidung
erleichtert.
1: a = F(i-1,j-1) + s(s1 [i],s2 [j])
2: b = F(i-1,j) - d
3: c = F(i,j-1) - d
4: m = max(a,b,c)
5: F(i,j) = m
6:
// Für jede Tracebackrichtung wird die Anzahl der optimalen Alignments der Präfixsequenzen auf A(i, j) aufaddiert.
7: if m == a then
8:
9:
10:
11:
12:
13:
14:
15:
A(i,j) += A(i-1,j-1)
end if
if m == b then
A(i,j) += A(i-1,j)
end if
if m == c then
A(i,j) += A(i,j-1)
end if
Zum Schluss lässt sich aus A(n, m) die Anzahl der optimalen Alignments auslesen.
Die zu Aufgabe 2 gehörende Matrix A sähe dann beispielsweise folgendermaßen aus,
wobei die Tracebackpfeile nur der Übersichtlichkeit halber enthalten sind.
6
A
1
←
↑
-
1
↑
C
1
↑
T
-
1
↑
C
-
1
↑
T
-
1
-
G
1
A
1
←
T
1
1
1
←
1
↑
↑
-
2
1
↑
↑ -
3
1
1
←
↑
↑
- ↑
-
4
1
2
↑
↑
↑
5
1
2
←
←
C
1
←
G
1
←
1
←
1
1
←
1
↑
-
-
1
2
1
-
↑
1
←
4
2
←
2
-
Wie erwartet ist die Anzahl der optimalen globalen Alignments 2.
7
Herunterladen