Genome Rearrangements

Ähnliche Dokumente
Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach

Effiziente Algorithmen Übung 2

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Übungsblatt 2 - Lösung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Permutationen und symmetrische Gruppe

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Vervollständigung Lateinischer Quadrate

1 Algebraische Grundbegriffe

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (25 Sortieren vorsortierter Daten)

Algorithmische Anwendungen WS 2005/2006

37 Gauß-Algorithmus und lineare Gleichungssysteme

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

1. Einleitung wichtige Begriffe

Isomorphie von Bäumen

5. Äquivalenzrelationen

Axiomatische Beschreibung der ganzen Zahlen

Komplexität von Algorithmen

2. Symmetrische Gruppen

Summen, Indices und Multiindices

Die Unlösbarkeit der Gleichung fünften Grades durch Radikale. Teilnehmer: Gruppenleiter:

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

Algorithmische Bioinformatik 1

Cauchy-Folgen und Kompaktheit. 1 Cauchy-Folgen und Beschränktheit

Lineare Algebra 6. Übungsblatt

4.13. Permutationen. Definition. Eine Permutation der Elementen {1,..., n} ist eine bijektive Abbildung

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

15. Elementare Graphalgorithmen

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

DIE SPRACHE DER WAHRSCHEINLICHKEITEN

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Skalarprodukt, Norm & Metrik

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

5 Grundlagen der Zahlentheorie

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Kapitel 7: Sequenzen- Alignierung in der Bioinformatik

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

01. Gruppen, Ringe, Körper

Minimal spannende Bäume

7 KONVERGENTE FOLGEN 35. inf M = Infimum von M. bezeichnet haben. Definition. Sei (a n ) n N eine beschränkte Folge in R. Dann heißt.

Topologische Grundbegriffe I. 1 Offene und Abgeschlossene Mengen

7. Sortieren Lernziele. 7. Sortieren

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Die Varianz (Streuung) Definition

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Folglich besitzt die kanonische Faktorisierung von Permutationen der Ordnung 2 nur 2-Zykeln, also Transpositionen, als Elemente.

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

3 Klassifikation wichtiger Optimierungsprobleme

Euklidische Distanzmatrizen. Andrei Grecu

Mengen und Abbildungen

Ranking by Reordering Tobias Joppen

16. All Pairs Shortest Path (ASPS)

3. Musterlösung. Problem 1: Heapsort

Universität Zürich HS , Vorlesung #3

1. Gruppen. 1. Gruppen 7

Im allerersten Unterabschnitt wollen wir uns mit einer elementaren Struktur innerhalb der Mathematik beschäftigen: Mengen.

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus

6 Reelle und komplexe Zahlenfolgen

Diskrete und Schnelle Fourier Transformation. Patrick Arenz

1 Matrizenrechnung zweiter Teil

Proseminarvortrag. Markov-Ketten in der Biologie (Anwendungen)

1. Übungsblatt zu Algorithmen II im WS 2011/2012

3.4 Der Gaußsche Algorithmus

5 Interpolation und Approximation

1 Zahlentheorie. 1.1 Kongruenzen

Prof. Dr. Rudolf Scharlau, Stefan Höppner

ADS: Algorithmen und Datenstrukturen 2

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Bestimmung einer ersten

WS 2016/17 Diskrete Strukturen Kapitel 3: Kombinatorik (1)

Lineare Algebra I. Lösung 3.1:

Topologische Räume und stetige Abbildungen Teil 2

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

1 Mengen und Aussagen

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Euklidischer Algorithmus, Restklassenring und seine Struktur, Chinesischer Restklassensatz

Nichtdeterministische Platzklassen

Klausur Algorithmen und Datenstrukturen II 10. August 2015

Minimal spannender Baum

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

Übung: Algorithmen und Datenstrukturen SS 2007

Ein Tabellenverfahren zur Lösung linearer Gleichungssysteme

Threading - Algorithmen

Kompaktheit und Überdeckungen. 1 Überdeckungskompaktheit

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

1.1 Graphische Darstellung von Messdaten und unterschiedliche Mittelwerte. D. Horstmann: Oktober

Online-Algorithmen. Proseminar von Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans im Wintersemester 00/01

Evolutionäre Bäume. Madox Sesen. 30. Juni 2014

Transkript:

Schriftliche Ausarbeitung zum Vortrag über Genome Rearrangements im Proseminar Bioinformatik (Sommersemester 2011) Verfasser: Christof Schramm Betreuer: Prof. Heun

1 Biologischer Hintergrund Ein wichtiges Ziel der Bioinformatik ist es, Verwandtschaftsbeziehungen zwischen Arten zu untersuchen. Die Resultate derartiger Untersuchungen sind für die biologische Grundlagenforschung sehr wichtig, da sie ein Verstehen von Evolutionsvorgängen in der Vergangeneit ermöglichen. Die normale Herangehensweise zum Ermitteln des Verwandtschaftsgrades mehrerer Arten ist, ein Gen auszuwählen, welches im Genom jeder Art vorkommt, und dann ein Ähnlichkeitsmaß zwischen den verschiedenen Ausprägungen des Gens in den jeweiligen Genomen zu bilden. Diese Ähnlichkeitsmaße verwenden zumeist Mutationen an einzelnen Positionen oder Teilabschnitten der Nukleotidsequenz oder der Aminosäuresequenz des vom Gen codierten Proteins. Ein sehr einfaches Beispiel ist die p-distance[3], ein einfaches Maß für die Anzahl der Mutationen an einzelnen Positionen der Nukleotidsequenz, die nötig sind, um eine Sequenz A in eine Sequenz B zu überführen: p= d L L = Anzahl der Positionen im Gen, d = Unterschiedliche Positionen In manchen Fällen kann es jedoch sein, dass man beim paarweisen Vergleich von Genen kaum Mutationen vorfindet, so zum Beispiel in den Genomen von Mitochondrien oder Chloroplasten verschiedener Arten oder den Genen der X-Chromosomen der Säugetiere[2]. Obwohl die Sequenzen der einzelnen Gene in diesen Fällen fast identisch sind, wurden bei näherer Untersuchung oft große Unterschiede in der Genandordnung entdeckt. Solche Änderungen in der Genanordnung bezeichnet man als Genome-Rearrangements. Ähnlich wie mit einzelnen Mutationen kann man auch Ähnlichkeitsmaße erstellen, die auf Genome- Rearrangements beruhen. Man ermittelt dazu die minimal benötigte Anzahl von Rearrangements, die benötigt wird, um jeweils ein Genom in ein anderes zu überführen. Es gibt verschiedene Arten von Genome-Rearrangements. Hier seien vorgestellt: Transposition: Verschiebung einer Folge von Genen innerhalb eines Chromosoms ohne Umkehrung der Reihenfolge Reziproke Transposition: Vertauschung der Endabschnitte zweier Chromosomen Reversal: Umkehrung einer Genfolge innerhalb eines Chromosoms ohne Verschiebung. Es sind auch noch weitere Arten von Genome-Rearrangements denkbar, aber im Folgenden wird ein vereinfachter Fall betrachtet, der voraussetzt, dass es nur Reversals gibt, dass kein Gen doppelt vorkommt und dass das gesamte Genom aus einem einzigen Chromosom besteht. Wir suchen also nach einem Algorithmus, der die minimale Anzahl an Reversals benötigt, um eine lineare Gen-Folge ohne Duplikate in eine andere umzuwandeln. 1

2 Abstraktion & Definitionen In diesem Abschnitt wird das Problem etwas formaler dargestellt. Dies dient dem einfachen Zweck, ein besseres Verständnis der Problemstellung zu erarbeiten und ein präziseres Vokabular für die nachfolgende Darstellung eines Lösungsansatzes zu erhalten. Zunächst einmal können wir die Folge von Genen auf dem Chromosom A einfach als aufsteigende Folge (1,...,n) darstellen. Die Folge auf dem Chromosom, zu dem der evolutionäre Abstand ermittelt werden soll, kann damit einfach als Permutation π=(π 1,..., π n ) der Folge (1,...,n) dargestellt werden. Die identische Permutation ist die Permutation, für die gilt: π 1 =1,..., π n =n. Im Folgenden werden wir die erweiterte Darstellung der Permutation π, bezeichnet mit ext(π) benutzen. Diese ist dadurch definiert, dass am Anfang der Permutation π ein Element π 0 =0 eingefügt, und am Ende ein Element π n+1 =n+1 angehängt wird. Wenn in den folgenden Abschnitten von der Permutation π die Rede ist, so ist die erweiterte Darstellung gemeint. Diese Schreibweise wurde zur Vereinfachung gewählt Nun definieren wir einige Merkmale einer Permutation π, die uns den weiteren Umgang damit erheblich erleichtern. Das wichtigste sind Breakpoints, welche umgangssprachlich ausgedrückt kontinuierlich aufsteigende oder absteigende Teile der Permutation voneinander trennen. Genauer ist ein Breakpoint ein Paar (i,i+1),so dass π i π i+1 >1. Die Anzahl k der Breakpoints von π wird angegeben durch k=brp(π). Aus der obigen Definition eines Breakpoints folgt direkt die Definition von Strips. Sei k = brp(π) und seien (i 1,i 1 +1),...,(i k,i k +1) mit i 1 <...<i k die Breakpoints von π. Dann sind die Teilfolgen s 0 =(π 0,...,π i1 ),..., s k =(π ik +1,...,π n+1 ) die Strips von π. Die Strips von π stellen also kontinuierliche Abschnitte da, innerhalb derer jedes Element immer um eins größer oder kleiner ist als das vorhergehende. Gleichheit kann aufgrund unserer Forderung, dass jedes Gen nur einmal vorkommt, nicht zustande kommen. Ein Strip s j ist damit entweder aufsteigend, falls π i j +1<...<π i j+1, oder absteigend, falls π i j +1>...>π i j+1. Einelementige Strips definieren wir als absteigend, es sei denn, es handelt sich um den ersten Strip s 0 =π 0 oder um den letzten Strip s k =π n+1. Beispiel: Sei π = (0 5 4 3 7 8 1 2 6 9 10). Diese Permutation hat folgende fünf Breakpoints: (0,1), (3,4),(8,1),(2,6) und (6,10). Damit folgt, dass die π sechs Strips hat: s 0 =(0), s 1 =(5,4,3), s 2 =(7,8), s 3 =(1,2), s 4 =(6), s 5 =(9,10). Folgende Strips sind aufsteigend: s 0, s 2, s 3,s 5. Die restlichen Strips sind absteigend. Zu letzt noch die genaue Definition eines Reversals: Ein (i,j) Reversal ist eine Umkehrung ρ(i,j), so dass gilt π ρ(i, j)=(π 1,..., π i 1,π j,π j 1,...,π i+1,π i,π j +1,...,π n ) für 1 i< j n 3 Beobachtungen Beobachtung 1 In diesem Abschnitt wird gezeigt, dass man, sobald in einer Permutation mindestens ein absteigender Strip vorhanden ist, ein Reversal durchführen kann, welches einen Breakpoint eliminert. Der Beweis erfolgt so, dass zunächst gezeigt wird, dass in gewissen Situationen ein Breakpoint eliminert werden kann. Anschliessend wird gezeigt, dass eine dieser Situationen immer vorkommen muss, sobald ein absteigender Strip in der Permutation existiert. 2

Teil 1: Ist k {0,..., n+1} ein Element von ext(π), liegt k in einem absteigenden Strip und liegt k- 1 in einem aufsteigenden Strip von ext(π), dann existiert ein Reversal ρ, welches garantiert einen Breakpoint eliminiert. Die Begründung hierfür ist, dass sowohl k als auch k-1 Teil eines Breakpoints sein müssen weil sie jeweils das rechts stehende Element ihres Strips sind. Das Reversal ρ ist damit jenes Reversal, welches k-1 neben k platziert, wodurch dieser Breakpoint eliminiert wird. Dabei ist zu beachten, dass es keine Rolle spielt, ob der aufsteigende Strip in der Permutation vor oder nach dem absteigenden liegt. Dieser Beweis lässt sich analog auch für die These führen, dass falls l {0,...,n+1} in einem absteigenden Strip - und l+1 in einem Aufsteigenden Stirp von π liegt ein Reversal σ existiert, welches auch einen Breakpoint eliminiert. Teil 2: Jetzt sei π eine Permutation mit mindestens einem absteigenden Strip. Dann lässt sich der erste Fall aus Teil 1 dieses Beweises immer zur Anwendung bringen. Ersichtlich wird dies, wenn man das kleinste Element k aus allen absteigenden Strips von π betrachtet. Dann muss k-1 in einem aufsteigenden Strip liegen. Hier ist besonders zu beachten, dass das Element π 0 =0 welches mit der erweiterten Darstellung von π eingeführt wurde immer in einem aufsteigenden Strip liegt, auch wenn es alleine steht. Erst durch dieses Element ist garantiert, dass der erste Strip der Permutation ein aufsteigender ist, und nur deshalb gilt dieser Beweis für jede Permutation. Beobachtung 2 In diesem Abschnitt wird gezeigt, dass man, sobald der Fall vorliegt, dass π keine absteigenden Strips hat, ein Reversal durchführen kann, welches die Anzahl der Breakpoints nicht erhöht, falls π nicht die identische Permutation ist. Zunächst zeigen wir, dass π mindestens zwei Breakpoints hat, sobald es nicht die identische Permutation ist. Dazu rufen wir uns noch einmal die Merkmale der erweiterten Darstellung der Permutation in Erinnerung, insbesondere sind hier die an die Enden angefügten Elemente π 0 =0 und π n+1 =n+1 wichtig, welche immer in aufsteigenden Strips liegen. Sind π 0 und π n+1 Elemente des selben Strips, so wäre π die identische Permutation. Deshalb existieren die zwei aufsteigenden Strips s 0 =(π 0,...,π i ) und s k =(π j,...,π n+1 ). Damit existieren mindestens die Breakpoints (i,i+1) und (j,j-1) [1]. Führt man ein Reversal ρ = (i+1,j-1) aus, so macht man aus den dazwischenliegenden Strips Absteigende, erzeugt jedoch keinen neuen Breakpoint, da die Anzahl der Breakpoints im umgedrehten Stück sich nicht verringert. Durch die Beobachtungen 2 und 3 ist schon ein Algorithmus impliziert, welcher das MinSR Problem löst, im Folgenden wird jedoch noch eine weitere Besonderheit betrachtet, welche dem dann folgenden Algorithmus einige wichtige später näher erläuterte Eigenschaften verleiht. Beobachtung 3 Die Permutation π besitze jetzt mindestens einen absteigenden Strip. Seien k, l {0,..., n+1} Elemente der Permutation. Sei k das kleinste Element aus allen absteigenden Strips, und l das größte Element aus allen absteigenden Strips (es muss wie schon im Vortrag erwähnt nicht der Selbe sein). Sei nun ρ das Reversal, welches k-1 neben k platziert, und σ das Reversal, welches l neben l+1 platziert. Falls nun πρ und πσ keine absteigenden Strips enthalten, so gilt ρ=σ und brp(πρ) = brp 2. Beim Beweis dieser Behauptung wird auf den ersten Teil des Beweises der Beobachtung 1 zurück gegriffen. 3

Da k das kleinste Element aus allen absteigenden Strips ist, muss k-1 in einem aufsteigenden Strip liegen. Läge nun k-1 in π rechts von k, so würde das Reversal ρ den aufsteigenden Strip in dem k-1 liegt so umdrehen, dass k-1 neben k läge, dann entstünde jedoch keine Permutation ohne absteigenden Strip. Aufgrund dieser Tatsache ist davon auszugehen, dass k-1 in π links von k liegt. Ebenso kann man folgern, dass l+1 in π rechts von l liegen muss, da πσ sonst absteigende Strips enthielte. Nun können wir ausserdem aus den gestellten Bedingungen folgern, dass k in dem von σ umgedrehten Teil der Permutation liegen muss, da sonst ein absteigender Teil der Permutation erhalten bliebe. Ebenso können wir folgern, dass l in dem von ρ umgedrehten Teil der Permutation liegen muss da sonst der absteigende Strip in dem l liegt erhalten bliebe. Durch Widerspruch wird gezeigt, dass ρ=σ gelten muss. Dass sich die Anzahl der Breakpoints nach dem Reversal um 2 verringert folgt einfach aus der Tatsache, dass l neben l+1 platziert wird, und k neben k-1(k, k-1, l und l-1 sind Teile von Breakpoints). Angenommen es gilt ρ σ, dann muss ein Strip s x existieren, der nur von einem beiden Reversals beeinflusst wird, sei dies o.b.d.a. in diesem Fall ρ. Ist s x in π aufsteigend, dann ist er in πρ absteigend, dies ist jedoch nach den gegeben Voraussetzungen ausgeschlossen. Ist s x in π absteigend, dann würde er in πσ erhalten beliben, damit würden wir jedoch gegen die Bedingung verstoßen, dass sowohl πρ als auch πσ keine absteigenden Strips mehr enthalten dürfen. Damit muss gelten ρ=σ[1]. 4 Beschreibung des Algorithmus Nun betrachten wir den Algorithmus, welcher durch die Beobachtungen 1,2 und 3 impliziert wird: 1: Eingabe: Permutation π der Länge n 2: rev = () //Liste der durchgeführten Reversals 3: solange π nicht die identische Permutation 4: falls π hat absteigende Strips 5: Bestimme kleinstes Element k der absteigenden Strips von π 6: Bestimme Position i von k und Position i' von k-1 7: ρ=(i'+1,i) 8: falls πρ hat keine absteigenden Strips 9: Bestimme das größte Element l der absteigenden Strips von π 10: Bestimme die Position j von l in π und die Postion j' von l+1 in π 11: ρ=(j,j'-1) 12: sonst // π hat keinen absteigenden Strip 13: ρ = (Reversal zwischen den ersten beiden Breakpoints von π) 15: π = πρ 15: rev += ρ 16: Rückgabe rev Die Zeilen 12 und 13 sorgen dafür, dass die Permutation einen absteigenden Strip bekommt, sofern sie keinen (mehr) hat. Damit macht sie sich Beobachtung 2 zu nutze. Beobachtung 1 kommt in den Zeilen 5-7 zur Verwendung, indem einfach das kleinste Element in der absteigenden Strips von π neben das nächst kleinere gestellt wird, dadurch wird ein Breakpoint eliminiert. 4

Beobachtung 3 wird in den Zeilen 8-11 verwendet, und ist besonders wichtig, da sie garantiert, dass der Algorithmus im Durchschnitt pro Schritt einen Breakpoint entfernt. Ist πρ frei von absteigenden Strips, so wurden entweder gemäß Beobachtung 3 zwei Breakpoints eliminiert, oder es wurde nur ein Breakpoint eliminiert, dann ist aber das Reversal σ welches das größte Element l neben l+1 platziert nicht gleich ρ und es wird zwar auch ein Breakpoint eliminiert, aber dafür πσ hat wieder einen absteigenden Strip. Daraus folgt, dass falls die durch ein Reversal ρ resultierende Permutation πρ keinen absteigenden Strip mehr enthält, zwei Breakpoints entfernt werden. Da aber das Einführen eines absteigenden Strips keinen Breakpoint entfernt, balancieren sich diese beiden Operationen aus, und entfernen im Durchschnitt einen Breakpoint. Da das letzte Reversal immer zwei Breakpoints entfernt, wird Ausserdem der mögliche Fall ausgeglichen, dass die Ausgangspermutation keinen absteigenden Strips enthält. Damit wird im Durchschnitt pro Schleifendurchlauf ein Breakpoint entfernt. 5 Laufzeitanalyse und Vergleich mit anderen Verfahren In diesem Abschnitt wird die Laufzeit des Algorithmus analysiert und unser Ergebniss mit dem theorethisch möglichen Optimum verglichen. Zum Abschluss wird noch kurz auf performantere existierende Algorithmen eingegangen. Wie oben dargelegt entfernt unser Algorithmus pro Schleifendurchlauf im Mittel einen Breakpoint, damt ist die Anzahl der Schleifendurchläufe O(n). In jedem Schleifendurchlauf müssen zunächst die Strips bestimmt werden, was ebenso wie die Bestimmung der kleinsten / größten Elemente in linearer Laufzeit erfolgt. Die Durchführung des Reversals selbst erfolgt auch in linearer Laufzeit, damit ist der gesamte Algorithmus O(n²). Ein optimaler Algorithmus würde pro Reversal zwei Breakpoints entfernen, dies ist jedoch nur möglich, wenn man Reversals druchführt, welche auch innerhalb von Strips ansetzen, dies ist jedoch nicht ohne weiteres in polynomieller Laufzeit möglich. Der vorgestellte Algorithmus braucht im Vergleich zum möglichen Optimum also das 2-fache an Reversals. Der beste bisher bekannte Algorithmus für die Lösung des Problems (von Berman, Hannenhalli und Karpinski) benötigt jedoch nur das 1,375-fache der Vergleiche die der optimale Algorithmus benötigt.[1] Damit erzielt er zwar weitaus bessere Ergebnisse als der Algorithmus, welcher hier vorgestellt wurde, aber er beruht auf komplizierten Berechnungen, welche sich nicht im Rahmen eines Proseminars bearbeiten lassen. 5

6 Literaturverzeichnis [1] H.-J. Böckenhauer, D.Bongratz: Algorithmische Grundlagen der Bioinformatik - Modelle, Methoden und Komplexität, B.G. Teubner Verlag, 2003, Abschnitt 10.1und 10.2 [2] P. Pevzner: Computational Molecular Biology An Algorithmic Approach, MIT Press, 2000, Abschnitt 10.1 [3] M. Zvelebil, J.O. Baum: Understanding Bioinformatics, Garland Science, 2008, Abschnitt 8.1 6