Sommersemester 2004 Abgabe am 30.06.2004 Prof. Dr. Stefan Posch, Dipl.-Inf. B. M¨oller, Dr. J. Wensch
12. ¨ Ubung
” Algorithmen der Bioinformatik I“
1. Gegeben seien zwei StringsSundT. Definition:
Eine TeilsequenzXeines StringsSder L¨angemist definiert als ein StringX =Si1Si2· · ·Sik, wobei 1≤i1 < i2 <· · ·< ik ≤mgilt.
Definition:
Eine gemeinsame Teilsequenz zweier StringsS,|S|=m, undT,|T|=n, ist eine TeilsequenzX mit X =Si1Si2· · ·Sik =Tj1Tj2· · ·Tjk mit1≤i1 < i2 <· · ·< ik ≤m,1≤j1 < j2 <· · ·< jk≤n.
Definition:
Die l¨angste gemeinsame Teilsequenz zweier Strings ist die gemeinsame Teilsequenz mit maximaler L¨ange.
Wenn ein AlignmentA zweier StringsS undT gegeben ist, so erh¨alt man eine gemeinsame Teilse- quenz, indem alle Edit-Operationen im Edit-Transskript entfernt werden, die Einf¨ugungen, L¨oschungen oder Ersetzungen umfassen.
a) Gegeben sei nun andersherum eine gemeinsame TeilsequenzX. Aus welchen Alignments der beiden Strings l¨asst sichXableiten?
Von nun an sollen nur noch Alignments betrachtet werden, die keine Mismatches enthalten. Dies l¨asst sich durch geeignete Kosten erreichen, wenn jeder Mismatch ohne Mehraufwand durch Einf¨ugungen und L¨oschungen ersetzt werden kann. Eine solche Kostenfunktion bewertet beispielsweise Matches mit 0, L¨oschungen und Einf¨ugungen mit 1 und Ersetzungen mit Kosten≥2.
b) Gegeben sei also ein Alignment A der L¨ange a ohne Mismatches. Wie lang ist eine daraus ableitbare gemeinsame Teilsequenz X? Geben Sie einen Ausdruck f¨ur die L¨ange von X in Abh¨angigkeit der Anzahl von Einf¨ugungen und L¨oschungen, sowie der L¨angen m und n der beiden Strings an.
c) Zeigen Sie, dass eine l¨angste gemeinsame Teilsequenz aus einem Alignment mit minimaler Anzahl an Einf¨ugungen und L¨oschungen resultiert.
d) Nun soll ein globales optimales Alignment zweier Strings als Ausgangspunkt zur Bestimmung einer l¨angsten gemeinsamen Teilsequenz durch dynamische Programmierung ermittelt werden.
Wie ist der Algorithmus der dynamischen Programmierung zu modifizieren, um sicherzustellen, dass das globale Alignment keine Mismatches enth¨alt.
e) Zeigen Sie, dass die aus einem optimalen Alignment ohne Mismatches resultierende Teilse- quenz eine l¨angste gemeinsame Teilsequenz ist. Erl¨autern Sie weiterhin, wie aus dem optimalen Alignment die l¨angste Teilsequenz extrahiert werden kann.
2. a) Gegeben sei ein StringS ¨uber einem AlphabetΣ, wobei kein Buchstabe des Alphabets mehr als einmal hintereinander inS auftritt. Eine Teilsequenz von S wird als ”aufsteigend” bezeichnet, wenn die Buchstaben der Sequenz gem¨aß des Alphabets in lexikalischer Ordnung aufsteigend sortiert sind.
Auf Basis des deutschen Alphabets sei beispielsweise der StringT =”Seckendorff” gegeben.
Aufsteigende Teilsequenzen sind dann z.B. ”en” und ”dor”, aber auch ”cdff” und ”knr”.
Geben Sie einen Algorithmus an, der die l¨angste aufsteigende Teilsequenz eines StringsT findet.
b) Welche Modifikationen/Erweiterungen zum Finden der l¨angsten aufsteigenden Teilsequenz sind notwendig, wenn auch Strings zugelassen werden sollen, in denen einzelne Buchstaben mehr- mals hintereinander auftreten?
3. Implementieren Sie ein Verfahren zum globalen Alignment zweier Strings mittels der dynamischen Programmierung unter Ber¨ucksichtigung affiner Gapkosten. Testen Sie ihre Implementierung anhand mehrerer Beispiele und vergleichen Sie die Ergebnisse mit globalen Alignments, die aus der Verwen- dung einer konventionellen Kostenfunktion resultieren (Algorithmus aus Serie 9, Aufg. 3). Wo liegen die Unterschiede?