charakterisierung von dna-sequenzen mit su x-b … · gliederung nach der hier vorgestellten...

123
Gottfried Wilhelm Leibniz Universit¨ at Hannover Fakult¨ at f¨ ur Elektrotechnik und Informatik Institut f¨ ur Praktische Informatik Fachgebiet Programmiersprachen und ¨ Ubersetzer Charakterisierung von DNA-Sequenzen mit Suffix-B¨ aumen Diplomarbeit im Studiengang Mathematik mit Studienrichtung Informatik von Olesia Brill Pr¨ ufer: Prof. Dr. Rainer Parchmann Zweitpr¨ ufer: Prof. Dr. Heribert Vollmer Betreuer: M. Sc. Torben Wichers 30. April 2009

Upload: dodan

Post on 18-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Gottfried Wilhelm Leibniz Universitat Hannover

Fakultat fur Elektrotechnik und InformatikInstitut fur Praktische Informatik

Fachgebiet Programmiersprachen und Ubersetzer

Charakterisierung von DNA-Sequenzenmit Suffix-Baumen

Diplomarbeit

im Studiengang Mathematik mit Studienrichtung Informatik

von

Olesia Brill

Prufer: Prof. Dr. Rainer ParchmannZweitprufer: Prof. Dr. Heribert Vollmer

Betreuer: M. Sc. Torben Wichers

30. April 2009

Page 2: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Danksagung

Bei Herrn Prof. Dr. R. Parchmann bedanke ich mich fur die Vergabe und Betreuungder Diplomarbeit.

Mein besonderer Dank gilt Herrn Torben Wichers fur die engagierte Betreuungund stete Diskussionsbereitschaft, der mich stets mit vielseitigen Denkanstoßenbereicherte.

Des Weiteren danke ich allen, die mich bei der Erstellung dieser Diplomarbeitunterstutzt haben.

ii

Page 3: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Zusammenfassung

Die Bioinformatik spielt in der heutigen Zeit eine immer großere Rolle. Ein zen-traler Forschungsgegenstand ist der Aufbau der DNA, also die Erbinformationen.Seit den ersten Erfolgen bei der Sequenzierung in den 1980er Jahren kann dieNukleotid-Abfolge der DNA bestimmt werden. Dadurch erhalt man die DNA alsZeichenkette, die prinzipiell mit Hilfe von Algorithmen untersucht werden kann.Praktisch stoßen heutige Algorithmen an ihre Grenzen. Die enorme Datenmengefuhrt zu inakzeptablen Laufzeiten, beispielsweise beim Nachweis von Bakterien ineiner

”Suppe“.

Einen Ausweg bieten hier sogenannte”charakteristische Teilsequenzen“. Wenn die-

se Teilsequenzen moglichst kurz gewahlt werden, kann der Nachweis einer bestimm-ten DNA durch Zeichenkettensuche sehr effizient durchgefuhrt werden.

Die vorliegende Diplomarbeit beschaftigt sich mit der Bestimmung von Teilsequen-zen optimaler Lange, also moglichst kurze, aber charakteristische und fur eine be-stimmte DNA eindeutige Teilsequenzen. Dazu werden Zeichenketten-Algorithmenverwendet.

iii

Page 4: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

iv

Page 5: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Inhaltsverzeichnis

1. Einleitung 11.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Grundlagen 72.1. Biologisches Hintergrundwissen . . . . . . . . . . . . . . . . . . . . 72.2. Erzeugen von Zufallssequenzen . . . . . . . . . . . . . . . . . . . . . 11

3. Algorithmische Problembeschreibung 153.1. Beschrankung der Pattern-Lange . . . . . . . . . . . . . . . . . . . 163.2. Berucksichtigung der Sequenzierungsfehler . . . . . . . . . . . . . . 183.3. Betrachtung mehrerer Bakterien . . . . . . . . . . . . . . . . . . . . 223.4. Statistische Informationen zu einem Pattern . . . . . . . . . . . . . 233.5. Auswahl der besten Pattern als Marker . . . . . . . . . . . . . . . . 24

4. Algorithmen zur Patternbestimmung 254.1. Pattern-Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.1. Pattern-Tabelle aller Pattern einer Lange m . . . . . . . . . 274.1.2. Pattern-Tabelle aller Pattern bis zu einer Lange m . . . . . 29

4.2. Suffix-Baume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.1. Naive Konstruktion eines Suffix-Baumes . . . . . . . . . . . 344.2.2. Effiziente Konstruktion - Der Ukkonen-Algorithmus . . . . . 364.2.3. Speicherplatzbedarf . . . . . . . . . . . . . . . . . . . . . . . 46

4.3. Erweiterte Suffix-Baume . . . . . . . . . . . . . . . . . . . . . . . . 484.3.1. Gekurzte Suffix-Baume . . . . . . . . . . . . . . . . . . . . . 494.3.2. Berucksichtigung der Sequenzierungsfehler . . . . . . . . . . 524.3.3. Suffix-Baume fur mehrere Bakterien . . . . . . . . . . . . . . 54

4.4. Suffix-Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4.1. Erweiterte Suffix-Arrays . . . . . . . . . . . . . . . . . . . . 594.4.2. Speicherplatz- und Laufzeit-Betrachtung . . . . . . . . . . . 59

5. Patternselektion 615.1. Berechnung der statistischen Großen . . . . . . . . . . . . . . . . . 62

5.1.1. Pattern-Haufigkeit . . . . . . . . . . . . . . . . . . . . . . . 635.1.2. Pattern-Lange . . . . . . . . . . . . . . . . . . . . . . . . . . 645.1.3. Pattern-Frequenz . . . . . . . . . . . . . . . . . . . . . . . . 65

v

Page 6: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Inhaltsverzeichnis

5.1.4. Pattern-Qualitat . . . . . . . . . . . . . . . . . . . . . . . . 675.2. Wahl der Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6. Implementierung 736.1. Algorithmen zur Patternbestimmung . . . . . . . . . . . . . . . . . 746.2. Suffix-Baume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.2.1. Entscheidungen der Methodenwahl . . . . . . . . . . . . . . 776.2.2. Nachfolger-Implementierung fur Node . . . . . . . . . . . . . 786.2.3. Setzen der Suffix-Links . . . . . . . . . . . . . . . . . . . . . 79

6.3. Wahl der Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806.4. Auswertungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

7. Auswertungen 857.1. Algorithmen zur Patternklassifizierung . . . . . . . . . . . . . . . . 85

7.1.1. Pattern-Tabellen . . . . . . . . . . . . . . . . . . . . . . . . 867.1.2. Suffix-Baume . . . . . . . . . . . . . . . . . . . . . . . . . . 877.1.3. Vergleich der drei Algorithmen - Laufzeit und Speicher . . . 88

7.2. Statistische Informationen . . . . . . . . . . . . . . . . . . . . . . . 917.2.1. Eignung der statistischen Informationen . . . . . . . . . . . 927.2.2. Vergleich DNA-Sequenzen gleicher und unterschiedlicher

Abstammung . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.3. Uberprufung der Markersatze . . . . . . . . . . . . . . . . . . . . . 104

8. Fazit und Ausblick 1058.1. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

A. Herkunft der Bakteriensequenzen 111A.1. Bakterien unterschiedlicher Herkunft . . . . . . . . . . . . . . . . . 111A.2. Bakterien aus der gleichen Familie . . . . . . . . . . . . . . . . . . . 112

B. Vergleich der Marker-Qualitat fur verschiedene Dateien 115

vi

Page 7: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1. Einleitung

1.1. Motivation

Die Biologie beschaftigt sich unter anderem mit Genen und DNA. Eines der Zie-le dabei ist es, bestimmte Organismen (z.B. Bakterien) mit Hilfe von DNA-Testsin einer Probe nachzuweisen. Dies dient beispielsweise dazu Krankheiten und In-fektionen schnell zu finden. Die Bioinformatik bietet hier neue Moglichkeiten, dieTests schneller und genauer durchzufuhren.

In der Bioinformatik wird ein Bakteriengenom durch eine mehrere MB große Zei-chenkette, die DNA-Sequenz, dargestellt.

Das erste großere Projekt, welches sich mit der Sequenzierung beschaftigt, istdas Human-Genom-Projekt. Es wurde Ende der 80er Jahre ins Leben gerufen.Die DNA-Sequenzierung ist die Bestimmung der DNA-Nukleotid-Abfolge. Es gibtmehrere Sequenzierungsverfahren. Ein bekanntes ist das Verfahren nach Sanger.Bei diesem Verfahren wird die DNA-Sequenz nicht in einem Schritt bestimmt,sondern auf Grund technischer Einschrankungen in viele kleine Abschnitte, Readsgenannt, geteilt. Diese werden dann der Reihe nach sequenziert, wobei sich beider Bestimmung der Reads jeweils mindestens zwei Reads in der Gesamtsequenzuberlappen mussen, um aus allen vorliegenden Reads zu einer Sequenz wieder dieGesamtsequenz rekonstruieren zu konnen (siehe Abbildung 1.1 oberer Teil).

Durch die Sequenzierung sind die heutigen, riesigen Genom-Datenbanken entstan-den. Mit dem Fortschritt der Technik steigt deren Große bzw. Umfang immerschneller an. Ein Beispiel dafur ist die Genom-Datenbank der NCBI [13]. Umsowichtiger ist es, sich dem Aufbau der Genome zuzuwenden, um mit der immergroßer werdenden Datenmenge zurecht zu kommen.

Der Stand der Technik reicht heutzutage noch nicht aus, um den Nachweis von Bak-teriengenomen in kurzer Zeit in einer kompletten Probensequenz durchzufuhren.Die fur ein Probenmaterial reprasentativ vorliegende Menge an Reads bildet nureinen kleinen Teil des Probenmaterials und damit auch der in dem Probenmaterialvorliegenden Bakteriengenome ab. Optimal ware eine vollstandige Abdeckung ei-nes Bakteriengenoms durch vorliegende Reads, das in Abbildung 1.1 dargestellt ist.Ein weiteres Problem betrifft die Große der Datenmenge fur existierende Bakteri-en. Diese ist mittlerweile recht groß. Da in dem Probenmaterial meistens mehrereBakterien vorliegen, muss es moglich sein, ein Bakteriengenom an Hand einigerweniger Reads eindeutig zuordnen zu konnen.

1

Page 8: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1. Einleitung

Um dieser Anforderung gerecht zu werden, werden fur jedes Bakteriengenom kurzecharakteristische DNA-Sequenzen, Marker genannt, bestimmt. Um die eindeutigeZuordnung gewahrleisten zu konnen, muss es eine eindeutige Zuordnung der Mar-ker zu je einem Bakterium geben.

1.2. Aufgabenstellung

Die vorliegende Diplomarbeit stellt eine weiterfuhrende Arbeit der Diplomarbeitvon Jens Neugebauer [8] dar, die Algorithmen zur Bestimmung der in den gege-benen Reads eines Probenmaterials vorkommenden Marker vorstellt. Es werdenReads eines vorgegebenen Probenmaterials betrachtet. In dem Probenmaterial,welches beispielsweise eine Speichelprobe sein kann, werden Bakterien gesucht.Die Reads sind Teile des Probenmaterials und stellen Bakteriengenome dar. Ummoglichst schnell die Zuordnung zwischen Reads und Bakteriengenomen herstellenzu konnen, werden charakteristische kurze Teilsequenzen, sogenannte Marker, proBakteriengenom bestimmt. In Abbildung 1.1 sind drei Marker in unterschiedlichenFarben und ihr Auftreten in dem Bakteriengenom dargestellt.

Marker pro Bakteriengenom waren in der Arbeit von Jens Neugebauer bereits vor-gegeben und hatten eine Lange von 8 − 14 Zeichen. Nach der Bestimmung derMarkersatze in den Reads konnen durch die Zuordnung eines Markers zu je einemBakteriengenom genaue Aussagen daruber getroffen werden, welche Bakterienge-nome in der vorgegebenen Probe enthalten sind.

Offen bleibt das Problem der Bestimmung der Markersatze fur die Bakteriengeno-me, die im Moment zwar teilweise vorhanden, jedoch in der Anzahl pro Bakteriumsehr unterschiedlich sind. Fur einige Bakterien gibt es sehr viele Marker, fur anderewiederum fast keine. Hier setzt die vorliegende Diplomarbeit an. Es soll ein Al-gorithmus entwickelt werden, der zu allen vorliegenden Bakteriengenomen jeweilsMarkersatze bestimmt.

Gute Marker zu verwenden ist fur die Suche nach Bakteriengenomen in einemProbenmaterial sehr wichtig. Abbildung 1.1 stellt eine Bakterien-Sequenz dar. ImIdealfall uberlappen sich die gegebenen Reads der Probe und uberdecken die kom-plette Sequenz. Ist dies der Fall, so reichen die Markersatze, die bisher verwendetwerden, aus, um nach dem Auffinden der Marker in den Reads Aussagen uber dieenthaltenen Bakteriengenome in der Probe geben zu konnen.

Die gegebenen Reads haben jedoch nicht immer eine so hohe Uberdeckungsrate,wie in der Abbildung dargestellt. Man geht davon aus, dass jeweils nur wenigeTeile des Bakteriengenoms durch die Reads abgedeckt werden. Deshalb mussendie Markersatze bestimmten Bedingungen genugen, um in den wenigen gegebenenReads gefunden werden zu konnen und dadurch eindeutig eine Zuordnung zu einemBakterium zu erhalten. Eine Teilsequenz kommt als Marker fur ein Bakterium inFrage, wenn sie folgende Bedingungen erfullt:

2

Page 9: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1.2. Aufgabenstellung

Abbildung 1.1.: Darstellung des Problems durch Betrachtung einer Bakterien-Sequenz

1. Ein Marker ist in der DNA des gesuchten Bakteriums uberreprasentiert.

2. Ein Marker ist in allen anderen Bakterien nicht ofter zu finden, als im ge-suchten Bakterium.

3. Ein Marker tritt im gesuchten Bakterium regelmaßig auf.

4. Ein Marker ist kurz.

Damit eine Teilsequenz als Marker dienen kann, muss die Eigenschaft erfullt sein,dass ein Marker nur in einem Bakterium uberreprasentiert ist. In anderen darf derMarker zwar vorkommen, jedoch in einer sehr geringen Anzahl. Dies war bishernicht immer gewahrleistet. Beispielsweise gibt es biologisch betrachtet Teilsequen-zen, die in Bakteriengenomen eine bestimmte Aufgabe ubernehmen und somit invielen Bakterien vorkommen. Sie konnen nicht als Marker nutzlich sein.

Ein weiteres Problem, das auftritt, ist die Sequenzierung der Bakterien. Nichtalle Bakterien sind bereits sequenziert. Das in dieser Arbeit gesuchte Verfahrenzur Bestimmung optimaler Marker muss also alle bereits sequenzierten Bakteri-en berucksichtigen. Ansonsten kann es vorkommen, dass ein Marker zwar bei derBetrachtung der bisherigen Bakteriensequenzen fur ein bestimmtes Bakterium cha-rakteristisch, jedoch bei der Betrachtung neu hinzugefugter Bakterien, nicht mehrcharakteristisch ist, weil dieser Marker in den neu betrachteten Bakterien sehrhaufig auftritt. Die Eindeutigkeit der Zuordnung der Marker zu einem Bakteriumware dann nicht mehr gegeben.

In dieser Diplomarbeit sollen diese Problemstellungen untersucht werden. Statis-tiken sollen ein Gefuhl dafur geben, wie oft eine Teilsequenz in einer Bakteriense-quenz vorkommen muss, damit sie als Marker in Frage kommt. Anhaufungen deroft vorkommenden Teilsequenzen sollen außer Acht gelassen werden, da nur dieimmer wiederkehrend vorkommenden Teilsequenzen relevant sind. Dies resultiertaus der Annahme, dass nur ein relativ kleiner Teil des Bakteriengenoms durch dieReads reprasentiert wird (genaueres siehe [8]).

Tritt ein Marker nicht regelmaßig auf, so kann es passieren, dass er zwar auf die

3

Page 10: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1. Einleitung

ganze Bakteriensequenz gesehen uberreprasentiert ist, jedoch in den Reads, diegegeben sind, nicht auftritt (siehe Abbildung 1.1). Des Weiteren sollen in dieserDiplomarbeit Aussagen daruber gemacht werden, wie lang die Marker sein mussen,um statistisch relevant zu sein. Lange

”uberreprasentierte“ Marker haben eine

hohere Wahrscheinlichkeit zu einem bestimmten Bakterium zu gehoren, jedochsinkt die Wahrscheinlichkeit mit der wachsenden Lange, die Marker in den Readszu finden, vor allem weil die Reads eine beschrankte Große haben. Es soll gezeigtwerden, welche Parameter statistisch relevante Ergebnisse fur die Markerauswahlliefern.

1.3. Gliederung

Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel 2 die Grundlagen behandelt. Als Erstes wird ausfuhrlicher auf die biologi-schen Grundlagen eingegangen. Es folgt die Betrachtung des Verfahrens von Knuthzur Bestimmung von Zufallssequenzen. Diese sollen dazu dienen, den Aufbau vonDNA-Sequenzen genauer zu verstehen und die Besonderheiten dieser, im Vergleichzu Sequenzen, in denen die Teilsequenzen gleichmaßig verteilten sind, zu verdeut-lichen.

In Kapitel 3 folgt die algorithmische Problembeschreibung. Es werden die einzel-nen Schritte des zu entwickelnden Algorithmus dargestellt, die fur die Bestimmungder Markersatze pro Bakterium notwendig sind.

Das Basiswissen fur die mogliche Umsetzung der Algorithmen wird durch die Be-handlung der Suffix-Baume und Suffix-Arrays gelegt. Da nur die erfolgverspre-chendste Idee umgesetzt werden kann, erfolgt am Ende des Kapitels die Entschei-dung fur eines der beiden vorgestellten Verfahren.

Kapitel 4 beschreibt die Umsetzung des ersten Teils des Algorithmus. Bevordie Marker bestimmt werden konnen, mussen mogliche Marker, die Pattern, be-stimmt werden. Die Algorithmen zur Patternbestimmung betrachten Teilsequen-zen der Bakteriensequenzen mit den zugehorigen statistischen Informationen. Dieeinfachste Variante eines solchen Algorithmus ist eine einfache Tabelle, in der proEintrag ein Pattern dargestellt ist. In Abschnitt 4.2 werden die Grundlagen derSuffix-Baume beschrieben. Suffix-Baume fur eine Sequenz sind Such-Baume, indenen alle Teilsequenzen enthalten sind. Die Anpassung der Suffix-Baume an diein dieser Diplomarbeit betrachtete Problemstellung erfolgt in Abschnitt 4.3. Dasletzte in dieser Diplomarbeit betrachtete mogliche Verfahren zur Bestimmung derPattern wird in Abschnitt 4.4 vorgestellt.

Die Patternbestimmung reicht fur die Auswahl der Marker pro Bakterium nichtaus. Es fehlen noch Kriterien, die

”gute“ Marker spezifizieren. Dazu werden in

Kapitel 5 unterschiedliche Faktoren betrachtet, die dabei behilflich sein sollen,Marker zu bestimmen, die dazu beitragen, bessere Ergebnisse zu erzielen. Dazuwerden Kennzahlen pro Pattern bestimmt, mit Hilfe derer die Auswahl der Mar-

4

Page 11: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1.3. Gliederung

ker mit Heuristiken erfolgt. In Abschnitt 5.2 werden zwei Moglichkeiten fur dieWahl der Marker aus den ermittelten Pattern mit Hilfe einer der vorgestelltenHeuristiken beschrieben.

In Kapitel 6 folgen die Implementierungsdetails fur die Algorithmen zur Pattern-klassifizierung und der Wahl der Marker. Im letzten Teil von Kapitel 6 wird aufdie Implementierung von den in Kapitel 7 betrachteten Auswertungs-Diagrammeneingegangen.

In dieser Diplomarbeit wird unter anderem ein Schwerpunkt auf die Auswertunggelegt, die sich sowohl auf den Vergleich zwischen DNA-Sequenzen und Zufallsse-quenzen, als auch zwischen den einzelnen implementierten Algorithmen zur Pat-ternbestimmung erstreckt. Weiteres Thema von Kapitel 7 ist die Eignung derHeuristiken, die bei der Wahl der Marker eine Rolle spielen.

In Kapitel 8 folgt das Fazit und der Ausblick dieser Diplomarbeit.

5

Page 12: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

1. Einleitung

6

Page 13: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2. Grundlagen

Wie in Kapitel 1 motiviert wurde, ist die Aufgabe dieser Arbeit die Identifikationgeeigneter Marker, die signifikant fur ein Bakterium sind. In der Literatur findetman einige Ansatze zur Losung dieses Problems. Dieses Kapitel soll die Grundlagender Diplomarbeit bilden. In Abschnitt 2.1 werden vorerst biologische Grundlagengelegt, um das Problem und dessen Besonderheiten genauer verstehen zu konnen.Um die Eignung der in dieser Arbeit entwickelten Algorithmen fur das medizini-sche Anwendungsgebiet zu belegen, mussen diese auf verschiedenen Daten evaluiertwerden. Es sollen neben den anwendungsspezifischen DNA-Sequenzen zufallige Se-quenzen betrachtet werden, dessen Alphabet gleich dem der DNA-Sequenzen ist.Diese Zufallssequenzen werden unter anderem nach dem Verfahren von Knuthbestimmt und in Abschnitt 2.2 vorgestellt. In Kapitel 7 wird der Aufbau der er-zeugten Zufallssequenzen mit dem Aufbau der DNA-Sequenzen verglichen, um dieBesonderheiten von diesen zu verdeutlichen.

Der in der vorliegenden Diplomarbeit entwickelte Algorithmus teilt sich in mehrereSchritte, um der Aufgabenstellung gerecht zu werden. Diese werden, zusatzlich zuder Beschreibung des Algorithmus, in Kapitel 3 vorgestellt.

Die Charakterisierung der DNA-Sequenzen basiert auf der Bestimmung von Teil-sequenzen, die signifikant fur ein Bakteriengenom sind. Fur die Umsetzung derBestimmung aller in Frage kommenden Teilsequenzen sind Grundlagen im Be-reich der Zeichenkettensuche unumganglich, um darauf aufbauend die Ideen undImplementierungen fur die Algorithmen vorzustellen. Diese Grundlagen und dieAnpassung zur Losung der Aufgabenstellung dieser Diplomarbeit werden in Kapi-tel 4 behandelt.

Um Zeichenketten und speziell DNA-Sequenzen nach ihrem Aufbau hin zu un-tersuchen, d.h. gleiche Teilsequenzen zu finden, konnen sowohl Suffix-Baume alsauch Suffix-Arrays von zentraler Bedeutung sein. Diese werden in Abschnitt 4.2und 4.4 in ihrer ursprunglichen Form vorgestellt. Nach der Betrachtung der Lauf-zeit und des Speicherplatzverbrauchs wird die Entscheidung fur eine der beidenDatenstrukturen am Ende des Kapitels 4 gefallt.

2.1. Biologisches Hintergrundwissen

Das Ziel dieser Diplomarbeit ist die Untersuchung der DNA-Sequenzen von Bakte-rien (im Folgenden auch Bakteriensequenzen oder Bakteriengenome genannt) mit

7

Page 14: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2. Grundlagen

Hilfsmitteln der Informatik. Bevor das geschehen kann, mussen vorerst die biolo-gischen Grundlagen gelegt werden, um verstehen zu konnen, wie DNA-Sequenzenerzeugt werden und welche Besonderheiten sie haben.

Abbildung 2.1.: Aufbau der DNA, [6]

Der Mensch besitzt 23 Chromosome, die jeweils aus der DNA bestehen. Die DNA(Deoxyribonucleic Acid, dt.:Desoxyribonucleinsaure) hat eine Doppelhelix-Form(siehe Abbildung 2.1) und besteht aus Nukleotiden.

Nukleotide sind aus drei Bestandteilen aufgebaut: Zucker, Phosphorsaure und Nu-kleotidbasen. Es gibt funf verschiedene Basen:

• Adenin (A)

• Cytosin (C)

• Guanin (G)

• Thymin (T)

• Uracil (U)

Die DNA beinhaltet vier der funf Basen. Das sind Adenin, Cytosin, Guanin undThymin. Zur Verdoppelung der DNA wird jeweils nur ein Strang benutzt, diesogenannte RNA. Diese wird bei der Transkription aus der DNA erzeugt und un-terschiedet sich dadurch, dass sie die Base Thymin statt Uracil enthalt. Die zweiStrange der DNA sind zueinander komplementar, d.h. zwei Basen der Nukleotidesind in der DNA auf der gleichen Hohe angeordnet (siehe Abbildung 2.1 rechts). Siewerden durch Wasserstoffbruckenbindungen zusammengehalten. KomplementareBasenpaare sind Adenin und Thymin (zwei Wasserstoffbruckenbindungen), Gua-nin und Cytosin (drei Wasserstoffbruckenbindungen). Sie werden je als Basenpaarbezeichnet und kommen jeweils im Verhaltnis 1 : 1 vor. Drei aufeinander folgendeDNA-Basen, genannt Codon, stellen ein (Aminosaure-)Protein dar, wobei einigeder 3er-Sequenzen Start- bzw. Stopp-Codons kodieren, die bestimmte Funktionenin der DNA besitzen [15].

Die Sequenzierung ist die Bestimmung der Abfolge der Basen in einem DNA-Strang. Als Ergebnis bekommt man eine Zeichenkette, die die komplette DNAdarstellt. Im Folgenden wird mit Zeichenketten, die aus den Elementen der Menge

8

Page 15: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2.1. Biologisches Hintergrundwissen

{A,C,G, T} bestehen und andere Elemente enthalten konnen, beispielsweise N ,gearbeitet. Diese und weitere Elemente bilden das Alphabet Σ.

Ein Abschnitt einer DNA-Sequenz ist in Abbildung 2.1 zu sehen. Da die kom-plette DNA-Sequenz fur die Sequenzierung in einem Durchlauf zu lang ist, wirdsie beispielsweise beim Sequenzierungsverfahren nach Frederick Sanger in kleinereStucke zerlegt. Diese mussen sich jeweils uberlappen, um die komplette DNA ausden Teilstucken rekonstruieren zu konnen (fur naheres siehe [8]).

Definition 2.1.1

Reads ∈ Σ+ bezeichnen kurze DNA-Teilsequenzen eines Bakteriums einer Langevon weniger als 1000 Basenpaaren (Bp), die beim Sequenzieren entstehen. DieLange der Reads ist variabel und sei im Folgenden mit l bezeichnet.

In der vorliegenden Diplomarbeit werden Bakteriensequenzen untersucht. Ein Ge-nom ist die Menge aller Gene eines Organismus. Gene sind Teilsequenzen der DNAund sind die Trager der kleinsten Erbinformation.Um bestimmen zu konnen, welche der existierenden Bakteriensequenzen im Pro-benmaterial, also in der vorgegebenen zu untersuchenden langen DNA-Sequenzvorkommen, benutzt man statt der kompletten Probensequenz die zu dieser Pro-bensequenz gegebenen Reads. Es ist nicht moglich in den relativ kurzen Reads dievollstandigen Bakteriengenome zu suchen, da diese wesentlich langer sind (sieheTabelle 2.1). Dafur werden in den Bakteriensequenzen kurze Abschnitte bestimmt,die die in der Einleitung (Kapitel 1) erlauterten Kriterien erfullen. Man bezeichnetsie als Marker. Fur die Bestimmung der Marker werden voerst Pattern definiert:

Definition 2.1.2

Ein Wort w uber dem Patternalphabet Π, w ∈ Π+ wird im Folgenden als Patternp bezeichnet. Das Patternalphabet Π besteht aus der Menge der Basen der DNA,Π = {A,C,G, T}. Die Große des Patternalphabets |Π| wird im folgenden mit basisbezeichnet.

Das Patternalphabet Π ist eine Teilmenge des oben vorgestellten Alphabets Σ,Π ⊆ Σ. Da Pattern Sequenzen sind, die fur die Wahl der Marker in Frage kommenkonnten, mussen sie nach den bisherigen Annahmen ungefahr eine Lange von 8−14Zeichen haben.

Definition 2.1.3

Ein Marker zu einer Bakteriensequenz b ist eine kurze DNA-Teilsequenz von bder Lange m, die signifikant fur b ist. Fur die Signifikanz konnen unter anderemfolgende Bedingungen herangezogen werden:

9

Page 16: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2. Grundlagen

I. der Marker tritt in b regelmaßig

II. und haufig auf,

III. in allen anderen betrachteten Bakteriensequenzen tritt er nicht haufig auf.

Bedingung II. und III. sorgen dafur, dass der Marker in b uberreprasentiert ist.

Tabelle 2.1.: DNA-Sequenzgroßen im Vergleich, [14]

Art SequenzgroßeBakteriensequenzen ≈ 1 ∗ 106 − 6 ∗ 106 BpMensch ≈ 3 ∗ 109 BpProbenmaterial bis einige GBRead 30− 800 BpMarker bisher 8− 14 Bp

Beispiel 2.1.4

Dieses Beispiel soll dabei behilflich sein, die Aufgabenstellung etwas genauer zuverstehen. Der Einfachheit halber sind keine kompletten Bakteriensequenzen, son-dern zwei Ausschnitte aus Bakteriensequenzen gegeben:

Bakterium 1 = . . . ATAGCTTCAGCATTACGTCAGCATCAGCATATAGCT . . .Bakterium 2 = . . . TCTCTCTCTCAGCATAGCTCAGCAATAGCTCATAGC . . .

Man betrachte jede einzelne Teilsequenz der Lange 6 − 7 Bp. Wahlt man dieGrenze fur das haufige Auftreten h > 1, so ergeben sich folgende Pattern, die inder jeweiligen Bakteriensequenz haufig vorkommen:

Tabelle 2.2.: Bestimmung der haufig auftretenden (h > 1) Pattern. Pat. ist dasjeweilige Pattern und Hfg. ist die Haufigkeit des Auftretens diesesPatterns

Pat.1 Hfg.1 Pat.2 Hfg.2 Pat.3 Hfg.3 Pat.4 Hfg.4Bakt.1 TCAGCAT 2 TCAGCA 3 ATAGCT 2 CAGCAT 2Bakt.2 TCTCTC 3 TCAGCA 2 ATAGCT 2 CATAGC 2

Nach der Bestimmung aller haufig auftretenden Pattern muss gepruft werden, obdiese die Bedingungen I. und III. fur Marker erfullen. Pattern 2 und 3 treten in bei-den Bakteriensequenzen haufig auf, somit erfullen sie die III. Bedingung nicht. Siesind weder in dem einen noch in dem anderen Bakteriengenom uberreprasentiertund kommen nicht als Marker in Frage.

10

Page 17: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2.2. Erzeugen von Zufallssequenzen

Betrachtet man Pattern 1 in Bakterium 2, so fallt auf, dass das Pattern nur imersten Teil der Sequenz auftritt. Das Pattern erfullt die Marker-Bedingung I. desregelmaßigen Auftretens nicht und kann nicht als Marker gewahlt werden.

Somit sind folgende Marker in den beiden Bakteriengenom-Abschnitten enthalten:

Bakterium 1: TCAGCAT, CAGCAT

Bakterium 2: CATAGC

Besonderheiten der DNA

Beim Sequenzieren der DNA kann es gelegentlich vorkommen, dass Fehler auftretenund einige der Basen nicht genau ermittelt werden konnen. Diese werden in derSequenz durch ein

”N“ dargestellt, N ∈ Σ. Das N ist ein Platzhalter und stellt

eine der vier moglichen Basen dar. Fur das Auftreten solcher Zeichen muss in demAlgorithmus bestimmt werden, was mit diesem Zeichen passiert (genaueres ist inKapitel 3 zu finden).

Die DNA der Bakteriengenome ist nicht frei von DNA-Teilsequenzen anderer Bak-teriengenome. Es konnte gezeigt werden, dass Bakterien fremde DNA in ihre Ei-gene mit einbauen. Fur weitere Informationen siehe [8]. Dies ist eine Eigenschaft,die beim Ausfuhren des Algorithmus erfullt sein muss. Das wird dadurch erreicht,dass die Haufigkeit des Auftretens von Markern in anderen als der betrachtetenBakteriensequenz nicht gleich Null gesetzt wird, da in diesen Bakteriensequenzenfremde DNA enthalten sein konnte.

Eine weitere Besonderheit von DNA-Sequenzen ist die ungleichmaßige Verteilungder Teilsequenzen. Um die Verteilung der Zeichen bzw. Teilsequenzen in der DNAzu untersuchen, werden sowohl fur DNA-Sequenzen als auch fur Zufallssequenzenstatistische Werte gebildet (Kapitel 5) und im Verhaltnis zueinander untersucht(Kapitel 7). Zufallssequenzen werden nach zwei Verfahren erzeugt, mit Hilfe derinneren Java-Klasse Random werden Zufallszahlen erzeugt und auf die Elementedes Patternalphabets Π abgebildet. Ein weiteres Verfahren ist das Verfahren vonKnuth, vorgestellt in [5], auf welches im nachsten Abschnitt etwas genauer einge-gangen wird.

2.2. Erzeugen von Zufallssequenzen

Die dieser Diplomarbeit zugrunde liegende Aufgabenstellung stellt einen Spezi-alfall der Bestimmung von gleichen Teilzeichenketten in einer langen Zeichen-kette dar. Die Bestimmung der signifikanten Teilsequenzen kann nicht nur mitDNA-Sequenzen, sondern mit beliebigen Zeichenketten durchgefuhrt werden. InAbschnitt 2.1 wurden einige Besonderheiten der DNA aufgefuhrt. Um diese und

11

Page 18: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2. Grundlagen

weitere Besonderheiten bei der Entwicklung des Algorithmus fur das Anwendungs-gebiet der Medizin in einem großeren Umfang berucksichtigen zu konnen, mussteenger mit dem medizinischen Gebiet zusammengearbeitet werden um ein großeresWissen bzw. Verstandnis uber den Aufbau der DNA-Sequenzen zu erlangen. Dieswar im Laufe der Diplomarbeit nicht ohne weiteres moglich. Um einen großerenEinblick uber den besonderen Aufbau der DNA-Sequenzen und die Verteilungder Teilsequenzen zu bekommen und Annahmen bei der Entwicklung der Algo-rithmen machen zu konnen, werden Zufallssequenzen mit demselben Alphabet(Π = {A,C,G, T}) erzeugt. Die Bestimmung der Pattern und ihrer statistischenInformationen, wie beispielsweise der Haufigkeit des Auftretens und der Frequenzder Pattern von Zufallssequenzen, wird mit denen der DNA-Sequenzen verglichen.Diese Auswertungen findet man in Kapitel 7.

Zufallssequenzen werden mit zweierlei Verfahren bestimmt, mit der inneren Java-Klasse Random und mit dem Verfahren von Knuth, das nachfolgend vorgestelltwird. Mit dem Verfahren von Knuth [5] werden vorerst Zufallszahlen erzeugt, diejeweils einem Zeichen z des Patternalphabets (z ∈ Π) zugeordnet werden. Die vomAlgorithmus erzeugten Zufallszahlen sind Werte vom Datentyp Integer im Bereichvon 0 bis 230 − 1. Da |Π| = 4 ist, reicht es also vollkommen aus, nur zwei Bitsdes Integer-Wertes zu betrachten. Knuth empfiehlt die hochstwertigsten Bits zubenutzen. In dem hier vorliegenden Fall werden also die beiden Bits 29 und 30gewahlt und die mit ihnen darstellbaren Informationen den Elementen des Alpha-bets zugeordnet. Um langere Sequenzen zu erzeugen wird empfohlen jeweils 1009Zahlen hintereinander zu generieren und jeweils nur die ersten 100 zu verwenden.Im Folgenden wird das zugrunde liegende Verfahren genauer beschrieben.

Verfahren von Knuth

Knuth schlagt in [5] mehrere Verfahren vor, Zufallszahlen zu erzeugen. Das fur denhier vorliegenden Fall notwendige Verfahren erzeugt ein Array von n Zufallszahlen,fur n ≥ 100, jedoch fur n > 1000 empfohlen. Die ersten 100 Zufallszahlen werdenvorgegeben. Diese konnen mit einem

”einfacheren“ Verfahren bestimmt werden.

Bei diesem wird die erste Zahl, als Seed bezeichnet, vorgegeben und mit Hilfedes von Knuth hierfur vorgestellten Algorithmus berechnet. Aus den 100 erzeug-ten Zufallszahlen werden die darauf folgenden Xj aus jeweils zwei dieser Zahlenermittelt

Xj = (Xj−l −Xj−k) mod m mit 0 ≤ k < l ≤ 99.

Knuth wahlt in seinem Beispiel l = 100, k = 37 und m = 230. Fur m wirdempfohlen einen Wert nahe der Wortlange des Rechners zu verwenden, ohne dassein Uberlauf beim Zwischenergebnis auftreten kann (empfohlen m ≥ 230).

Will man mehrere unterschiedliche Zufallssequenzen erzeugen, so wahle man un-terschiedliche Seeds. Der Algorithmus gewahrleistet, dass sich dadurch die ersten

12

Page 19: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2.2. Erzeugen von Zufallssequenzen

100 Zufallszahlen unterscheiden und damit auch die komplette Reihenfolge der mitdiesen Seeds erzeugten Zufallszahl-Sequenzen anders ist. Um den Seed mit jeweilsunterschiedlichen Werten zu initialisieren, verwende man die vergangene Zeit inz.B. Nano-Sekunden zu einem festen Datum.

Zum Erzeugen der DNA-Sequenzen wird dem C-Programm als Argument dieLange der Sequenz ubergeben. Die zufallig erzeugte Sequenz wird auf der Kon-sole ausgegeben.

Die Vorteile des von Knuth vorgeschlagenen Verfahrens im Vergleich zu anderenZufallssequenzen werden in Kapitel 7 diskutiert.

13

Page 20: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

2. Grundlagen

14

Page 21: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. AlgorithmischeProblembeschreibung

Der fur die Bestimmung der Markersatze fur mehrere Bakteriensequenzenbenotigte Algorithmus kann in mehrere Schritte gegliedert werden. Bevor Markeruberhaupt bestimmt werden konnen, mussen die dafur in Frage kommenden Teil-zeichenketten, die Pattern, bestimmt werden. Der erste Schritt des Algorithmusware also das Klassifizieren aller Pattern, die in dem zu untersuchenden Bakterien-genom existieren. Dabei kann man sicherlich alle moglichen Pattern unterschied-licher Lange betrachten. Sowohl aus Speicherplatz-Grunden als auch wegen derBeschrankung der Lange der vorgegebenen Reads aus dem Probenmaterial ist essinnvoll nur Pattern einer bestimmten Lange m und eventuell alle kurzeren Patternzu betrachten. Zu jedem Pattern werden statistische Informationen bestimmt, anHand derer Aussagen daruber gemacht werden konnen, wie

”gut“ sich das Pattern

als Marker eignet.

Ein weiterer Schritt in dem zu entwickelnden Algorithmus ist die Betrachtung derSequenzierungsfehler. Diese Fehler-Stellen in der Sequenz mussen besonders be-handelt werden. Sie mussen erkannt und im optimal Fall durch eine der Basenersetzt werden. Dabei ist es wichtig, dass die Losung des Problems eine moglichstniedrige Fehlerwahrscheinlichkeit besitzt, um die Abfolge der Basen in der Bakte-riensequenz nicht zu verfalschen.

Ein mogliches Pattern ist ein Wort uber dem Patternalphabet Π. Das Eingabe-alphabet Σ ist großer als Π. Es enthalt beispielsweise Sequenzierungsfehler, diedurch ein N ∈ Σ dargestellt werden. Das Eingabealphabet stellt die Zeichen dar,die beim Verarbeiten von vorgegebenen Zeichenketten eingelesen werden. Fur dieBestimmung von Markern ist nur das Patternalphabet von Interesse. Die folgendeDefinition widmet sich den restlichen Elemente von Σ:

Definition 3.0.1

Ein Zeichen s, fur das gilt s ∈ {Σ \ Π} bezeichnet man als Stopp-Zeichen.

Beim Lesen eines solchen Zeichens muss zur Laufzeit eine bestimmte, dem Zeichenvordefinierte, Aktion ausgefuhrt werden, die dafur sorgt, dass das Stopp-Zeichenentweder entfernt oder durch Elemente des Patternalphabets ersetzt wird.

Es werden die Pattern zu jedem Bakteriengenom bestimmt. Um aus allen Pat-

15

Page 22: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. Algorithmische Problembeschreibung

tern die besten als Marker auszuwahlen, mussen die Pattern fur alle gegebenenBakteriengenome betrachtet werden. Um alle notigen Bedingungen fur einen Mar-ker zu erfullen, fehlt unter anderem die Eigenschaft der Uberreprasentiertheit desPatterns. Um diese und andere Eigenschaften bei der Selektion der Marker zuberucksichtigen, werden in Kapitel 5 einige Ideen dazu vorgestellt. Bei der Se-lektion sollen sogenannte Heuristiken behilflich sein, die jedes Pattern auf eineTragermenge abbilden. In Tabelle 3.1 sind die Ideen fur den zu entwickelnden Al-gorithmus in Kurze dargestellt. Die einzelnen Schritte sind in den nachfolgendenAbschnitten erlautert.

Tabelle 3.1.: Algorithmus

Vorgaben: Eingabealphabet Σ, Patternalphabet Π ⊆ Σ

Eingabe: • Menge an Bakteriensequenzen B = {b1, . . . , bk}

Ausgabe:• Menge der Marker (Markersatze) zu den einzelnen Bakte-

rien, die mit einer Heuristik aus den Pattern ausgewahltwerden.

Algorithmus:

1. Durchfuhrung der folgenden beiden Schritte fur alle Bak-teriensequenzen b1, . . . , bk:

2. Bestimmung aller Pattern und der statistischen Informa-tionen der Pattern

3. Berucksichtigung der Sequenzierungsfehler in der DNA-Sequenz

4. Betrachtung der statistischen Informationen zu den Pat-tern der einzelnen Bakteriensequenzen

5. Auswahl der besten Pattern mit Hilfe einer Heuristik

3.1. Beschrankung der Pattern-Lange

Aus den in Schritt 2 bestimmten Pattern werden durch Selektion Marker aus-gewahlt. Marker sind also ausgewahlte Pattern. Da die Lange der Reads, in denen

16

Page 23: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3.1. Beschrankung der Pattern-Lange

Marker gesucht werden, beschrankt ist, werden nur Marker bis zu einer bestimm-ten Lange betrachtet. Die Lange der Pattern kann durch zwei Vorgehen beschranktwerden, entweder man betrachtet Pattern fur eine feste Lange m, oder es werdenauch alle kurzeren Pattern betrachtet, fur deren Lange u gilt 1 ≤ u ≤ m. Furdiese zwei Betrachtungsweisen werden zwei unterschiedliche Algorithmen fur dieBestimmung der Pattern vorgestellt.

In den vorherigen Arbeiten wurden Marker der Lange 8 bis 14 Basenpaare alssinnvoll erachtet. In dieser Diplomarbeit wird mit Mitteln der Stochastik gezeigt,welche Pattern-Langen mit der hochsten Wahrscheinlichkeit einen guten Markerdarstellen.

In diesem Unterkapitel sei angenommen, dass keine Sequenzierungsfehler in derBakteriensequenz vorhanden sind:

Annahme: Σ = Π

Um nun Pattern (bis zu) einer bestimmten Lange zu bestimmen, geht man folgen-dermaßen vor: Die Bakteriensequenz bjfur1 ≤ j ≤ k wird von links nach rechtsgelesen und verarbeitet.

Abbildung 3.1.: Einlesen der Sequenz

Es wird das erste Pattern der Lange m, also bj[1 .. m] bestimmt und in die Da-tenstruktur fur die Patternklassifizierung (Pattern-Tabelle bzw. Suffix-Baum) ein-getragen. Ist das Pattern bereits vorhanden, so werden lediglich die statistischenInformationen, beispielsweise die Pattern-Haufigkeit, zu diesem Pattern aktuali-siert. Man wahle nun das nachste Pattern bj[2 .. m+ 1] und fuge dieses ein usw..Mit diesem Vorgehen erhalt man alle Pattern der Bakteriensequenz bj. Damitwird eine Einschrankung der Gesamtheit aller Pattern auf eine Bakteriensequenzerreicht.

Die Menge aller Pattern, die mindestens einmal in der Bakteriensequenz bj, fur1 ≤ j ≤ k, auftreten ist

{p | p = bj[i .. i+m− 1] fur 1 ≤ i ≤ n−m+ 1, |bj| = n}.

Die Menge aller Pattern einer Lange kleiner gleich der Lange m ist dann

{p | p = bj[i .. i+ u− 1] fur 1 ≤ i ≤ n− u+ 1, |bj| = n, 1 ≤ u ≤ m}.

Danach sind alle Pattern mit den zugehorigen Informationen (bis zu) einer be-stimmten Lange in der Datenstruktur enthalten. In diesem Abschnitt wurde vor-

17

Page 24: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. Algorithmische Problembeschreibung

erst angenommen, dass keine Sequenzierungsfehler in den betrachteten Bakterien-sequenzen auftreten. Die Bestimmung der Pattern einer Sequenz, die Sequenzie-rungsfehler enthalt, ist Inhalt des folgenden Abschnitts.

3.2. Berucksichtigung der Sequenzierungsfehler

Wie schon in Abschnitt 2.1 erlautert, deutet ein N in der DNA-Sequenz auf einenSequenzierungsfehler hin. An dieser Stelle konnte die Base nicht genau bestimmtwerden, und somit steht das Stopp-Zeichen N fur eine der vier moglichen Basen.Fur die Bestimmung der Pattern ist hier wichtig, dass die Sequenzierungsfehlerentfernt werden, entweder durch das Ersetzen von N durch ein Element von Πoder weglassen des N ’s und Berucksichtigung der Pattern, die das N enthalten.

Abbildung 3.2.: Einlesen des Stopp-Zeichens N , |p| = m

In Abbildung 3.2 ist das Auftreten eines Stopp-Zeichens innerhalb einer Bakterien-sequenz zu sehen. Tritt ein Stopp-Zeichen das erste Mal an Position m einer Teil-sequenz der Lange m der betrachteten Bakteriensequenz auf, so gibt es genau maufeinander folgende Teilsequenzen der Lange m, die das Stopp-Zeichen enthal-ten. Die erste Teilsequenz enthalt das Stopp-Zeichen an Position m, die zweiteTeilsequenz an Position m− 1 usw. und die m-te Teilsequenz Position 1.

Fur ein auftretendes Stopp-Zeichen existieren also m Teilsequenzen, die diesesenthalten, wobei die Teilsequenzen nicht notwendigerweise unterschiedlich seinmussen. Man sieht, dass die Anzahl der Teilsequenzen im Vergleich zu der Anzahlder Stopp-Zeichen im schlechtesten Fall m Mal so hoch ist. Treten also Sequen-zierungsfehler haufig auf, so ist es umso wichtiger bei der Entfernung der Stopp-Zeichen die Fehlerwahrscheinlichkeit moglichst gering zu halten, um die Markernicht zu

”verfalschen“.

Bei einer Annahme der Gleichverteilung der Zeichen des Patternalphabets gibt esfur die Losung des Problems mehrere Moglichkeiten:

Fall 1: Das Stopp-Zeichen wird durch jede der vier Basen ersetzt. Es mussten alsoalle vier Kombinationen gespeichert werden. Dies wurde aber bedeuten, dassdie Werte, die ein N interpretieren, zu 3/4 verfalscht waren.

Fall 2: Man fallt die Entscheidung gleich beim Lesen des N ’s und entscheidet sichfur eine der vier moglichen Basen. Dies wurde bei gleich verteilten Zeichen

18

Page 25: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3.2. Berucksichtigung der Sequenzierungsfehler

keine besseren Werte als Fall 1 liefern und ware somit auch zu 3/4 falsch.

Fall 3: Beim Lesen des Stopp-Zeichens lasst man dieses Zeichen außen vor.Das bedeutet jedoch, dass genau m Teilsequenzen, die ohne Auftretendes Sequenzierungsfehlers ein Pattern darstellen wurden, uberlesen undnicht betrachtet werden. Damit erreicht man, dass nur Pattern ohne Fehlerberucksichtigt werden. Jedoch werden dann m Pattern bzw. die statistischenInformationen zu den jeweiligen Pattern, wenn das Pattern bereits in derBakteriensequenz enthalten war, nicht betrachtet.

Zur Verdeutlichung der Problematik sollen folgende Beispiele behilflich sein, indenen eine kurze Sequenz ohne und mit Sequenzierungsfehlern auf die enthaltenenPattern hin untersucht wird:

Beispiel 3.2.1

Es sei folgende kurze DNA-Sequenz gegeben: TCAGTCAG. Gesucht wirddas Auftreten aller Pattern p der Lange |p| = 4. Die Sequenz enthalt keineStopp-Zeichen. Es werden folgende Pattern gefunden:

Tabelle 3.2.: Pattern der Sequenz ohne Stopp-Zeichen

Bezeichnung Patternp1 TCAGp2 CAGTp3 AGTCp4 GTCAp5 TCAG

Das Pattern TCAG tritt zwei Mal und damit am haufigsten auf. Die Anzahl allermoglichen in einer Sequenz der Lange n enthaltenen, nicht notwendig unterschied-licher Pattern der Lange m betragt n−m + 1. In dem hier betrachteten Beispielist die Anzahl gleich 5.

Beispiel 3.2.2

Es sei die gleiche DNA-Sequenz gegeben, eine Stelle der Sequenz sei geandert (sie-he Beispiel 3.1) und mit einem Stopp-Zeichen N gekennzeichnet: TNAGTCAG.Zu berucksichtigen ist in dem Beispiel, dass sich die Position des Stopp-Zeichensam Rande befindet und somit einen Sonderfall des oben betrachteten Falles dar-stellt. Die Anzahl der nicht notwendig unterschiedlichen Teilsequenzen, die einenSequenzierungsfehler enthalten, ist geringer, als wenn sich der Sequenzierungsfeh-ler an Position i zwischen i = m, . . . , n−m+ 1 befindet. Betrachtet man die oben

19

Page 26: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. Algorithmische Problembeschreibung

aufgefuhrten Falle 1 bis 3 zur Berucksichtigung der Stopp-Zeichen, so erhalt manfolgende Pattern:

Zu Fall 1: Alle Pattern die das N enthalten werden durch jedes Element des Al-phabets ersetzt, da unbekannt ist, welche Base (Element von Π) durch das Ndargestellt wird. Statt der funf Pattern, die man beim Vorliegen der richtigenSequenz erhalten hatte, treten hier weitere sechs Pattern, die in der richtigenSequenz nicht auftreten (siehe Tabelle 3.3), auf. Diese Pattern werden hierals falsche Pattern bezeichnet, da sie in der ursprunglichen Sequenz nichtenthalten sind. Fehlende Pattern sind Pattern, die in der ursprunglichen Se-quenz vorhanden sind und nach dem jeweiligen betrachteten Fall nicht mehrvertreten sind.

Nach Fall 1 sind also mehr falsche als richtige Pattern bestimmt worden.

Tabelle 3.3.: Verarbeitung der Stopp-Zeichen nach Fall 1

Bezeichnung richtige falsche fehlendePattern Pattern Pattern

p11 TAAGp12 TCAGp13 TGAGp14 TTAGp21 AAGTp22 CAGTp23 GAGTp24 TAGTp3 AGTCp4 GTCAp5 TCAG

Zu Fall 2: DasN wird durch ein beliebig gewahltes Element des Patternalphabetsersetzt (man wahle N = A, also ein falsches Element): In dem Fall konnennur drei von funf richtigen Pattern und zwei falsche Pattern ermittelt werden.

Tabelle 3.4.: Verarbeitung der Stopp-Zeichen nach Fall 2

Bezeichnung richtige falsche fehlendePattern Pattern Pattern

p11 TAAGp1 TCAGp21 AAGTp2 CAGTp3 AGTCp4 GTCAp5 TCAG

20

Page 27: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3.2. Berucksichtigung der Sequenzierungsfehler

Zu Fall 3: Jede Teilsequenz, welche das N enthalt, wird ignoriert und nicht alsPattern erkannt. Es werden insgesamt drei der funf richtigen Pattern ermit-telt. Falsche Pattern werden nicht ermittelt.

Tabelle 3.5.: Verarbeitung der Stopp-Zeichen nach Fall 3

Bezeichnung richtige falsche fehlendePattern Pattern Pattern

p1 TCAGp2 CAGTp3 AGTCp4 GTCAp5 TCAG

An diesem Beispiel, welches so einfach wie moglich gehalten wurde, ist dasVerhaltnis zwischen richtigen und falschen Pattern bei den einzelnen Moglichkeitender Berucksichtigung der N ’s dargestellt. Das Beispiel stellt, da das Stopp-Zeichenam Anfang der Sequenz auftritt, einen Sonderfall dar, denn in diesem Fall ist dieAnzahl der Pattern, die das Stopp-Zeichen enthalten, ungleich der Lange des Pat-tern. Es wird klar, dass bei Fall 1 und 2 falsche Pattern ermittelt werden. In Fall 3treten nur richtige Pattern auf, jedoch nicht alle, die in der Ausgangssituation ohneStopp-Zeichen gefunden wurden. Richtige Pattern auszulassen ist bei der Betrach-tung der DNA-Sequenzen zwar nicht optimal, verfalscht das Verhaltnis der Patternbei einer Gleichverteilung der N ’s jedoch nur zu einem sehr geringen Anteil. DerSchwellwert fur die Pattern-Haufigkeit fur die Wahl des jeweiligen Markers sinktlediglich. Es werden also weniger Auftreten der jeweiligen Pattern gebraucht, umals Marker gewahlt zu werden. Deshalb eignet sich der letzte betrachtete Fall furunser Einsatzgebiet am Besten.

Bei der Umsetzung des Algorithmus geht man folgendermaßen vor: Man pruft, obdas im aktuellen Schritt eingelesene Zeichen z ein Stopp-Zeichen ist, also ob giltz ∈ Σ und z /∈ Π. Wenn dies der Fall ist, so muss gepruft werden, ob sich dasZeichen am linken Rand der Bakteriensequenz befindet. Fur den Rand gilt: Seii die Position des Stopp-Zeichens in der Bakteriensequenz, dann gilt i < m. Indiesem Fall werden i erste Zeichen weder eingelesen, noch die Teilsequenzen, diedas Stopp-Zeichen enthalten, betrachtet. Tritt das Stopp-Zeichen nicht am Randauf, so wird jede Teilsequenz, die das Stopp-Zeichen enthalt, ignoriert.

Definition 3.2.3

Die Menge der Pattern einer bestimmten Lange m, die mindestens einmal in bjfur 1 ≤ j ≤ k auftreten, sei definiert durch

Pmj = {p | p = bj [i .. i+m− 1] fur 1 ≤ i ≤ |bj| −m+ 1 und bj [l] ∈ Π fur

i ≤ l ≤ i+m− 1}.

Bei der statistischen Auswertung spielt diese Menge eine wichtige Rolle.

21

Page 28: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. Algorithmische Problembeschreibung

Um die Menge aller Pattern der Lange u bis einschließlich zu einer Lange m zubekommen, definiert man

{p | p = bj [i .. i+ u− 1] fur1 ≤ i ≤ |bj| − u+ 1, bj [l] ∈ Π, i ≤ l ≤ i+m− 1, 1 ≤ u ≤ m}.

3.3. Betrachtung mehrerer Bakterien

Als nachstes sollen die Pattern nicht nur fur eine, sondern fur alle Bakteriensequen-zen b1, . . . , bk bestimmt werden. Ein wichtiges Ziel bei der Betrachtung der Patternist es, Pattern zu finden, die in nur einem Bakterium uberreprasentiert sind. Dasbedeutet, dass die Anzahl der Auftreten dieser Pattern in anderen Bakterien einenbestimmten Schwellwert (siehe Kapitel 7) nicht uberschreiten darf.

Um diese Bedingung prufen zu konnen, mussen die Haufigkeiten der Auftreteneines Patterns in allen gegebenen Bakteriengenomen bestimmt, d.h. alle Patternmit ihren Haufigkeiten in die fur die Bestimmung der Pattern entwickelte Daten-struktur eingefugt werden. Um den direkten Vergleich der Pattern der einzelnenBakteriengenome untereinander zu erhalten, werden diese gleichzeitig in derselbenDatenstruktur betrachtet. Die notwendigen Daten fur den Vergleich der Patternauf ihre

”Gute“ hin, im Folgenden statistische Informationen genannt, wie bei-

spielsweise die Haufigkeit des Auftretens eines Patterns oder der Abstand zweieraufeinander folgender Auftreten des Pattern (Pattern-Frequenz), werden zusatzlichzu jedem Pattern und je Bakteriensequenz gespeichert.

Fur das Einfugen der k vorgegebenen Bakteriensequenzen in die entsprechendeDatenstruktur muss aus diesen vorerst eine einzige lange Sequenz erzeugt werden,aus der die Zugehorigkeit der Teilsequenzen zu den jeweiligen Bakterien dennocherkennbar ist. Diese Sequenz wird ahnlich wie das oben beschriebene Verfahren zueiner einzigen Bakteriensequenz betrachtet.

Definition 3.3.1

Unter einer k-Bakteriensequenz b versteht man eine Zeichenkette, die DNA-Sequenzen von k vorgegebenen Bakterien enthalt und diese kenntlich voneinandertrennt. Die Zeichenkette hat folgende Gestalt: b = b1#b2#b3# . . . bk−1#bk, wobeibi = bi1 bi2 . . . bin fur 1 ≤ i ≤ k eine DNA-Sequenz des i-ten Bakteriums darstelltund # ein Stopp-Zeichen ist (# ∈ Σ und # /∈ Π).

Die Umsetzung dieses Teils des Algorithmus funktioniert ahnlich zu den Stopp-Zeichen N : Das Stopp-Zeichen # wird erkannt und das Auslesen der Pattern ab-gebrochen. Die Patternbestimmung wird nach dem Stopp-Zeichen fortgesetzt. DieAnzahl der bereits gefundenen #-Zeichen gibt die Anzahl der bereits bearbeitetenBakterien und spiegelt somit die Zugehorigkeit zu einem Bakterium wieder, wobeidie Anzahl der #-Zeichen am Anfang mit

”1“ initialisiert wird.

22

Page 29: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3.4. Statistische Informationen zu einem Pattern

Die Erkennung der Stopp-Zeichen fur 1 ≤ j < k, 1 ≤ i ≤ n − 2m + 1 fur die k-Bakteriensequenz b wird im folgenden in Pseudo-Code dargestellt. Dabei werdennur Pattern der Lange m berucksichtigt. Man nehme an in dem vorherigen Schrittware das Pattern b[i− 1 .. i+m− 2] erkannt worden.

bestimme naechste Zeichenkette b[i .. i + m− 1] {i f (b[i + m− 1] ist ein Stopp -Zeichen ){

switch(b[i + m− 1]){case "‘N"’: Fahre bei der Zeichenkette

b[i + m .. i + 2m− 1] fort , wobeizuerst b[i + m], . . . , b[i + 2m− 1]auf Stopp -Zeichen geprueft werdenmuessen;

case " ‘\#"’: Lese Patternb[i + m ..i + 2m− 1],setze die Anzahl der gelesenen

Bakterien um eins hoch und beginnebei der ersten Zeichenkette dernaechsten Bakteriensequenz;

}}

}

In dem Algorithmus wird die nachste Zeichenkette der Lange m eingelesen. Davorher ein Pattern erkannt wurde, existieren auf den Positionen i, . . . , i + m − 2keine Stopp-Zeichen, da Pattern Worter des Patternalphabets sind. Wird an derPosition i+m−1 in der k-Bakteriensequenz ein Stopp-Zeichen erkannt, so werdenzwei Falle unterschieden: Handelt es sich um einen Sequenzierungsfehler, so wirddie eingelesene und die darauffolgenden m−1 Teilsequenzen ignoriert. Die nachsteZeichenkette, die als Pattern in Frage kommt, ist b[i+m .. i+2m−1], wenn keinesder Zeichen dieser Teilsequenz ein Stopp-Zeichen ist. Handelt es sich an Positioni + m − 1 um das #-Zeichen, so wurde das Ende der aktuellen Bakteriensequenzerreicht. Es wird bei der ersten Position der nachsten Bakteriensequenz mit derPatternsuche weitergemacht.

3.4. Statistische Informationen zu einem Pattern

Fur die Auswahl der Marker aus den zu einer Bakteriensequenz bestimmten Pat-tern, mussen die Pattern vorerst fur jede Bakteriensequenz klassifiziert werden.Aus der Menge Pm

j , fur 1 ≤ j ≤ k mussen pro Bakteriensequenz diejenigen aus-gewahlt werden, mit denen bei der Suche der Marker in den vorgegebenen Readsbestmogliche Ergebnisse erzielt werden. Fur die Klassifizierung werden statisti-sche Informationen verwendet. Diese sind in Form von Kennzahlen gegeben, mitHilfe derer die Auswahl der Marker erfolgt. Fur die Auswahl werden Heuristiken

23

Page 30: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

3. Algorithmische Problembeschreibung

benutzt, die die Kennzahlen dazu verwenden, um die besten Pattern als Markerauszuwahlen und die Eigenschaften, die fur die Marker vorausgesetzt werden, zugarantieren. Welche Kennzahlen von den betrachteten Kennzahlen (siehe Kapitel5) sich fur diese Auswahl der Marker eignen, wird in Kapitel 7.2 vorgestellt.

Eines der wichtigsten Merkmal bei der Auswahl der Marker ist unter anderem dieAuftrittshaufigkeit. Es gibt verschiedene Strategien, wie man Marker unter ande-rem mit Hilfe der Auftrittshaufigkeit bestimmen kann bzw. welche Bedingungenfur die Auftrittshaufigkeit ein Pattern in der betrachteten und in allen anderenBakteriensequenzen erfullen muss, um als Marker in Frage zu kommen.

Will man lediglich eine feste Anzahl der Pattern fur jedes Bakteriengenom erhal-ten, welche in diesem uberreprasentiert sind, d.h. in anderen Bakteriengenomeneinen Schwellwert nicht uberschreiten, so reicht es vollig aus fur dieses Patterndie hochste und zweithochste Auftrittshaufigkeit zu speichern (siehe Kapitel 5).Anhand dieser beiden Werte kann man bestimmen, ob die Bedingung erfullt istund der zweithochste Wert somit unter dem Schwellwert liegt, oder nicht.

3.5. Auswahl der besten Pattern als Marker

Es kann nach verschiedenen Verfahren bei der Wahl der Marker vorgegangen wer-den. Beispielsweise kann vorher festgelegt werden, welche Anzahl c der Markerfur ein Bakteriengenom bestimmt werden sollen. Es werden dann c beste Markermit Hilfe der statistischen Werte fur jedes Bakteriengenom selektiert, wenn sovieleMarker vorhanden sind. Ein weiteres Verfahren konnte sein, dass man bei der Be-stimmung der Marker die Lange dieser variabel lasst. Sobald fur ein Pattern einebestimmte Qualitat erreicht ist, und langere Pattern keine bessere Qualitat, imVerhaltnis zu der Lange, liefern, so wird das Pattern als Marker gewahlt (naheressiehe Kapitel 5). Die Werte, die bei der Wahl der Marker betrachtet werden, musseneinheitlich definiert und in das Verhaltnis zueinander gesetzt werden konnen. Heu-ristiken verwenden fur die Wahl der Marker statistischen Informationen und seienfolgendermaßen definiert:

Definition 3.5.1

Eine Heuristik ist eine Funktion f : Pmk → T+, die jedes Pattern aus der Menge

{Pmi | 1 ≤ i ≤ k} auf eine Tragermenge, eine geordnete Menge, T+ abbildet. T

kann beispielsweise R oder N sein.

Die Umsetzung des Algorithmus, welcher in diesem Kapitel formal vorgestelltewurde und die entwickelten Datenstrukturen fur die Patternbestimmung werdenin den folgenden Kapiteln genauer beschrieben.

24

Page 31: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zurPatternbestimmung

In Kapitel 3 wurden die grundlegenden Ideen fur den Algorithmus vorgestellt. Eswurde erlautert, welche Schritte der Algorithmus durchlaufen muss, um aus denvorgegebenen Bakteriensequenzen fur jedes einzelne Bakterium die Markersatzezu bekommen. Darauf aufbauend muss eine Datenstruktur entwickelt werden, diePattern fur alle vorgegebenen Bakterien mit ihren statistischen Informationen be-stimmt. Aus allen moglichen Pattern muss im nachsten Schritt selektiert werden,welche der Pattern als Marker fur ein bestimmtes Bakterium verwendet werdenkonnen. Dabei sollen Heuristiken behilflich sein (siehe Kapitel 5.2).

Besonderheiten der Aufgabenstellung und ihre Umsetzung:

• Es liegt ein relativ kleines Patternalphabet |Π| = 4 vor, da nur 4 Basen ineiner DNA-Sequenz auftreten. Fur die Basis gilt basis = |Π| = 4.

• Wann genau ein Pattern als”uberreprasentiert“ betrachtet wird, kann vorher

nicht entschieden werden. Es fehlen statistische Werte, die belegen, wie oftPattern in den einzelnen Bakteriensequenzen auftreten, also wie die Vertei-lung der Teilzeichenketten von DNA-Sequenzen ist. Dies muss an Hand vonErgebnissen bestimmt werden (siehe Kapitel 7). Basierend auf statistischenInformationen zu jedem Pattern werden dann Heuristiken gebildet, die jedemPattern einen Wert zuweisen. Die Auswertung dieser Werte soll zeigen, wieVariablen, bspw. Lange oder Auftreten der Pattern, gewahlt werden mussenum statistisch gesehen die besten Ergebnisse zu liefern.

• Der hier vorgestellte Algorithmus ist primar auf das Anwendungsgebiet derMedizin angepasst, jedoch ist die Implementierung so, dass die Algorith-men jederzeit leicht verandert werden konnen, um dann fur jede beliebigeZeichenkette und das zugehorige Alphabet, die jeweils vorgegeben werden,charakteristische Teilzeichenketten bestimmen zu konnen. Die Laufzeit- undder Speicherplatzbedarf andern sich bei Zeichenketten mit anderen Alpha-beten, da diese fur die Anforderungen an das vorliegende Anwendungsgebietso passend wie moglich gewahlt wurden.

Fur die Bestimmung der Pattern und ihrer statistischen Informationen werden imFolgenden mehrere Verfahren vorgestellt, angefangen bei einer einfachen Tabelle,in der jedes Pattern einen vorher definierten Tabellenplatz bekommt.

Es folgen die Suffix-Baume in Abschnitt 4.2, die eine Suche nach Mustern in ei-

25

Page 32: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Tabelle 4.1.: Zuordnung der Zeichen des Patternalphabets zu int-Zahlen

A 0C 1G 2T 3

ner Zeichenkette ermoglichen. In Abschnitt 4.3 wird die Anpassung der Suffix-Baume mit Hilfe der ermittelten Anforderungen an den Algorithmus vorgestellt.Es wird mit Hilfe der in der vorgestellten notwendigen Schritte des Algorithmusdas Laufzeit- und Speicherplatz-Verhalten der Suffix-Baume verbessert.

Als letztes werden in diesem Kapitel (Abschnitt 4.4) die Suffix-Arrays, eine weiteremogliche Datenstruktur zur Bestimmung gleicher Teilsequenzen einer Zeichenket-te, vorgestellt, die ahnlich zu den Suffix-Baumen relativ erfolgversprechend er-scheint.

Im Weiteren werden die Indizes folgendermaßen codiert (siehe Tabelle 4.1): Wirdim Folgenden w[i] fur eine Sequenz w mit |w| = n und 1 ≤ i ≤ n verwendet, so istentsprechend ein der in der Tabelle dem Zeichen zugeordnete Zahl 0− 3 gemeint.

4.1. Pattern-Tabelle

Die erste grundlegende Idee zur Patternbestimmung ist eine einfache Tabelle, beider jedes Pattern auf einen eindeutigen Hash-Wert(Tabellenplatz) abgebildet wird.Mit Hilfe des Hash-Wertes werden verschiedene Pattern auf verschiedene Tabellen-platze verteilt. Der Vorteil fur den Speicherplatzverbrauch hierbei ist, dass fur einPattern nicht die Patternsequenz selbst gespeichert werden muss, die das Patterndarstellt, sondern nur der Hash-Wert, der die Informationen der Zeichenkette idealkodiert. Bei den beiden im Folgenden vorgestellten Pattern-Tabellen nehme manan, dass die betrachteten Bakteriensequenz keine Sequenzierungsfehler enthalten.Die Entfernung von Sequenzierungsfehlern ist bereits in Kapitel 3.2 beschrieben.

Mit Hilfe des Positionswertes kann durch eine eindeutige Zuordnung die Zeichen-kette, die das Pattern darstellt, berechnet werden. Die Eintrage der Tabellenplatzesind die statistischen Informationen pro Bakteriensequenz.

Die Vorteile dieser Technik sind:

• spart Speicherplatz fur kurze Pattern,

• ist effizient, wenn man nur eine Pattern-Lange benotigt,

• der Positionswert des darauf folgenden gelesenen Patterns, welches in derBakteriensequenz um eine Stelle verschoben ist, lasst sich sehr einfach ausder vorherigen Positionswert berechnen (Idee von Karp-Rabin).

26

Page 33: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.1. Pattern-Tabelle

Die Nachteile sind:

• bei Betrachtung langerer Pattern wachst der Speicherplatzverbrauch fur dieTabelle exponentiell,

• der Fullgrad, also die Anzahl der Tabelleneintrage im Verhaltnis zu der Ge-samtanzahl der Tabelleneintrage, wird, bei der Vergroßerung der Lange derPattern, geringer. Die Anzahl der leeren Tabellenplatze steigt somit mit derLange der Pattern.

Eine Pattern-Tabelle soll alle in einer Bakteriensequenz auftretenden Pattern mitden zugehorigen statistischen Informationen enthalten. Nach der Patternbestim-mung folgt die Wahl der besten Pattern als Marker. Dafur werden in Kapitel 5 zweiVerfahren vorgestellt. Ein Verfahren, bei dem eine feste Pattern-Lange vorgegebenwird, das andere, das die Lange dynamisch aus den statistischen Informationenbestimmt. Fur diese beiden Verfahren eignen sich zwei unterschiedliche Pattern-Tabellen. In der einen werden nur Pattern einer bestimmten Lange betrachtet, dieandere enthalt alle Pattern bis zu einer Lange, d.h. alle kurzeren Pattern sind auchin der Tabelle zu finden. Die beiden Moglichkeiten werden nachfolgend erlautert:

4.1.1. Pattern-Tabelle aller Pattern einer Lange m

Es werden Pattern einer festen Pattern-Lange m aus einer Bakteriensequenz aus-gelesen. Die Anzahl aller moglichen Pattern einer Lange m ist basism. Um alleKombinationen dieser Lange speichern zu konnen, wird eine Tabelle der Langebasism erzeugt. Jeder Eintrag stellt ein mogliches Pattern dar. Jedem Patternp ∈ Πm wird ein fester Tabellenplatz zugewiesen.

Tabelle 4.2.: Idee der Pattern-Tabelle

Position Pattern0 AA . . . A1 CA . . . A2 GA . . . A3 TA . . . A4 AC . . . A. . . . . .basism − 1 T . . . TT

Die Zuordnung der Pattern zu je einem Tabellenplatz, und umgekehrt, ist in Ta-belle 4.2 dargestellt, wobei die Patternsequenz nicht mit abgespeichert wird.

Die erste Einfugeposition des Pattern w[i − m + 1 .. i] der Lange m wird auf

27

Page 34: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

folgende Weise berechnet:

posi−m+1 =m−1∑j=0

w[i−m+ 1 + j] ∗ basisj

, fur m ≤ i ≤ n wobei |p| = m gilt.

Die Position des darauf folgenden Patterns, in der betrachteten Sequenz eine Stelleweiter rechts (siehe Abbildung 4.1), wird mit Hilfe des vorherigen Positionswertesposi berechnet:

posi−m+2 =(posi−m+1 − w[i−m+ 1])

basis+ w[i+ 1] ∗ basism−1.

Zuerst wird die erste Stelle des vorherigen Patterns von dem vorherigen Positions-wert subtrahiert. Der Quotient der Differenz und der Alphabet-Lange bewirkt eineVerschiebung des Pattern-Bereiches um eine Stelle weiter nach rechts. Als letztesmuss noch der Wert des neu hinzugekommenen Zeichens berechnet und addiert.Mit dieser Strategie verhindert man, dass fur jedes einzelne Pattern der Lange mdie Werte immer wieder von Neuem berechnet werden mussen.

Abbildung 4.1.: Ablesen eines Patterns in der DNA-Sequenz

Pseudocode

Der Algorithmus soll mit Hilfe von Pseudocode erlautert werden. Die Pattern-Tabelle wird fur die vorgegebene Pattern-Lange m und das Wort w konstruiert.Fur w[1 .. m] wird der Hashcode berechnet und das Pattern an den berechnetenTabellenplatz eingefugt. Fur die restlichen Pattern muss der vorherige Hashcode

”rehashed“ werden, um den Hashcode des Patterns zu bekommen, welches die

Lange m hat und sich ein Zeichen weiter rechts in der Bakteriensequenz befindet.

class patternTable{construct(m, w){

//Vor in i t ia l i s i erung

//Berechne ersten Hashcodefor (i = 1; i ≤ m; i + +){

28

Page 35: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.1. Pattern-Tabelle

hashCode = hashCode + w[i] ∗ basisi−1;}

for (i = m; i ≤ |w|; i + +){Fuege Pattern w[i−m + 1 .. i] an Position

hashCode ein;\\ RehashinghashCode =(hashCode− w[i−m + 1])/basis + w[i + 1] ∗ basism−1;

}}

}

4.1.2. Pattern-Tabelle aller Pattern bis zu einer Lange m

Wenn man nicht eine fest vorgegebene Pattern-Lange fur die Marker wahlt, son-dern die Marker mit unterschiedlicher Lange gewahlt werden sollen, so ist es not-wendig alle Pattern bis zu einer bestimmten Lange m zu betrachten. Dann kannbei kurzeren Pattern pk genau bestimmt werden, ob diese bessere Marker sind, alswenn man langere Pattern pl = pkw wahlen wurde, mit der gleichen Zeichenkettepk als Prafix. Fur dieses Verfahren eignet sich eine Tabelle, die alle Pattern bis zueiner bestimmten Lange m enthalt. Das Prinzip ist dasselbe wie bei der oberenTabelle, nur dass sich der Tabellenplatz eines Patterns aus dem Tabellenplatz derjeweiligen Lange und den Tabellenplatzen der kurzeren Langen berechnen lasst.Man fangt mit der Lange 1 an, fur die es genau basis1 Positionen gibt. Fur dieLange u gibt es basisu unterschiedliche Pattern. Abbildung 4.3 verdeutlicht dieZusammensetzung der Tabellenplatze, wobei auch hier die Zeichen des Alphabetsals Zahlen codiert werden.

Der Tabellenplatz fur ein Pattern p der Lange |p| = m berechnet sich dann ausder Summe der fur die kurzeren Pattern benotigten Tabellenplatze (

∑u−1j=1 basis

j)

und der Tabellenplatze fur das Pattern der Lange m (∑u−1

j=0 w[i+ j] ∗ basisj), alsoder in Abschnitt 4.1.1 berechnete Tabellenwert. Mit posi,u wird der Tabellenplatzfur das Pattern w[i .. i+ u− 1] der Lange u berechnet.

posi,u =u−1∑j=1

basisj +u−1∑j=0

w[i+ j] ∗ basisj

=

(u−1∑j=0

basisj

)− 1 +

(u−1∑j=0

w[i+ j] ∗ basisj

)

=

(u−1∑j=0

(1 + w[i+ j]) ∗ basisj

)− 1

29

Page 36: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Tabelle 4.3.: Idee der Tabelle mit allen Pattern bis zu einer bestimmten Lange m

Index Pattern0 A1 C2 G3 T4 AA5 CA. . . . . .19 AAA20 CAA. . . . . .50 TTT51 AAAA. . . . . .

Beim Einfugen aller Pattern in die Tabelle geht man wie oben vor (siehe Abbildung4.1), nur dass jeweils auch alle kurzeren Pattern fur 1 ≤ u < m mit betrachtet wer-den. Die statistischen Informationen mussen, genauso wie bei der Pattern-Tabellefur Pattern einer Lange, in jedem Schritt aktualisiert werden.

Die Große der Tabelle fur alle Pattern-Langen m ist die Machtigkeit der Menge:∑mj=1 basis

j

Abbildung 4.2.: Berechnung der fur die Langen 1, . . . , u benotigten Positionen inder Tabelle. Zusatzlich muss die Position in der jeweiligen Langeberechnet werden.

Pseudocode

Fur die Konstruktion der Pattern-Tabelle aller Pattern bis zu einer Lange m furein Wort w werden fur jede Position i in der Bakteriensequenz, angefangen bei derLange u = 1, die Hashcodes der Pattern der Langen 1, . . . ,m bestimmt. Es mussin jedem Schritt rehashed werden. Der Wert fur die benotigte Anzahl der Positio-nen fur die Pattern der Langen 1, . . . , u − 1, (sizeBefore) wird in jedem Schrittberechnet und bei der Berechnung des Hashcodes fur die Lange u mitverwendet.

30

Page 37: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.1. Pattern-Tabelle

In Abbildung 4.2 ist das Pattern der Lange m dargestellt. Alle kurzeren Patternmussen in der Pattern-Tabelle auch betrachtet werden.

class AllPatternTable{construct(m, w){

//Vor in i t ia l i s i erung

for (i = 0; i < |w|; i + +){sizeBefore = 0;

for (u = 1; u ≤ m, u + +){i f (i + u > |w|) break;

//immer wieder hashenhashCode = sizeBefore + w[i + u] ∗ basisu−1;

Fuege Pattern w[i + 1 .. i + u] an PositionhashCode ein;

sizeBefore = sizeBefore + basisu;}

}}

}

Bei der Pattern-Tabelle der Pattern bis zu einer Langemmuss der Hashcode immerwieder neu berechnet werden. Man durchlauft das Wort von der ersten Position biszur Lange des Wortes. Fur jede Position i gibt es genaum Pattern unterschiedlicherLangen, und zwar eins fur jede der Langen u = 1, . . . ,m. Fur jedes Pattern wirdder Hashcode aus dem vorherigen Hashcode berechnet: posi,u+1 = posi,u +basisu +w[i + u]basisu. Mit dieser Formel konnen Teilsequenzen bestimmt werden, dieein Zeichen langer sind als das betrachtete Pattern. Dafur fugt man fur w[i +u] nacheinander jedes Zeichen des Alphabets ein und erhalt genau |Π| mogliche

”Nachfolger“, die das Pattern als Prafix haben. Ist an dem jeweiligen berechneten

Tabellenplatz ein Eintrag enthalten, dann gibt es in der betrachteten Zeichenketteeine Teilzeichenkette, die das Pattern, welches sich an dem Tabellenplatz posi,u

befindet, als Prafix enthalt.

Die vorgestellten Pattern-Tabellen sind ein einfaches Verfahren um alle Patterneiner Zeichenkette zu betrachten und vergleichen zu konnen, zum einen fur einefeste Lange und zum anderen fur variable Langen bis zu einer Lange m, wobei hierdie Informationen zu den langeren Teilsequenzen ausgenutzt werden konnen.

31

Page 38: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

4.2. Suffix-Baume

In dieser Diplomarbeit sollen DNA-Sequenzen auf ihre charakteristischen Merkma-le hin untersucht werden. Dazu mussen alle Teilsequenzen einer Bakteriensequenzbetrachtet werden. Es muss moglich sein, gleiche Teilsequenzen herauszufiltern unddiese mit den Teilsequenzen anderer Bakteriensequenzen zu vergleichen.

Suffix-Baume sind kompakte Baume, die einen Suchbaum fur alle Teilworter ei-nes vorgegebenen Wortes darstellen. Suffix-Baume konnen als Grundlage fur diezu entwickelnde Datenstruktur dienen, mussen jedoch durch Modifikation an dieAufgabenstellung dieser Arbeit angepasst werden. Suffix-Baume gehoren laut [2]zu den am meisten benotigten Implementierungen, haben jedoch eine hohe Not-wendigkeit fur eine bessere Implementierung.

Die Grundlagen der Suffix-Baume sollen hier vorgestellt werden, um darauf aufbau-end auf die fur den Algorithmus notwendigen Anpassungen eingehen zu konnen.

Im restlichen Kapitel der Suffix-Baume werden allgemein Worter uber einem be-liebigen Alphabet betrachtet. Die DNA-Sequenzen stellen eine spezielle Teilmengealler Worter uber einem bestimmten Alphabet dar.

Definition 4.2.1

Ein Wort w der Lange |w| = n ist eine Zeichenkette w = w1 w2 .. wn. Man nennew[j .. i] = wj wj+1 .. wi ein Teilwort bzw. Teilzeichenkette von w fur 0 ≤ i ≤ n,1 ≤ j ≤ n+ 1.

Definition 4.2.2

Ein Suffix Nummer i ist ein Teilwort w[j .. n] von w mit 1 ≤ j ≤ n+ 1. Ein Prafixist ein Teilwort w[1 ..j] mit 0 ≤ j ≤ n.

Suffix-Baume sind kompakte Darstellungen aller Suffixe einer Zeichenkette undsind laut [10] definiert als:

Definition 4.2.3

Ein Suffix-Baum (V,E, µ) fur ein Wort w ∈ Π+ uber dem Alphabet Π ist ein Baum,der aus der Menge (V,E) von Knoten (Vertices) und Kanten (Edges) besteht unddie Markierungsfunktion µ : E → Π+ besitzt.

Es gilt:

• Existieren die Knoten v1 und v2, mit v1 6= v2 und sind (u, v1) ∈ E und(u, v2) ∈ E, dann ist das erste Symbol von µ(u, v1) ungleich dem erstenSymbol von µ(u, v2).

• Der Baum hat genau |w| Blatter, die mit 1, . . . , |w| markiert sind.

• Fur |w| > 1 hat jeder interne Knoten im Suffix-Baum einen Verzweigungs-grad ≥ 2.

32

Page 39: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

• Jeder Knoten u reprasentiert ein Wort ρ(u).

1. Es gilt ρ(u) = ε, falls u Wurzel des Baumes ist.

2. Ist (u, v) ∈ E, so ist ρ(v) = ρ(u)µ(u, v).

• Ein Blatt i reprasentiert das Suffix Nummer i von w (ρ(i) = w[i . . . |w|]).

Fur den Aufbau des oben definierten Suffix-Baumes muss die Menge aller Suffixeeiner Zeichenkette prafixfrei sein, d.h. kein Suffix darf Prafix eines anderen Suffixessein, da der Baum sonst weniger als |w| Blatter hat (siehe Beispiel 4.2.4) undsomit nach Definition kein Suffix-Baum ist. Diese Eigenschaft kann in jedem Falleerreicht werden, indem man ein Zeichen z /∈ Π, z.B. das $-Zeichen, an das Endeder Zeichenkette hinzufugt (siehe Beispiel 4.2.5).

Beispiel 4.2.4

Die Suffixe des Wortes w = BANANA sind nicht prafixfrei. Der vollstandig aufge-baute Baum stellt keinen Suffix-Baum dar, da der erzeugte Baum 3 Blatter besitzt,jedoch |w| = 6 6= 3 gilt.

Beispiel 4.2.5

Die Suffixe von w = BANANA$ sind prafixfrei und somit hat der Suffix-Baumfur das prafixfreie Wort w = BANANA$ genau |w| = 7 Blatter.

33

Page 40: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

4.2.1. Naive Konstruktion eines Suffix-Baumes

Das einfachste Verfahren zur Konstruktion eines Suffix-Baumes besteht darin, dassder Reihe nach die Suffixe w[i .. n] fur i = 1, . . . , n in den bisher besteheden Suffix-Baum hinzugefugt werden. Bi entsteht dabei aus Bi−1 durch Einfugen von w[i .. n]in den bereits bestehenden Baum Bi−1. Man startet bei dem Baum B0, der genaueinen Knoten, und zwar die Wurzel, enthalt. In jedem Schritt wird das langstePrafix w[i .. d], i− 1 ≤ d ≤ n von w[i .. n] gesucht, das bereits in Bi−1 enthaltenist. Bei prafixfreien Wortern ist d < n. Nachdem d gefunden wurde, sind zwei Fallezu unterscheiden:

Fall 1: Endet w[i .. d] in einem Knoten v oder gibt es keinen gemeinsamen Prafix(d = i − 1), so wird ein neues Blatt l mit der Beschriftung i erzeugt unddie noch verbleibenden Zeichen w[d + 1 .. n] in die Markierung des neuenKnotens geschrieben. Es gilt µ(v, l) bzw. µ(root, l) = w[d+ 1 .. n].

Fall 2: Endet w[i .. d] innerhalb einer Kantenmarkierung µ(v1, v2) = w[j′ +1 .. m′], m′ ≤ n (in der Tabelle 4.4 verdeutlicht), so werden zwei neue Kno-ten v und l erzeugt, wobei der interner Knoten v die bisherige Markierungµ(v1, v2) in zwei Teile (µ(v1, v) und µ(v, v2)) teilt. Fur die Kantenmarkierun-gen gilt dann:

• ρ(v1) = w[i .. j] = w[i′ .. j′],

• ρ(v2) = w[i′ .. m′],

• µ(v1, v) = w[j+1 .. d] = w[j′+1 .. d′], wobei d′ = (j′+1)+|w[j+1 .. d]| =(j′ + 1) + d− (j + 1) ist,

• µ(v, l) = w[d+ 1 .. n] und

• µ(v, v2) = w[d′ + 1 .. m′].

Der zweite hinzugefugte Knoten l stellt ein Blatt mit der Beschriftung i dar,da es das Suffix Nummer i mit ρ(l) = w[i .. n] reprasentiert.

Beispiel 4.2.6

Die naive Konstruktion eines Suffix-Baumes soll hier an w = BANANA$ verdeut-licht werden. In B1 bis B3 und in B7 tritt Fall 1 ein. In diesen Fallen haben wirkeine gemeinsamen Prafixe. In B4 bis B6 wird die Markierung jeweils durch einenneuen Knoten in zwei Teile geteilt und wir erhalten einen neuen internen Knotenund ein neues Blatt.

34

Page 41: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

Tabelle 4.4.: links: Naive Konstruktion, rechts: Einfugen von w[i .. n] nach Fall 2

B0 B1, Fall 1

BANANA$

1

B2, Fall 1 B3, Fall 1

BANANA$

1

2

ANANA$

BANANA$

1

2

ANANA$

3

NANA$

B4, Fall 2 B5, Fall 2

BANANA$

1

ANA

2 4

NA$ $

3

NANA$BANANA$

1

ANA NA

2 4

NA$ $

3 5

$NA$

35

Page 42: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

B6, Fall 2 B7, Fall 1

BANANA$

1

A NA

2 4

NA

NA$ $

6

$

3 5

$NA$

BANANA$

1

A NA

2 4

NA

NA$ $

6

$

3 5

7

$NA$

$

Bn ist der gesuchte Suffix-Baum fur alle Suffixe Nummer 1, . . . , n. Dieses Verfah-ren benotigt O(n2) Schritte. Genauere Beschreibung der naiven Konstruktion undweitere Beispiele siehe [10].

4.2.2. Effiziente Konstruktion - Der Ukkonen-Algorithmus

Fur das Erreichen einer besseren Laufzeit werden die Suffix-Baume nach dem Ver-fahren von Ukkonen erzeugt. Fur den Ukkonen-Algorithmus unterscheidet manzwischen Suffix-Baumen und impliziten Suffix-Baumen. Der in Beispiel 4.2.4 darge-stellte Baum stellt einen impliziten Suffix-Baum dar. Dies sind vereinfachte Suffix-Baume, die man durch mehrere Schritte aus einem Suffix-Baum fur w$ erhalt,indem man

1. das Symbol $ aus allen Kantenmarkierungen entfernt,

2. jede Kante, die mit ε markiert ist, entfernt,

3. unter Zusammenfassung der Markierungen an den Kanten Knoten (ungleichder Wurzel) mit Ausgangsgrad 1 entfernt.

Es gelten folgende Bedingungen fur implizite Suffix-Baume (vgl. [10]):

• Im impliziten Suffix-Baum gibt es weniger als |w| Blatter.

• Jeder Suffix von w ist Prafix einer Zeichenkette, die durch einen Knoten imBaum reprasentiert wird.

In den einzelnen Schritten des Ukkonen-Algorithmus werden implizite Suffix-Baume erstellt. Der letzte Schritt sorgt dafur, dass aus dem erzeugten implizitenSuffix-Baum ein Suffix-Baum entsteht.

36

Page 43: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

Die Idee von Ukkonen

Der Ukkonen-Algorithmus arbeitet in Phasen. In jeder Phase wird das Teilwortein Zeichen langer als in der vorherigen Phase in den bereits bestehenden Baumeingefugt. Um aus dem impliziten Suffix-Baum einen Suffix-Baum zu bekommen,mussen die Suffixe prafixfrei sein bzw. es wird noch eine Phase hinzugefugt undzusatzlich w$ in den bisher entstandenen Baum eingefugt.

Der erste Baum, der entsteht, ist T1, welcher aus der Wurzel und einem Blattbesteht. Das Blatt hat die Beschriftung 1, die Markierung der Kante stellt w[1]dar.

Man erhalt in der i-ten (1 < i ≤ n, |w| = n) Phase des Algorithmus aus dem im-pliziten Suffix-Baum Ti−1 den impliziten Suffix-Baum Ti, indem das Prafix w[1 .. i]in Ti−1 eingefugt wird.

Das Einfugen eines Prafixes in einer Phase ist wiederum in i Erweiterungsschritteunterteilt. Es werden also in der i-ten Phase nacheinander die Suffixe w[1 .. i],w[2 .. i], . . . , w[i− 1 .. i] und w[i] des Prafixes w[1 .. i] in Ti−1 eingefugt.

Im j-ten (1 ≤ j ≤ i) Erweiterungsschritt der i-ten Phase

• sucht man das Ende des Pfades, welcher w[j .. i − 1] reprasentiert. Diesermuss auf jeden Fall enthalten sein, da das Teilwort bereits in der vorherigenPhase hinzugefugt wurde.

• Der Pfad wird um w[i] erweitert, falls dieses Zeichen nicht bereits als nachstesim Baum enthalten ist.

Pseudocode

class SuffixTree{construct(w){

Konstruiere T1.// n = |w|

for i = 2 to n do { //Phase i

for j = 1 to i do { // Erweiterungsschritt jextensionStep(root, w[j .. i− 1], w[i]);

}}

}

extensionStep(root, w[j .. i− 1], w[i]){beginne bei Wurzel root;

37

Page 44: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

while (j ≤ i− 1) {suche das naechste Zeichen des Wortes w[j] in der

aktuellen Markierung;lese w[j] und folge der Markierung um

ein Zeichen weiter;j + +;

}// erweitere den Baum um w[i]

}}

Aufteilen der Erweiterungsschritte in drei Regeln

Bei der Erweiterung des Suffix-Baumes um w[i] konnen drei verschiedene Falleauftreten, die im Folgenden in drei Regeln zusammengefasst werden (jeweils durchein Fallbeispiel aus dem Aufbau des Suffix-Baumes fur w = BANANA$ erganzt):

Regel 1: Wird w[j .. i − 1] durch ein Blatt reprasentiert, so verlangert man dieKantenmarkierung zum Blatt um w[i].

T1: i = 1, j = 1 i = 2, j = 1

B

1

BA

1

Es soll w[1 .. 2] hinzugefugt werden. Beim Suchen von w[1] in T1 endet manin einem Blatt mit der Beschriftung 1. Die Kantenmarkierung B wird umw[2] = A verlangert.

Regel 2: Beim Suchen von w[j .. i − 1] erreicht man entweder einen internenKnoten oder man endet innerhalb einer Kantenmarkierung, ohne dass es inbeiden Fallen eine Fortsetzung mit w[i] gibt.

2.1: Ist das Ende von w[j .. i− 1] ein interner Knoten v1, so wird ein neues Blattl mit der Beschriftung i erzeugt, µ(v1, l) = w[i].

2.2: Endet man innerhalb einer Kantenmarkierung µ(v1, v2), so wird auch ein neu-es Blatt l erzeugt (dieser Fall ist analog zu der Aufsplittung der Kantenmar-kierung bei der naiven Konstruktion). Zusatzlich wird µ(v1, v2) durch einenneuen internen Knoten v gespalten. Aus der vorherigen Kantenmarkierungentstehen zwei neue µ(v1, v) und µ(v, v2). Die Markierung µ(v1, v) bestehtaus den letzten Zeichen von w[j .. i − 1], die mit dem Prafix von µ(v1, v2)ubereinstimmen. Die restlichen Zeichen von µ(v1, v2) stellen die nachfolgen-

38

Page 45: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

de Kantenmarkierung µ(v, v2) dar. Das Blatt wird mit dem neu erzeugteninternen Knoten v verbunden, µ(v, l) = w[i].

i = 3, j = 2 i = 3, j = 3

BAN

1

2

AN

BAN

1

2

AN

3

N

In dem links dargestellten Baum soll w[3] = N eingefugt werden. w[3 .. 2]stellt das leere Wort dar, somit fangt man mit dem Einfugen bei der Wurzelan. Da das N nicht als nachstes Zeichen im bisherigen Baum auftritt, wirdein neues Blatt mit Beschriftung 3 erzeugt, das als Kantenmarkierung N hat.

i = 7, j = 3 i = 7, j = 4

BANANA$

1

2

ANANA$

3

NANA$

BANANA$

1

ANA

2 4

NA$ $

3

NANA$

Als Beispiel fur Regel 2.2 wird nach dem Teilwort w[j .. i− 1] = w[4 .. 6] =ANA gesucht. Der Pfad endet innerhalb der Kante ANANA$. Diese wirddurch einen neuen Knoten aufgespalten. Die einmundende Kante erhalt dieMarkierung ANA, die Kante die von dem neuen Knoten ausgeht, die restlicheMarkierung NA$. Des Weiteren wird ein neues Blatt mit der Beschriftung4 erzeugt, welches nach dem vollstandigen Aufbau des Baumes das SuffixNummer 4 darstellt, da einmal erzeugte Blatter nie geandert werden. Ledig-lich ihre Kantenmarkierungen werden bei jedem Schritt nach Regel 1 um einZeichen w[k] fur i ≤ k ≤ n verlangert.

Regel 3: Findet man nach dem Aufsuchen von w[j .. i − 1] als Nachfolger auchw[i], so ist dieses Teilwort bereits enthalten und es braucht nichts weitergetan zu werden.

39

Page 46: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

i = 4, j = 4

BANA

1

2

ANA

3

NA

Es soll w[i] = w[4] eingefugt werden. Gesucht wird nach w[4 .. 3]. Dies istdas leere Wort. Somit wird w[4] = A ab der Wurzel gesucht und gefunden.Das Teilwort ist also im bisher erzeugten Baum bereits enthalten.

Beispiel 4.2.7

Die Idee von Ukkonen wird an Hand von w = BANANA$ vorgestellt. Zur Ver-vollstandigung ist hier das komplette Beispiel dargestellt. Teile davon sind bereitsbei der Erklarung der Regeln vorgestellt und erklart worden.

T1, Regel 1: T2, Regel 1,2:

T3, Regel 1,1,2: T6, Regel 1,1,1,3,3,3:

40

Page 47: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

T7, Regel 1,1,1,2,2,2: T7, Regel 2:

extensionStep(root, w[j .. i− 1], w[i]){// while−Schle i fe wie obenSuche w[j .. i− 1] in Ti−1

i f (Markierung endet in einem Blatt ){//Fuehre Regel 1 durchVerlaengere Kantenmarkierung zum gefundenenBlatt um w[i];

} else i f (Markierung enthaelt als naechstesnur Zeichen 6= w[i]){

//Fuehre Regel 2 durch//Regel 2.1i f (w[j .. i− 1] endet in internem Knoten ){

Erzeuge neues Blatt mit Markierung w[i];Verbinde es mit dem gefundenen internen Knoten;

} else { //Regel 2.2Erzeuge neuen Knoten v, der die gefundeneMarkierung in zwei Teile teilt;Erzeuge neues Blatt mit Markierung w[i];Verbinde v mit dem erzeugten Blatt;

}} else {

//Regel 3tue nichts;

}}

In den folgenden Abschnitten werden Verbesserungen des vorgestellten Ukkonen-Algorithmus vorgenommen, um die Laufzeit O(n) zu erreichen.

41

Page 48: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Suffix-Links

Der Aufbau eines Suffix-Baumes nach Ukkonen teilt sich in Phasen und diesewiederum in Erweiterungsschritte. In jedem Erweiterungsschritt stehen die Infor-mationen aus den vorherigen Erweiterungsschritten zur Verfugung und konnenwertvolle Informationen liefern, um die Laufzeit zu verbessern. Hat man einenErweiterungsschritt j der Phase i durchgefuhrt, so muss im Erweiterungsschrittj + 1 die hinzugefugte Zeichenketten w[j + 1 .. i] gesucht und an dieser Stelledas nachste gelesene Zeichen w[i + 1] hinzugefugt werden. Um w[j + 1 .. i] nichtin jedem Erweiterungsschritt suchen zu mussen konnen Suffix-Links gesetzt undbenutzt werden. Diese werden im Folgenden vorgestellt:

Definition 4.2.8

Sei aβ eine Zeichenkette, wobei a ∈ Π, β ∈ Π∗. Ist u ein interner Knoten ungleichder Wurzel im impliziten Suffix-Baum mit ρ(u) = aβ und existiert ein weitererKnoten v mit ρ(v) = β, dann wird ein Zeiger von u auf v als Suffix-Link von ubezeichnet. Man schreibt auch v = s(u) (vgl. [10]).

Es lasst sich zeigen, dass fur einen neu eingefugten Knoten nach Regel 2 spatestensim Erweiterungsschritt j + 1 derselben Phase ein Suffix-Link erzeugt werden kann(siehe [10]).

Beispiel 4.2.9

i = 7, j = 4 i = 7, j = 5

Der im j-ten (also im vierten) Erweiterungsschritt der Phase i = 7 hinzugefugteinterne Knoten hat vorerst keinen Suffix-Link. Dieser kann im darauf folgenden 5-ten Erweiterungsschritt gesetzt werden, da nun ein Knoten mit der fur den Suffix-Link benotigten Markierung NA hinzugefugt wurde. Fur den in i = 7, j = 5neu eingefugten Knoten kann auch erst im darauf folgenden Erweiterungsschritt(j = 7, i = 6) der Suffix-Link gesetzt werden, da dort erst der Knoten mit Kan-tenmarkierung A erzeugt wird. Fur diesen Knoten kann wiederum der Suffix-Linkim selben Erweiterungsschritt sofort gesetzt werden.

42

Page 49: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

j = 7, i = 6

Verwendung von Suffix-Links

Die Verwendung der Suffix-Links soll Laufzeit-Vorteile gegenuber dem naiven Al-gorithmus bringen. Jede Phase des Algorithmus beinhaltet i Erweiterungsschritte.Man beginnt beim ersten Erweiterungsschritt mit dem Einfugen von w[1 .. i]. Dadies die langste bisher betrachtete Zeichenkette ist, erfolgt das Einfugen nach Re-gel 1. Das Suffix Nummer i wird jeweils durch ein Blatt mit der Beschriftung idargestellt. Somit wird beim Einfugen von w[1 .. i] die Kantenmarkierung desBlattes mit Beschriftung 1 um w[i] erweitert. Um nicht explizit nach diesem Blattsuchen zu mussen, merkt man sich das Blatt, welches die in der vorherigen Phaseeingefugte Teilzeichenkette w[1 .. i− 1] reprasentiert. Die Kantenmarkierung wirddann um ein Zeichen verlangert.

In jedem weiteren Erweiterungsschritt kann folgendes ausgenutzt werden: Im Er-weiterungsschritt j − 1 wird w[j − 1 .. i− 1] gesucht und mit w[i] verlangert. Vonhier aus wahlt man den nachsten Knoten in Richtung Wurzel, und pruft, ob dieserKnoten einen Suffix-Link besitzt. Ist dies nicht der Fall, so geht man noch einenKnoten weiter hoch. Der gefundene Knoten muss einen Suffix-Link besitzen (siehe[10]). Dieser Knoten sei v mit ρ(v) = ag, ρ(s(v)) = g, w[j − 1 .. i − 1] = ρ(v)r,w[j .. i − 1] = ρ(s(v))r mit g ∈ Π∗, a ∈ Π bzw. a = ε wenn v die Wurzel ist(dargestellt in Abbildung 4.3).

Abbildung 4.3.: Verfolgen der Suffix-Links

43

Page 50: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Ist v die Wurzel selbst, so sucht man das Ende von w[j .. i−1] und fugt w[i] durcheinen Erweiterungsschritt an dieser Stelle ein.

Ist v ein interner Knoten, so folgt man dem Suffix-Link und sucht von dort ausr, welches das Ende von w[j .. i− 1] darstellt. Hier fugt man w[i] nach einem deroben aufgefuhrten Regeln ein.

Wenn im Erweiterungsschritt j − 1 (w[j − 1 .. i− 1]) Regel 2 angewendet wurde,und somit ein neuer interner Knoten u entstanden ist, so muss spatestens in demErweiterungsschritt j ein Suffix-Link gesetzt werden. s(u) ist dann der Knoten,der w[j .. i − 1] darstellt. Auf diesen muss von dem neu entstandenen Knotendes letzten Erweiterungsschrittes ein Suffix-Link gesetzt werden, wenn der nichtbereits vorhanden ist.

Es werden folgende 4 Tricks benutzt, um die Laufzeit zu verbessern:

Trick 1: Der skip/count Trick Verwendet man die Suffix-Links fur das Suchenvon w[j .. i − 1], so folgt man s(v). Man merkt sich die nachfolgenden rZeichen und sucht sie von s(v) aus. Es muss jedes Zeichen von r verglichenwerden und benotigt eine Laufzeit von O(r). Dies ist nicht notwendig, dennw[j .. i − 1] ist in Ti−1 eingefugt worden und ist somit auf jeden Fall imBaum enthalten. Man folgt also dem Suffix-Link und sucht die erste Kante,deren Markierung (r′) mit dem ersten Zeichen von r beginnt. Ist |r′| < |r|,dann brauchen die restlichen Zeichen von r′ nicht mehr verglichen zu werden,da diese auf jeden Fall im Baum enthalten sind und mit den Zeichen von rubereinstimmen. Das nachste zu vergleichende Zeichen ist an Position |r′|+1in r zu finden. Dieses Zeichen sucht man wiederum in den Markierungen allerNachfolger des Knotens, den man mit der Markierung r′ erreicht hat. Dieswird so lange fortgesetzt, bis die Lange der nachsten Markierung kurzer ist,als die Lange der ubrigen Zeichen von r.

Mit diesem Trick benotigt jede Phase nurO(n) Zeiteinheiten, |w| = n. Beweissiehe [10].Laufzeit mit Trick 1: O(n2)

Trick 2: Abbruch nach erstmaligem Anwenden von Regel 3 Sobald in einerPhase w[j .. i] das erste Mal komplett im Suffix-Baum gefunden wur-de, braucht man keinen weiteren Erweiterungsschritt in dieser Phasedurchfuhren, da dann auch w[j + 1 .. i], . . . , w[i] im Baum enthalten sind.Dies liegt daran, dass w[j .. i] ein Prafix eines anderen Suffixes w[r .. s], s < isein muss, das bereits im Baum enthalten ist und somit die folgenden Suffixeder nachsten Erweiterungsschritte von w[j .. i] auch im Baum enthalten seinmussen.

Trick 3: Implizite Ausfuhrung von Regel 1 Jedes Blatt im Baum stellt ein Suf-fix von w dar. Wenn nun also ein Blatt mit einer Beschriftung erzeugt wird,so kann man die Kantenmarkierung zu dem Blatt einfach in jeder Phase umdas letzte neu hinzukommene Zeichen verlangern. Das implizite Ausfuhren

44

Page 51: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

umgeht man, indem man die Kantenmarkierung w[j .. i], dargestellt durch(j, i), einfach durch (j, e) ersetzt. Dabei stellt e das momentane Ende derZeichenkette dar und wird in jeder Phase um 1 erhoht. Regel 1 muss niemehr explizit ausgefuhrt werden.

Betrachtet man die Phasen des Ukkonen-Algorithmus, so stellt man fest,dass jede Phase aus mehreren Erweiterungsschritten nach Regel 1 besteht,in denen nur die Markierungen um ein Zeichen verlangert werden, gefolgt vonErweiterungsschritten nach Regel 2, in denen neue Knoten erzeugt werden.Es werden nur nach Regel 2 neue Knoten erzeugt. Die letzten Erweiterungs-schritte sind nach Regel 3.

Trick 4: Einschranken der Suffix-Erweiterungen Um nun nicht jeden Erweite-rungsschritt ausfuhren zu mussen, merkt man sich die Position j des Zei-chens, bei dem in der aktuellen Phase i das letzte Mal Regel 2 bzw. das ersteMal Regel 3 angewandt wurde, da nur nach Regel 2 neue Knoten hinzugefugtwerden. Bei j startet man in der Phase i+1 mit dem Einfugen neuer Knotennach Regel 2, bis das erste Mal Regel 3 angewendet wird.

Unter Verwendung der Suffix-Links und der Tricks 1-4 kann der implizite Suffix-Baum Tn in O(n) Schritten konstruiert werden (siehe [10]).

Pseudocode

class SuffixTree {construct(w){j = 1;//Vor in i t ia l i s i erung/∗Fuer Trick 4 , der aktuel le Knoten desErweiterungsschrittes , bei dem angefangen wird∗/Node nextStart = root;

//Durchlaufe a l l e Zeichen und baue Suffix−Baum auffor (i = 1; i ≤ n; i + +){

//Fuehre Phase i aus , Erweiterungsschritt jphase: for (; j ≤ i; j + +){

//Trick 1Fange bei nextStart an;i f (nextStart hat keinen SuffixLink) {

nextStart = nextStart.parent;}Folge SuffixLink und suche das Ende der

Zeichen (w[j + 1 .. i− 1]) nach nextStart;Vergleiche jeweils nur das erste

45

Page 52: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Zeichen der Markierung und springezum naechsten Knoten;

current = letzter gefundener Knoten;

i f (Einfuegen von w[i] nach Regel 1){tue nichts;

} else i f (Regel 2){//Trick 3//Bei neuem einzufuegenden BlattSetze Markierungsende auf n;nextStart = current;

//Bei Einfuegen von neuem internenKnoten

...Setze benoetigte SuffixLinks;nextStart = neuer interner Knoten;

} else {//Trick 2//Regel 3Setze noch benoetigte Suffix -Links;Breche phase ab;nextStart = current;

}}

}}

}

4.2.3. Speicherplatzbedarf

Abbildung 4.4.: Anzahl Knoten im Suffix-Baum fur die Wortlange n und Verzwei-gungsgrad 2

Nach der Verbesserung der Laufzeit ist der Speicherplatz ein weiteres wichtigesMerkmal bei der Betrachtung einer Datenstruktur. Ein Suffix-Baum enthalt fur

46

Page 53: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.2. Suffix-Baume

w ∈ Π+ mit |w| = n und n > 1 hochstens 2n − 1 Knoten, benotigt also O(n)Speicherplatz. Jeder Suffix-Baum besitzt genau n Blatter auf der untersten Ebene.Eine Ebene daruber sind es bn

2c Knoten. Sei |{Node}| := Anzahl Knoten im

Suffix-Baum.

Fur Verzweigungsgrad 2 ist n < |{Node}| < 2 ∗n, da fur die Anzahl der im Baumenthaltenen Knoten gilt:

|{Node}| := |{Node| Node ∈ Suffix-Baum }| ≤ n+ bn2c+ b n

22c+ . . .+ 1

Fur Verzweigungsgrad Π ist die allgemeine Abschatzung fur die Anzahl der Knotenfur eine Zeichenkette w, mit |w| = n und dem Alphabet Π:

|{Node}|≤n+n

|Π|+

n

|Π|2+ . . .+

n

|Π|n

≤n(

1 +1

|Π|+

1

|Π|2+ . . .+

1

|Π|n

)≤n

n∑i=0

1

|Π|i

≤nn∑

i=0

qi, mit q =1

|Π|

Die Partialsummen der endlichen geometrischen Reihe sn = n∑n

i=0 qi konvergieren

im Falle q 6= 1. Da einbuchstabige Alphabete keinen Sinn machen, konvergiert dieReihe fur alle vernunftige Alphabete, da dann |Π| > 1 gilt. Der obige Ausdruckkann dann mit der unendlichen geometrischen Reihe abgeschatzt werden. AllePartialsummen der endlichen Reihe sind kleiner als die Summe der unendlichen:

sn = n1− qn+1

1− q< n

1

1− q= n

1

1− 1|Π|

= n|Π||Π| − 1

.

Die Anzahl der Knoten betragt

n < |{Node}| < n ∗ |Π||Π| − 1

.

Fur |Π| = 4 gilt

n < |{Node}| < 4

3n.

Fur große Alphabete braucht der Suffix-Baum viel Speicherplatz pro Ebene. Da das

47

Page 54: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Alphabet in dieser Diplomarbeit aus 4 Zeichen besteht, eignet sich der Suffix-Baumim Hinblick auf den Speicherplatzbedarf. Die zur Losung der Aufgabenstellungbenotigten Pattern konnen mit Hilfe von modifizierten Suffix-Baumen bestimmtwerden.

Um den Speicherplatzverbrauch fur den Suffix-Baum weiter einzuschranken, wer-den diese nur bis zu einer Ebene m, die der Lange der gesuchten Marker entspricht,aufgebaut.

Die benotigten Markersatze mussen nicht nur fur ein Bakterium, sondern furmehrere Bakteriensequenzen bestimmt werden. Die Sequenzierungsfehler in denSequenzen mussen beim Einfugen von Teilsequenzen beseitigt werden. Um nichtfur jede Bakteriensequenz einen einzelnen Baum aufzubauen, werden alle zu be-trachtenden Sequenzen in einem Baum betrachtet. Dies spart Speicherplatz undermoglicht den direkten Vergleich der Pattern im Hinblick auf die statistischenInformationen, die fur die Auswahl der Marker gebraucht werden (siehe Kapitel4.3).

4.3. Erweiterte Suffix-Baume

Um Marker einer bestimmten Lange in der langen DNA-Sequenz in moglichstkurzer Zeit zu finden, mussen die in Abschnitt 4.2 betrachteten Suffix-Baumemodifiziert werden. Fur das Aufbauen eines Suffix-Baumes fur eine Bakterien-sequenz, die meist mehrere MB groß ist, wird viel Speicherplatz verbraucht. Dak-Bakteriensequenzen betrachtet werden, ist der Speicherplatzbedarf (fur das Ab-speichern der Bakteriensequenzen, Aufbau des Suffix-Baum usw.) dieser entspre-chend großer. Deshalb werden die Besonderheiten der Aufgabenstellung, wie bei-spielsweise relativ kurze Pattern, ausgenutzt, um den Speicherplatzbedarf und auchdie Laufzeit zu minimieren.

Suffix-Baume stellen die Menge aller Suffixe einer Zeichenkette, hier einer Bakte-riensequenz, dar. Nachdem der Suffix-Baum fur eine Zeichenkette aufgebaut ist,konnen die Teilzeichenketten der vorgegebenen Zeichenkette an den internen Kno-ten bzw. an den entsprechenden Kantenmarkierungen abgelesen werden. JedesBlatt stellt einen Suffix der Zeichenkette dar.

In dem hier vorliegenden Anwendungsfall sollen alle Teilzeichenketten einer be-stimmten Lange m betrachtet werden, d.h. die Prafixe der Lange m aller Suffixe.Um den Speicherplatzverbrauch und die Laufzeit zu minimieren, reicht es, dieSuffix-Baume bis zu dieser Lange aufzubauen, also nur noch diese Prafixe mitden statistischen Werten zur Klassifikation der Prafixe zu betrachten. Dies wirdin Abschnitt 4.3.1 erlautert, wobei vorerst angenommen wird, dass die Bakteri-ensequenzen keine Sequenzierungsfehler enthalten. Eine weitere Modifikation derSuffix-Baume ist dann das Entfernen der Stopp-Zeichen

”N“, also der Sequenzie-

rungsfehler (Abschnitt 4.3.2). Des Weiteren sollen Suffix-Baume nicht nur fur eine

48

Page 55: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.3. Erweiterte Suffix-Baume

Bakteriensequenz, sondern fur die zusammengesetzte k-Bakteriensequenz aufge-baut werden. Die zu den einzelnen Pattern notwendigen Informationen werdenfur alle Bakteriensequenzen in einem Suffix-Baum gespeichert, dies spart Laufzeitund Speicherplatz und erlaubt den direkten Vergleich der wichtigen statistischenGroßen der Pattern.

4.3.1. Gekurzte Suffix-Baume

Da nur Marker einer bestimmten Lange (bisher 8 bis 14 Bp) betrachtet werden,braucht der komplette Suffix-Baum nicht aufgebaut zu werden. Es mussen ledig-lich alle Teilzeichenketten der benotigten Langen betrachtet werden. Da die Großennicht fest vorgegeben sind, werden die Langen durch eine Große m begrenzt. Dielangsten Pattern des Suffix-Baumes haben somit die Lange m. Die Pattern dieserLange stellen die Ebene m dar. Der Suffix-Baum wird durch diese Ebene nachunten begrenzt, praktisch

”abgeschnitten“. Die Informationen, die durch die dar-

unter liegenden Knoten dargestellt werden, mussen in den neu erzeugten Blatternauf der neuen Ebene m gespeichert werden. Ein ursprungliches Blatt stellt einenSuffix dar. Wichtig sind Werte, wie beispielsweise wie viele Blatter ursprunglichNachfolger jedes einzelnen Knotens waren und die Anzahl deren Auftreten in dembetrachteten Wort. Dies ist genau die Anzahl des Auftretens des kurzen Patternsder Lange m in der Bakteriensequenz.

Der Ukkonen-Algorithmus wird insofern verandert, dass der Suffix-Baum bis zu derEbene m aufgebaut wird. Die Anzahl der Pattern wird bestimmt, indem bei jedemAuffinden eines Patterns als Prafix der Lange m eines Suffix nicht der kompletteSuffix hinzugefugt wird, sondern gepruft wird, ob das Prafix des Suffixes der Langem bereits im Baum enthalten ist. Dieses Prafix endet auf der neuen unterstenEbene m. Die statistischen Informationen werden aktualisiert.

Abbildung 4.5.: Die Idee des gekurzten Suffix-Baumes auf einer Ebene m fur einWort

49

Page 56: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Die Abbildung 4.5 stellt einen moglichen Suffix-Baum fur ein Wort w dar. DieBlatter sind mit a, b, . . . , k beschriftet, wobei a, b, . . . , k ∈ {1, . . . , |w|}, und stelleneinen Suffix ab dieser Position dar. Die Ebene m ist genau die Lange, die man furdie Pattern benotigt. Beim Aufbau des Suffix-Baumes wird der Baum nur nochbis zu dieser Ebene aufgebaut. Alle Prafixe der bestimmten Pattern der Lange msind im Suffix-Baum oberhalb der Ebene m enthalten.

Hat man ein Blatt auf dieser Ebene erzeugt, so werden die statistischen Infor-mationen initialisiert (in der Abbildung 4.5 sind es die Blatter a und k). DieBerechnung der Auftrittshaufigkeit (Appeareance) im Baum berechnet sich durchdie Auftrittshaufigkeit der Kinder. Abbildung 4.6 zeigt beispielhaft die Berechnungbei gekurzten Baumen. Die Auftrittshaufigkeit fur innere Knoten v berechnet sichaus der Summe aller Nachfolger, die v folgen, also durch eine Markierung mit vverbunden sind.

Abbildung 4.6.: Die Anzahl der Auftreten setzt sich aus der Summe der Auftretenaller Kinder zusammen.

Sobald eine langere Teilsequenz in den Baum eingefugt werden soll, die diese durchdie Blatter auf der Ebene m dargestellte Teilsequenz als Prafix enthalt, so werdendie statistischen Werte, beispielsweise die Anzahl der Auftreten, dieses Prafixesaktualisiert und die langere Teilsequenz verworfen. Ein spezieller Fall, der beimErzeugen eines gekurzten Suffix-Baumes auftritt, ist dieser, dass ein Knoten, derfur w[j+1 .. i], |w[j+1 .. i]| > m, hinzugefugt werden soll, nicht auf der Ebene m,sondern darunter hinzugefugt werden musste (siehe Abbildung 4.5 der linke Kno-ten). In diesem Fall muss die Kantenmarkierung genau auf der Ebene m gekurztund wenn das Blatt noch nicht existiert ein neues Blatt hinzugefugt werden. DiesesBlatt stellt dann w[j+ 1 .. j+m] dar. Die Markierung wird also kurzer als vorher.

Die Umsetzung erfolgt folgendermaßen: Wie in Kapitel 4.2 beschrieben besteht jedePhase des Ukkonen-Algorithmus aus Erweiterungsschritten nach Regel 1, gefolgtvon Erweiterungsschritten nach Regel 2, und zuletzt die Regel-3-Schritte. Regel 1wird implizit ausgefuhrt. Nach erstmaligem Anwenden der Regel 3 braucht dieseRegel fur alle darauf folgenden Erweiterungsschritte dieser Phase nicht weiter an-gewandt zu werden. Es bleiben also nur die Erweiterungsschritte nach Regel 2, die

50

Page 57: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.3. Erweiterte Suffix-Baume

pro Phase ausgefuhrt werden. Bei jedem dieser Schritte wird ein neues Blatt undeventuell ein neuer interner Knoten erzeugt. Da nur noch Teilsequenzen bis zu ei-ner Lange m hinzugefugt werden, verkleinert sich die Anzahl der Regel-2-Schritteund damit die Anzahl der Knoten im Baum.

Abbildung 4.7.: Aufteilen der Regel-2-Schritte, fur Knoten die uber- und unterhalbder Ebene m liegen

In Abbildung 4.7 wird die Gesamtheit aller Regel-2-Schritte in zwei Gruppen ge-teilt. Ein ursprunglicher Regel-2-Schritt, bei dem sich der einzufugende interneKnoten bzw. Blatt unterhalb der Ebene m befindet ((i− j) > m), nenne man beigekurzten Baumen Regel-2a-Schritt. Die Knoten, die daruber eingefugt werdenmussen ((i − j) < m) Regel-2b-Schritte. In den gekurzten Baumen mussen nurnoch bei den Regel-2b-Schritten neue Knoten hinzugefugt und nur diese Schritteausgefuhrt werden.

Pseudocode

Der großte Teil des Pseudocodes ist der gleiche wie bei Suffix-Baumen (siehe Ab-schnitt 4.2). Die Modifikation außert sich in einer if-Abfrage, in der gepruft wird,ob das Pattern, das hinzugefugt werden soll, nicht langer als m ist. Beim Einfugeneines neuen benotigten Blattes fur eines dieser Pattern muss das Markierungsendenicht wie bisher auf |w| = n, sondern auf j + m gesetzt werden. Dadurch wirdgewahrleistet, dass neu erzeugte Blatter immer auf der Ebene m zu finden sind,denn die m Zeichen werden hintereinander in den Erweiterungsschritten der j+m-ten Phase hinzugefugt. Dies wird durch das Erzeugen eines Blattes auf der Ebenem in einem Schritt ausgefuhrt.

class SuffixTree {construct(m, w){

... (s.o.)

//Fuehre Phase i aus , Erweiterungsschritt jphase: for (; j ≤ i; j + +){

i f ((i− j + 1) ≤ m){

//Trick 1

51

Page 58: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

... (s.o.)

i f (Einfuegen von w[i] nach Regel 1) {tue nichts;

} else i f (Regel 2b){//Trick 3//Bei neuem BlattSetze Markierungsende auf j + m;. . . (s.o.)

} else {//Regel 3 ( s . o . )

}} else {

//Regel 2a SchritteSuche repraesentatives Blatt und aktualisiere

statistische Informationen;nextStart = current.parent;

}}

}}

4.3.2. Berucksichtigung der Sequenzierungsfehler

Der nachste Schritt des in Kapitel 3 vorgestellten Algorithmus ware die Beseitigungder Stopp-Zeichen. Die Stopp-Zeichen

”N“, die Sequenzierungsfehler darstellen,

mussen beim Einlesen der Pattern uberlesen werden.

Abbildung 4.8.: Ignorieren der Sequenzierungsfehler

Tritt in Phase i + m das erste Mal ein Stopp-Zeichen (w[i + m] = N) auf, alsoist in der aktuellen Phase das neu eingelesene Zeichen ein Stopp-Zeichen (sieheAbbildung 4.8), so wird die komplette Phase abgebrochen. Alle Teilzeichenket-ten von w[i + 1 .. i + m − 1] sind spatestens in den Erweiterungsschritten dervorherigen Phase in den Suffix-Baum eingefugt worden. Betrachtet man die Teil-zeichenketten, die in der aktuellen Phase hinzugefugt werden mussen, so sind es

52

Page 59: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.3. Erweiterte Suffix-Baume

die Teilzeichenketten, die w[i + m] an letzter Position beinhalten, da Suffixe be-trachtet werden und |w[i+1 .. i+m]| = m ist. Wie in Kapitel 3.2 diskutiert, sollenalle Teilzeichenketten, die ein Stopp-Zeichen enthalten, aus statistischen Grundenverworfen werden. Somit kann die komplette Phase i+m abgebrochen werden. Diem Teilzeichenketten werden im Suffix-Baum nicht berucksichtigt. Die Fortsetzungerfolgt mit dem Setzen von i (Phase) und j (Erweiterungsschritt) auf das nachdem Stopp-Zeichen folgende Zeichen, also i = j = i + m + 1. Genau dort fangtdas nachste einzufugende Pattern an. Das dem Stopp-Zeichen folgende Pattern derLange m wird erst in der m-ten darauffolgenden Phasen eingefugt.

Da beim Auftreffen auf ein Stopp-Zeichen die jeweilige Phase abgebrochenwird, werden Blatter nicht mehr immer nur auf der Ebene m erzeugt. Beider Berucksichtigung der Stopp-Zeichen wurden Pattern hinzugefugt werden, diekurzer als m sind. Beim Erzeugen eines neuen Blattes fur eines der Prafixe vonw[i+ 1 .. i+m], kann die Kantenmarkierung nicht auf i+m gesetzt werden, wenn∃ k mit 1 ≤ k ≤ m, fur das gilt w[i+ k] ∈ {Σ \Π}. Dann wird die Kantenmarkie-rung auf i+ k − 1 gesetzt.

Durch diese Modifikation des Algorithmus tritt an einer weiteren Stelle eineVeranderung auf. Bisher wurde ein Blatt, wenn es einmal entstanden ist, nichtmehr verandert. Dies ist bei der Berucksichtigung der Stopp-Zeichen nicht mehrder Fall, da wir

”kurze Abschnitte“ von Sequenzen vorliegen haben. Jetzt kann ein

Blatt, welches in den Phasen vor dem Auftreffen auf ein Stopp-Zeichen entstandenist, eine langere Markierung bekommen, wenn die bisher dargestellte Teilsequenzerneut auftritt und langer ist. Bei einem Regel-1-Schritt muss jetzt gepruft werden,ob das durch das Blatt dargestellte Pattern lang genug ist.

Um den Unterschied deutlicher zu machen, ist in Abbildung 4.9 das Erzeugen einesBlattes nach Ukkonen dargestellt. Ein erzeugtes Blatt l stellt ein Suffix dar undendet am Ende des Wortes |w| = n. Die modifizierte Regel 2 ist in Abbildung 4.10zu sehen. Bei dem hier erzeugten Blatt l mussen zwei Werte betrachtet werden:

• die Lange m, bis zu der der modifizierte Baum aufgebaut wird,

• die Position des nachsten Stopp-Zeichens.

Die Endposition der Markierung von l wird auf folgende Weise berechnet:

b = min{ q + (m− |ρ(parent(l))|), pos(s)}

Dabei ist q der Anfang der Markierung zum neu erzeugten Blatt l, m die Langeder Pattern bis zu welcher der Baum aufgebaut werden soll, ρ das durch einenKnoten reprasentierte Wort. Das nachste Stopp-Zeichen wird durch s dargestellt,pos gibt die Position des Zeichens an.

53

Page 60: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Abbildung 4.9.: Regel 2 nach Ukkonen

Abbildung 4.10.: Modifizierte Regel 2 beim Einfugen von Sequenzen der Lange mmit Stopp-Zeichen

4.3.3. Suffix-Baume fur mehrere Bakterien

Das Ziel dieser Diplomarbeit ist es, Markersatze fur alle vorgegebenen Bakterien-sequenzen zu bestimmen. Die bereits modifizierten Suffix-Baume mussen so erwei-tert werden, dass sie fur jedes Pattern statistische Informationen zu allen Bakterienbeinhalten. Es wird nicht pro Datei ein Suffix-Baum aufgebaut, sondern alle Datei-en (Bakteriensequenzen) werden in einen Baum hinzugefugt. Dies hat den Vorteil,dass die statistischen Werte pro Pattern besser verglichen werden konnen und derSpeicherplatzverbrauch um einiges niedriger ist.

Eine mogliche Variante, einen Suffix-Baum fur mehrere Bakteriensequenzen auf-zubauen, ist es, die k-Bakteriensequenz als Eingabewort fur dieses zu nehmenund den Suffix-Baum fur diese zu erzeugen. Abbildung 4.11 stellt einen solchenSuffix-Baum fur die k-Bakteriensequenz dar. Die k-Bakteriensequenz setzt sichaus den jeweiligen Bakteriensequenzen, die durch das #-Zeichen getrennt werden,zusammen: b = b1#b2# . . . bk. Das #-Zeichen ist ein Stopp-Zeichen und dient derZuordnung der Pattern zu der jeweiligen Bakteriensequenz.

54

Page 61: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.3. Erweiterte Suffix-Baume

Abbildung 4.11.: Naive Idee fur das Einfugen einer k-Bakteriensequenz. Kurzendes vollstandigen Suffix-Baumes auf Ebene m.

Der Suffix-Baum enthalt alle Suffixe der k-Bakteriensequenz. Dieser Baum ist re-lativ tief, da die Suffixe sehr lang werden. Interessant fur die Bestimmung derPattern sind nicht die kompletten Suffixe, sondern alle Teilsequenzen bis zu einerLange m. Diese Teilsequenzen aller Bakteriensequenzen sind Prafixe der Lange mvon den in der Abbildung dargestellten Suffixen und sind in dem oberen Baumenthalten.

Kurzen auf m

Genauso wie beim Einfugen von nur einer Bakteriensequenz wird der Suffix-Baumfur die k-Bakteriensequenz nur bis zu einer Ebene m aufgebaut. Wichtig ist hierbeizu speichern, welches Pattern mit den zugehorigen statistischen Informationen inwelcher Bakteriensequenz aufgetreten ist.

Berucksichtigung der Stopp-Zeichen

Letzte Phase i der Bakteriensequenz w1

Ursprungliche nachste Phase i+ 1 wird abgebrochen

55

Page 62: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Fortsetzung beim ersten Zeichen von w2

Betrachtet man vorerst eine 2-Bakteriensequenz. Die i-tePhase von w1 fugt alle Teilsequenzen w1[j + 1 .. i] fur (i−j) ≤ m ein.

Wird das #-Zeichen genauso behandelt wie die Zeichendes Patternalphabets, so entsteht ein Baum wie in der ne-benstehenden Abbildung. Die Knoten a, b, c stellen Blatterdar. Das #-Zeichen tritt in den Markierungen auf. Dieswird mit dem in Abschnitt 4.3.2 vorgestellten Verfahrender Berucksichtigung von Stopp-Zeichen verhindert. BeimAuftreffen auf ein Stopp-Zeichen werden nur Pattern bis zu

dieser Position hinzugefugt. Die Phase i+1 fur w[i+1] = # wird nicht ausgefuhrt.Die nachste Phase startet beim ersten Zeichen w2,1 nach dem Stopp-Zeichen.

Pseudocode

Der folgende Pseudocode beinhaltet die Berucksichtung von Stopp-Zeichen. Han-delt es sich um Sequenzierungsfehler

”N“, so werden lediglich die Pattern, die

dieses Zeichen enthalten, ubersprungen. Ist das Stopp-Zeichen ein #-Zeichen, sobeginnt nach dem #-Zeichen eine neue Bakteriensequenz und die Variable fileNo

wird um eins erhoht. Auch hier werden die Pattern, die das #-Zeichen enthalten,ignoriert.

class SuffixTree{construct(m, w = w1#w2# . . . #wk){

j = 1;fileNo = 0;. . . (s.o.)

//Bestimme Position des naechsten Stopp−Zeichens

//Durchlaufe a l l e Zeichen und baue Suffix−Baum auffor (i = 1; i ≤ n; i + +){

while (an Position i befindet sich einStopp -Zeichen ){

i f (Stopp -Zeichen #){ fileNo ++; }j=i+1;

56

Page 63: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.3. Erweiterte Suffix-Baume

Fange ab der Wurzel an einzufuegen;

Suche naechstes Stopp -Zeichen;}

//Fuehre Phase i aus , Erweiterungsschritt jphase: for (; j ≤ i; j + +){

i f ((i− j + 1) ≤ m){

//Trick 1. . . (s.o.)i f (Regel 1){

Blatt gegebenenfalls verlaengern , wenn dieMarkierung nicht lang genug ist;

} else i f (Regel 2b){//Trick 3//Bei neuem Blatt

Setze Markierungsende so, dassPattern ≤ m und ueber das naechsteStopp -Zeichen nicht hinausragt;

} else {//Regel 3 ( s . o . )

}} else {

//Regel 2a Schritte(s.o.)

}}

}}

}

Mit den vorgestellten erweiterten Suffix-Baumen konnen alle Pattern bis zu einerLange m der gegebenen Bakteriensequenzen mit den zugehorigen statistischen In-formationen bestimmt werden. Der so erzeugte Suffix-Baum verbraucht viel weni-ger Speicherplatz, als der ursprungliche in Abschnitt 4.2 vorgestellte Suffix-Baum,da die Anzahl der Knoten nicht von der Wortlange, sondern von der Pattern-Langeund dem Patternalphabet abhangt. Das Patternalphabet ist bei DNA-Sequenzenrecht klein. Die Anzahl der Knoten pro Ebene u ist maximal |Π|u. Im schlechtestenFall braucht der modifizierte Suffix-Baum genauso viele Knoten, wie die Große dererzeugten Pattern-Tabelle bis zu einer Lange m.

57

Page 64: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

4.4. Suffix-Arrays

Die fur den Algorithmus benotigte Datenstruktur zur Bestimmung aller Patternmuss alle Teilsequenzen bis zu einer Lange m der Bakteriensequenzen abbilden.Dafur eignen sich Suffix-Baume recht gut, haben jedoch im Allgemeinen den Nach-teil eines zu großen Speicherplatzverbrauchs. Da die benutzten Bakteriensequenzenmehrere MB groß sind, ware eine Speicherplatz sparendere Darstellung gegenuberden Suffix-Baumen [3], die die gleichen Moglichkeiten wie Suffix-Baume bietet,optimal. Suffix-Arrays sollen nach [11] 3− 5 Mal weniger Speicherplatz gegenuberden Suffix-Baumen benotigen und werden im Folgenden vorgestellt. Anschließenderfolgt ein Vergleich dieser Datenstruktur mit den Suffix-Baumen um sich fur eineder beiden Datenstrukturen zu entscheiden.

Definition 4.4.1

Ein Suffix-Array SA fur ein Wort w mit |w| = n, ist ein Integer-Array der Langen, in dem alle Suffixe lexikographisch sortiert sind. In den einzelnen Eintragen desArrays ist die Startposition des Suffixes gespeichert.

Beispiel 4.4.2

Die Idee soll an einem kurzen Beispiel, dem Wort w = BANANA$, an dem auchdie Suffix-Baume betrachtet wurden, verdeutlicht werden:

Tabelle 4.5.: Suffix-Array fur w = BANANA$

SA Position = ZeichenketteSA[0] 7 = $SA[1] 6 = A$SA[2] 4 = ANA$SA[3] 2 = ANANA$SA[4] 1 = BANANA$SA[5] 5 = NA$SA[6] 3 = NANA$

Das Anfugen des $-Zeichens an die betrachtete Zeichenkette ist wichtig, um dielexikographische Sortierung durchfuhren zu konnen, also die Suffixe prafixfrei zubekommen.

Tabelle 4.5 stellt das Suffix-Array fur das Beispiel dar, wobei man annimmt, dass$ lexikographisch kleiner ist als die anderen Zeichen des Alphabets. Das Arraykann mit Zusatzinformationen erweitert werden, unter anderem z.B. die Lange deslangsten gemeinsamen Prafixes mehrerer Suffix-Paare. Dies entspricht den gemein-samen Vorfahren (inneren Knoten) der durch die Blatter dargestellten Suffixe im

58

Page 65: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4.4. Suffix-Arrays

Suffix-Baum. Die Benutzung der Zusatzinformationen fuhrt zum einen zur Ver-schlechterung des Speicherplatzes, zum anderen wiederum zur Zeitersparnis. MehrInformationen und Erklarungen zu Suffix-Arrays sind in [6] und [9] zu finden.

4.4.1. Erweiterte Suffix-Arrays

Mit Hilfe der Suffix-Arrays kann, auf ahnliche Weise wie mit den Suffix-Baumen,eine Datenstruktur aufgebaut werden, die bei der Bestimmung der Pattern vonBakteriensequenzen behilflich sein kann. Es reicht eine der beiden Datenstruktu-ren zu implementieren, da beide das Problem auf ahnliche Weise losen wurden.Suffix-Baume sind den Suffix-Arrays uberlegen, da sie zusatzliche dargestellte In-formationen bspw. uber die Vorfahren des Suffix enthalten. Es existieren jedochauch kompakte und komprimierte Suffix-Arrays, die in linearer Zeit mit linearemPlatz so erweitert werden konnen, das in ihnen auch Suffix-Links benutzt werdenkonnen. Durch die Betrachtung der Laufzeit und des Speicherplatzes soll entschie-den werden, welche der beiden Datenstrukturen sich fur unser spezielles Problemam meisten eignet:

4.4.2. Speicherplatz- und Laufzeit-Betrachtung

In einem Suffix-Array wird jedes Suffix als Eintrag des Arrays abgespeichert. AlsSpeicherplatzbedarf wird ein Array einer Mindestlange von n benotigt, ohne Zu-satzinformationen zu den Suffixen zu berucksichtigen. Die Anzahl von n Elementenist zwar niedriger als die Knoten-Anzahl bei den Suffix-Baumen, jedoch hat manviel weniger Informationen gegeben, wie bspw. gemeinsame Prafixe der jeweili-gen Suffixe, die fur uns von großer Bedeutung sind. Dies ist genau die Anzahlder Elemente, die bei den Suffix-Baumen den hoheren Verbrauch ausmacht. Furgroße Alphabete sind die Suchanfragen nach einer Zeichenkette bei Suffix-Arrayswesentlich effizienter. Suffix-Baume hingegen konnen schneller konstruiert werden.

Fur die Konstruktion von Suffix-Arrays gibt es mehrere Algorithmen (bspw. in[12]) mit unterschiedlichen Laufzeiten:

Induktiver Algorithmus: O(n ∗ log(n))

Konstruktion aus Suffix-Baum: O(n)Jedoch: Speicherplatz wie bei Suffix-Baumen, da das Array aus dem Baumkonstruiert wird.

Algorithmus von Manber und Myers: O(n ∗ log(log(n)))In [7] zeigen Manber und Myers, dass auf Kosten einer Speicherplatzerhohungauch eine Laufzeit von O(n) erreicht werden kann, unabhangig von der Al-phabetgroße. Dabei werden, ahnlich den Suffix-Baumen, die gemeinsamenPrafixe der einzelnen Suffixe gespeichert.

59

Page 66: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

4. Algorithmen zur Patternbestimmung

Skew-Algorithmus von Karkkainen und Sanders: O(n) und mit geringemSpeicherbedarf. (Einzelheiten sind in [4] und [11] zu finden.)

Bei der Betrachtung von Pattern unterschiedlicher Lange sind die Zusatzinforma-tionen der Suffix-Baume, wie gemeinsame Vorfahren, vorteilhaft, um nicht allePattern unterschiedlicher Langen speichern zu mussen. Suffix-Arrays mussten alsodementsprechend nach dem Algorithmus von Manber und Myers konstruiert wer-den um diese Eigenschaften auch bei den Suffix-Arrays zu garantieren. Die Laufzeitdieses Algorithmus ist schlechter als die Laufzeit, die man mit dem Ukkonen Algo-rithmus bei den Suffix-Baumen erreicht. Einen Vergleich der Zeiten, des Speicher-bedarfs, der Konstruktionszeit und der Zeit fur Suchanfragen in Abhangigkeit vonder Lange des Alphabets und sowohl fur Zufallstexte als auch spezielle Texte, unteranderem auch DNA-Sequenzen, findet man in Abbildung 4.12.

Abbildung 4.12.: Vergleich der Zeiten zwischen Suffix-Arrays und Suffix-Baumen,n = 100000 (alle Zeiten in Sekunden) Suche: m = 20, 100000erfolgreiche Anfragen, siehe [11]

Der Unterschied der Laufzeit wird hier besonders deutlich. Betrachtet man sowohlDNA-Sequenzen, als auch Zufallstexte mit Alphabetlange 4, so ist zu sehen, dassSuffix-Baume weniger als 1

6(1

4) der Konstruktionszeit der Suffix-Arrays brauchen.

Die Suchanfragen konnen bei DNA-Sequenzen in Suffix-Arrays zwar um einigesschneller ausgefuhrt werden. Da das Interesse bei der Betrachtung unterschiedlicherBakteriensequenzen nicht beim Suchen eines bestimmten Patterns, sondern beidem Vergleich der einzelnen Pattern liegt, sind Suffix-Baume fur diesen Zweckvorteilhafter. Der Speicherplatz, der fur ein Suffix-Array benotigt wird, ist umeiniges kleiner, als der fur Suffix-Baume. Da in der vorliegenden Diplomarbeitjedoch nicht die kompletten Suffixe, sondern die Teilsequenzen einer bestimmtenLange von Interesse sind, und diese relativ kurz (Pattern-Lange m) sind, ist derSpeicherplatzverbrauch nur wenig von Interesse.

Aus diesen Grunden wird der Ansatz der Suffix-Arrays zur Bestimmung der Pat-tern der vorgegebenen Bakteriensequenzen nicht weiter verfolgt.

60

Page 67: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

Im vorherigen Kapitel wurden Algorithmen zur Patternklassifizierung vorgestellt.Aus diesen Pattern mussen Marker ausgewahlt werden. Zu entwickeln ist ein Al-gorithmus zur Bestimmung der besten Pattern. Bei dieser Selektion der Patternspielen verschiedene Faktoren eine Rolle. Es gibt keine allgemein gultige Regel,nach der Pattern selektiert werden. Statistische Informationen werden dazu be-nutzt, um Aussagen daruber zu treffen, wann ein Pattern als Marker in Fragekommt. Die Besten davon werden als Marker ausgewahlt.

In Abschnitt 5.1 werden diese Faktoren kurz vorgestellt und in den Unterab-schnitten werden die einzelnen genauer betrachtet. Bei der Bestimmung vonMarkersatzen existieren Großen, auf die kein Einfluss genommen werden kann.Dies sind fest vorgegebene aber unbekannte Großen. Diese Großen betreffen bspw.die Reads, in denen nach Markern gesucht wird. Beispielsweise spielt die Langeund die Anzahl bzw. Abdeckung der Reads, die eine Probe reprasentieren, einewichtige Rolle, da die Kennzahlen der Marker dementsprechend angepasst werdenund somit bestimmte Werte erreichen mussen. Die Großen sind jedoch von Pro-be zu Probe unterschiedlich. Deshalb lassen sich daruber keine genauen Aussagenmachen. Bei fest vorgegebenen Werten konnten bessere Abhangigkeiten hergestelltwerden und die Werte fur die Marker genauer gewahlt werden.

Mit Hilfe der statistischen Werte konnen Pattern der”Gute“ nach sortiert werden.

Fur die Markerauswahl werden in Abschnitt 5.2 zwei Verfahren vorgestellt. Daseine Verfahren liefert eine fest vorgegebene Anzahl an benotigten Markern fur einefeste Marker-Lange. Die Wahl der Marker geschieht an Hand einer Heuristik, diefur jedes Pattern mit Hilfe der statistischen Informationen die Qualitat bestimmt.Die Pattern mit der besten Qualitat werden als Marker gewahlt. Die Idee des zwei-ten Verfahrens ist es, auf Basis dieser Heuristik die Lange der Pattern variabel zuwahlen. Wie auch bei dem ersten Verfahren wird mit Hilfe der statistischen Wer-te die Qualitat jedes Pattern diesmal in Abhangigkeit von der Lange bestimmt.Dabei wird die Qualitat der langeren Pattern im Verhaltnis zu den Prafixen die-ser Pattern gesetzt, bei Berucksichtigung der jeweiligen Lange. Bei der Wahl derLange spielen weitere Faktoren als die Pattern-Qualitat eine Rolle. Dieses Verfah-ren ist stark abhangig vom Einsatzgebiet. Fur DNA’s sind die Voraussetzungenbeispielsweise ganz anders, als wenn man Texte betrachtet. Aus diesem Grund isteine genauere Einarbeitung in das Einsatzgebiet unumganglich.

61

Page 68: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

5.1. Berechnung der statistischen Großen

Die folgenden Faktoren spielen bei der Betrachtung von”guten Markern“ eine

wichtige Rolle:

Pattern-Haufigkeit Eines der wichtigsten Merkmale der Marker um charakteris-tisch fur ein Bakterium zu sein, ist die Haufigkeit des Auftretens in der jewei-ligen Bakteriensequenz. Bei der Betrachtung der Pattern-Haufigkeit musseneinige Punkte befolgt werden:

1. Damit kann bestimmt werden, wie gut das Pattern der Haufigkeit nachals Marker geeignet ware. Hohe Werte sind optimal.

2. Betrachtung der Haufigkeit des Auftretens dieses Markers in allen ande-ren Bakteriensequenzen. Mit einem in mehreren Bakterien haufig auf-tretenden Pattern ist die eindeutige Zuordnung von Markern zu einerBakteriensequenz nicht gegeben. Diese Eigenschaft der eindeutigen kannmit der

”Pattern-Qualitat“ gewahrleistet werden.

3. Berucksichtigung des biologischen Hintergrunds. Es kommt vor, dassBakteriensequenzen bspw. fremde DNA von anderen Bakteriensequen-zen enthalten. Das bedeutet, dass Marker eines Bakteriums auch inanderen Bakteriensequenzen vorkommen durfen, jedoch in einer sehrgeringen Anzahl.

Pattern-Lange Die spatere Verwendung der gesuchten Markersatze ist die Su-che dieser Marker in den vorgegebenen Reads einer Probensequenz. Fur dieSuche der Marker muss die Lange der Marker im Verhaltnis zu den Readsberucksichtigt werden. Die Marker werden nur gefunden, wenn sie vollstandigin den Reads enthalten sind. Optimal ist es, wenn sie so kurz wie moglichgewahlt werden, um die Wahrscheinlichkeit, gefunden zu werden, zu erhohen.

Pattern-Frequenz Die Abdeckung der Probensequenz und somit der Bakterien-sequenzen durch die vorgegebenen Reads muss nicht immer hoch sein. DieWahl der Marker muss so erfolgen, dass das Auftreten der Marker in diesen(wenigen) Reads so hoch wie moglich ist. Dazu betrachtet man die Pattern-Frequenz, definiert als der Abstand zweier aufeinander folgender Auftretendes Patterns in der Bakteriensequenz, welches dann als Marker gewahlt wird.Damit ein Pattern

”charakteristisch“ fur ein Bakterium ist, muss es in der

Bakteriensequenz moglichst gleichmaßig auftreten, d.h. die Frequenz uberdie gesamte Bakteriensequenz muss ungefahr immer gleich bleiben. Um dieVerteilung der Frequenz zu untersuchen werden der Erwartungswert und dieStandardabweichung berechnet.

Pattern-Qualitat Die Pattern-Qualitat betrachtet das Verhaltnis der Haufigkeitdes Auftretens eines Patterns p in dem betrachteten Bakterium imVerhaltnis zu der Auftrittshaufigkeit von p in den anderen vorgegebenenBakteriensequenzen. Mit der Pattern-Qualitat kann bestimmt werden, wie

62

Page 69: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5.1. Berechnung der statistischen Großen

”uberreprasentiert“ das Pattern in der betrachteten Bakteriensequenz ist.

In den nachsten Abschnitten wird auf die Einzelheiten etwas genauer eingegan-gen. Die Faktoren zur Wahl eines Markers werden durch Kennzahlen definiert.Diese Kennzahlen werden in Kapitel 7 durch Diagramme visualisiert und wirdihre Eignung dargestellt. Im Vergleich dazu werden die Kennzahlen auch fur Zu-fallssequenzen ausgewertet und die Ergebnisse verglichen.

Sobald in diesem Kapitel von einem Bakterium b die Rede ist, so gilt: b ∈ B ={b1, . . . , bk}.

5.1.1. Pattern-Haufigkeit

Wie haufig ein Pattern in einer Bakteriensequenz auftritt, ist entscheidend fur dieWahl der Marker. Gewunscht sind grundsatzlich Pattern, die in einem Bakteriumsehr haufig vorkommen und in allen anderen Bakteriensequenzen gar nicht auftre-ten. Diese Bedingung kann nicht ohne Weiteres erfullt werden, da unter anderemdie Bakterien beispielsweise fremde DNA in ihre eigene einbauen. Es kommt alsovor, dass eine Teilsequenz der DNA des betrachteten Bakteriums in einer anderenBakteriensequenz auftritt. Die Bedingung, dass ein Pattern in anderen Bakterien-sequenzen nicht vorkommt, wird etwas abgeschwacht. Demnach kommen diejeni-gen Pattern als Marker in Frage, die uberreprasentiert sind, also in der jeweiligenBakteriensequenz am haufigsten auftreten. Des Weiteren muss berucksichtigt wer-den, wie oft das betrachtete Pattern in anderen Bakteriensequenzen auftritt. Diessoll mit Hilfe der Pattern-Qualitat erfolgen.

Der Aufbau der DNA enthalt andere Bestandteile, die Besonderheiten der DNAsind, und nur in diesem Anwendungsfeld auftreten. So enthalt die DNA Start- undStopp-Codons (siehe Kapitel 2.1). Jede DNA-Sequenz enthalt diese Teilsequenzen.Mit dem Algorithmus muss gewahrleistet werden, dass diese Teilsequenzen nichtals Marker gewahlt werden konnen. Da sie aber in allen Bakteriensequenzen auf-treten, erfullen sie die Bedingung der Uberreprasentiertheit nicht, und werden mitHilfe der Haufigkeitsbestimmung aussortiert. Es braucht nichts weiter gemacht zuwerden.

Die Pattern-Haufigkeiten fur die k-Bakteriensequenz, also die Haufigkeit des Auf-tretens fur jedes b, konnen auf verschiedene Arten ins Verhaltnis gesetzt werden.Eine Moglichkeit ist es, die Haufigkeiten des Auftretens fur jedes Bakterium zuspeichern. Aus Speicherplatz-Grunden ware eine zweite Moglichkeit denkbar umdie Qualitat in mehreren Varianten speichern und diese Varianten auswerten zukonnen, die hier nicht verfolgt wird. Die zweite Moglichkeit ware die hochste undzweithochste Anzahl des Auftretens zu speichern und in das Verhaltnis zu setzen.Damit kann auf jeden Fall bestimmt werden, ob ein Pattern in einem Bakteriumgegenuber allen anderen Bakterien uberreprasentiert ist und wie oft es hochstensin anderen Bakterien auftritt. Mit diesen Haufigkeiten konnte man auf eine Artdie Qualitat des Patterns bestimmen (siehe Abschnitt 5.1.4).

63

Page 70: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

Die erste Klassifizierung eines Patterns sei die folgende Kennzahl:

Kennzahl 1:Pattern p tritt in der Bakteriensequenz b genau hp(b) Mal auf.

Die Positionen der hp(b) Auftreten seien x0, . . . , xh−1, wobei sie der Große nachsortiert seien, angefangen mit der niedrigsten Position (x0 < x1 < . . . < xh−1).

5.1.2. Pattern-Lange

Zur Betrachtung der Pattern-Lange soll vorerst der Zusammenhang zwischen denLangen der Bakteriensequenz, eines Reads und eines Markers verdeutlicht wer-den. Abbildung 5.1 zeigt eine Bakteriensequenz. Reprasentativ sind zu einer Pro-bensequenz Reads enthalten, die einen Teil der in der Probensequenz enthaltenenBakteriensequenz darstellen. Die gesuchten Marker mussen also moglichst kurzsein und regelmaßig auftreten, um die Wahrscheinlichkeit zu erhohen, die fur einBakterium charakteristischen Marker in den Reads zu finden.

Abbildung 5.1.: Langenverhaltnisse zwischen der Lange n der Bakteriensequenz b,der Lange l eines Reads und der Lange m eines Markers

Um einen Zusammenhang zwischen der im vorherigen Abschnitt betrachtetenPattern-Haufigkeit und der Pattern-Lange eines Patterns und somit potenziel-len Markers herzustellen, wird eine Formel fur das Verhaltnis der Haufigkeit inAbhangigkeit von der Pattern-Lange und der Lange der Reads aufgestellt. Um dasVerhaltnis dieser Variablen zu betrachten, sei angenommen, dass die Teilsequen-zen (in diesem Fall Pattern) in der Bakteriensequenz b gleichmaßig verteilt seien.Dann betragt die Haufigkeit hp(r) des Auftretens eines Pattern p der Lange m ineinem Read r der Lange l mit dem Patternalphabet Π:

hp(r) =

(1

|Π|

)m

∗ (l −m+ 1).

Der Wert fur die Haufigkeit des Auftretens setzt sich zusammen aus der Wahr-

64

Page 71: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5.1. Berechnung der statistischen Großen

scheinlichkeit, ein bestimmtes Pattern der Lange m bei einem Alphabet der Große|Π| = 4 zu finden, und der Anzahl der moglichen Pattern in einem Read.

Die Lange l der Reads (ca. 30 − 800 Bp) ist nicht fest vorgegeben. Deshalb kannauf diesen Wert in der Diplomarbeit kein Einfluss genommen werden.

Mit der oben vorgestellten Formel fur die Haufigkeit eines Patterns in einem Readgefunden zu werden, ergeben sich fur die Lange der Pattern folgende Tatsachen:

• Je kurzer ein Pattern ist, desto großer ist die Wahrscheinlichkeit fur das

Pattern in den Reads gefunden zu werden, da(

1|Π|

)m

mit m exponentiell

fallt.

• Je langer die Pattern und somit Marker sind, desto charakteristischer sind siefur ein Bakterium, weil sie in anderen Bakteriensequenzen mit zunehmenderLange seltener auftreten.

Die Teilsequenzen einer DNA-Sequenz sind nicht gleichmaßig sondern, ganz unter-schiedlich verteilt (siehe Auswertungs-Kapitel 7). Die Verteilung der Pattern kannmit Hilfe der Pattern-Frequenz bestimmt werden.

5.1.3. Pattern-Frequenz

Die Pattern-Frequenz oder auch Pattern-Periode (engl.: frequency) spielt nebender Auftrittshaufigkeit eine wichtige Rolle bei der Wahl der Marker. Betrachtetman Abbildung 5.1, so wird deutlich, dass ein regelmaßiges Auftreten der Patternfur die Wahl der Marker entscheidend ist. Die gegebenen Reads decken nur einenkleinen Teil der kompletten Bakteriensequenz ab. Tritt ein Pattern an mehrerenStellen gehauft auf, in den Teilsequenzen dazwischen jedoch gar nicht, so eignetes sich nicht als Marker. Denn reprasentiert der Read genau diese Teilsequenz, inder das Pattern nicht auftritt, so wird der Marker und somit die Bakteriensequenznicht im Probenmaterial gefunden. Die Pattern, die als Marker ausgewahlt werden,sollten also immer wieder auftreten.

Abbildung 5.2.: Berechnung der Pattern-Frequenz

Unter Frequenz eines Pattern wird hier die Differenz der Positionen zwei-er aufeinander folgender Auftreten des Patterns verstanden. Tritt p in ban Position xi−1 und als nachstes an Position xi auf, so ist die Frequenz:fi = xi − xi−1, fur 1 ≤ i < hp(b). Um den Speicherplatzbedarf so niedrig wie

65

Page 72: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

moglich zu halten wird nicht jede einzelne Frequenz, sondern zu jedem Patterndie minimale, maximale, durchschnittliche Frequenz (Erwartungswert) und dieStandardabweichung gespeichert.

Es ergeben sich fur die Betrachtung der Frequenz folgende Kennzahlen:

Kennzahl 2 (minimale Frequenz):

f min = min1≤i<h

{fi}

Kennzahl 3 (maximale Frequenz):

f max = max1≤i<h

{fi}

Kennzahl 4 (Erwartungswert):

f =1

h− 1

h−1∑i=1

fi

Kennzahl 5 (Standardabweichung):

σ =

√√√√ 1

h− 1

h−1∑i=1

(fi − f)2

Um die Standardabweichung berechnen zu konnen, muss vorerst von allen Fre-quenzen der Erwartungswert gebildet werden. Erst dann konnen die Differenzenzwischen der jeweiligen Frequenz und dem Erwartungswert berechnet werden. Beider Bestimmung der Pattern einer Bakteriensequenz werden die Frequenzen nichtgespeichert. Bei der Bestimmung einer Frequenz fi wird fi−1 verworfen. Um nun so-wohl den Erwartungswert, als auch die Standardabweichung bestimmen zu konnen,mussten bei der Bestimmung der Pattern jeweils zwei Durchlaufe gemacht werden.Im ersten wurde der Erwartungswert gebildet werden und im zweiten auf Basis desersten die Standardabweichung. Aus Laufzeit-Grunden soll dies moglichst verhin-dert werden. Folgende Umformung liefert eine Formel fur die Standardabweichung,mit der die Zwischenschritte unabhangig von dem Erwartungswert berechnet wer-den konnen.

66

Page 73: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5.1. Berechnung der statistischen Großen

h−1∑i=1

(fi − f)2 =h−1∑i=1

(fi2 − 2fif + f 2)

=

(h−1∑i=1

fi2

)−

(2f

h−1∑i=1

fi

)+ (h− 1)f 2

=

(h−1∑i=1

f 2i

)− 2f((h− 1)f) + (h− 1)f 2

=

(h−1∑i=1

f 2i

)− 2(h− 1)f 2 + (h− 1)f 2

=

(h−1∑i=1

f 2i

)− (h− 1)f 2

σ=

√√√√ 1

h− 1

h−1∑i=1

(fi − f)2

=

√√√√ 1

h− 1

((h−1∑i=1

fi2

)− (h− 1)f 2

)

=

√√√√ 1

h− 1

(h−1∑i=1

fi2

)− f 2

Es werden beim Durchlauf durch die Sequenz parallel beide Werte bestimmt undder Erwartungswert nach der Bestimmung aller Frequenzen subtrahiert. Mit dieserFormel ist bei der Bestimmung der Pattern mit den zugehorigen Frequenzen nurein Durchlauf durch die DNA-Sequenz notwendig um sowohl den Erwartungswert,als auch die Standardabweichung zu bestimmen.

5.1.4. Pattern-Qualitat

Die Pattern-Qualitat wird jeweils pro Pattern p ∈ Pmi , |p| = m und Bakterium

bi ∈ B = {b1, . . . , bk} bestimmt, wobei k = |B| die Anzahl der vorgegebenen Bak-teriensequenzen ist. Die Pattern-Qualitat stellt das Verhaltnis der Haufigkeit desAuftretens von p zu den Auftreten von p in anderen vorgegebenen Bakteriense-quenzen dar. Mit ihr kann der Grad der Uberreprasentiertheit bestimmt werden.Je hoher die Qualitat, desto besser ist das Pattern als Marker geeignet, was dieQualitat anbetrifft.

67

Page 74: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

Es gibt mehrere Varianten die Pattern-Qualitat zu definieren. Im Folgenden seienvier Varianten aufgefuhrt, die fur die Betrachtung von Pattern am sinnvollstenerscheinen:

Kennzahl 6:

1.

qp(bi) = min1≤j≤k

{ hp(bi)

hp(bj)| j 6= i}

⇔ qp(bi) =hp(bi)

max1≤j≤k

{ hp(bj)|j 6= i}

2.

qp(bi) = min1≤j1<j2≤k

{ hp(bi)

2 ∗ hp(bj1)+

hp(bi)

2 ∗ hp(bj2)| j1 6= i 6= j2}

3.

qp(bi) =hp(bi)(

k∑j=1,j 6=i

hp(bj)

)/ (k − 1)

=hp(bi)(k − 1)

k∑j=1,j 6=i

hp(bj)

Fur die Qualitat vo 1− 3 sollen nur diejenigen Pattern p ∈ Pmi betrachtet

werden, fur die gilt: qp(bi) > 1. Nur diese Pattern kommen als Marker inFrage.

4.

qp(bi) =hp(bi)

k∑j=1

hp(bj)

=hp(bi)

hp(bi) +k∑

j=1,j 6=i

hp(bj)

, 0 ≤ qp(bi) ≤ 1

Zu 1: Die erste Variante der Definition der Pattern-Qualitat gibt das Verhaltnisdes betrachteten Patterns der i-ten Bakteriensequenz zu der zweitgroßten Auf-trittshaufigkeit dieses Patterns in einem der anderen Bakterien an. Es werden nurPattern herausgefiltert, fur die gilt qp(bi) > 1. Diese Bedingung garantiert, dassdas Pattern p in der Bakteriensequenz bi am haufigsten auftritt. Die Betrachtungdes zweitgroßten Wertes stellvertretend fur alle anderen Werte reicht aus, um Aus-sagen daruber treffen zu konnen, in welchem Verhaltnis das Pattern, im Hinblickauf das Bakterium, uberreprasentiert ist. Die Qualitat ist nur fur diejenigen Pat-tern definiert, die in bi uberreprasentiert sind, d.h. qp(bi) > 1 gilt. Diese Definition

68

Page 75: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5.1. Berechnung der statistischen Großen

der Pattern-Qualitat ist abhangig von der Anzahl der zur Verfugung stehenden zuuntersuchenden Sequenzen. Sind viele Sequenzen gegeben, so sinkt die auf dieseWeise definierte Pattern-Qualitat.

Diese Variante der Bestimmung der Pattern-Qualitat ist fur die Umsetzung imHinblick auf den Speicherplatz optimal, da nur zwei Werte pro Pattern fur diegesamte k-Bakteriensequenz gespeichert werden mussen.

Zu 2: Hier wird die Qualitat analog zum Fall 1 berechnet, nur dass hier dieSumme aus zwei Differenzen gebildet wird. Es wird nicht nur ein minimaler Wert,sondern das Minimum der Summe der zwei minimalsten Differenzen gebildet. D.h.hier werden die drei Bakterien betrachtet, in denen dieses Pattern am haufigstenauftritt. Die Differenzen werden normiert, um das Verhaltnis beizubehalten. DerWert fur die Qualitat ist in diesem Fall kleiner gleich dem unter Fall 1. Bei dieserDefinition muss auch qp(bi) > 1 gelten. Jedoch gewahrleistet die Bedingung indiesem Falle nicht, dass das Pattern p in bi am haufigsten auftritt. Gegenbeispiel:Man nehme an, hp(bi) = 20, hp(bj1) = 25, hp(bj2) = 15 fur die beiden hochstenWerte hp(bj1) und hp(bj2). Dann ist

qp(bi) =20

2 ∗ 25+

20

2 ∗ 15=

60 + 100

150=

16

15> 1.

Jedoch ist p in bi nicht am haufigsten vertreten. Wenn die Werte also eng beieinan-der liegen, dann ist die erste Variante genauer. Es folgt: Je großer qp(bi) ist, destobesser eignet sich das Pattern fur die Markerauswahl.

Zu 3: Die dritte Variante stellt eine abgeschwachte Variante der Qualitat dar.Diese Bestimmung der Pattern-Qualitat berucksichtigt die Haufigkeit des Auftre-tens von p in allen anderen Bakteriensequenzen im Durchschnitt. Der Wert wirdauch wie bei der zweiten Variante normiert. Man erhalt das Verhaltnis der Auf-trittshaufigkeit des Patterns in bi und dem Durchschnitt der Auftrittshaufigkeitendes Patterns uber alle anderen vorgegebenen Bakteriensequenzen. Die Bedingungqp(bi) > 1 erfullt genauso wie in 2 nicht die Bedingung, dass das Pattern not-wendigerweise uberreprasentiert ist, da hier der Durchschnitt gebildet wird undBakteriensequenzen, in denen das Pattern gar nicht auftritt eine hohe Anzahlder Auftreten in einer weiteren Bakteriensequenz ausgleichen. Dieses Maß fur diePattern-Qualitat ist unabhangig von der Anzahl der zur Verfugung stehenden Bak-teriensequenzen, da die arithmetische Mittel genommen wird und sich die Wertesomit ausgleichen.

Normiert man die Summe nicht, so erhalt man das Verhaltnis zwischen der Auf-trittshaufigkeit des Patterns in bi und der Auftrittshaufigkeit in allen anderenBakteriensequenzen. Gilt dann qp(bi) > 1, so tritt das Pattern in allen anderenBakteriensequenzen zusammen seltener auf, als in bi. Diese Pattern stellen sehrgute Marker dar. Nach dem Auffinden des Markers in dem Probenmaterial konnendiese gut dem Bakterium zugeordnet werden, in dem sie am haufigsten auftreten,

69

Page 76: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

da die Anzahl des Auftretens dieses Markers in anderen Bakterien niedrig ist.

Zu 4: Die vierte Definition stellt das Verhaltnis des Auftretens des Patterns pzu der Gesamtheit des Auftretens von p in allen Bakteriensequenzen. Gewunschtist eine Pattern-Qualitat von 1, da das Pattern dann in keiner anderen Bakteri-ensequenz auftritt. Je kleiner der Wert ist, desto weniger charakteristisch ist dasPattern fur die Bakteriensequenz bi. Zu untersuchen bliebe nun, ob und wie vielePattern pro Bakteriensequenz b existieren, deren Pattern-Qualitat nahe der 1 liegt.Betrachtet man Zufallssequenzen, deren Teilsequenzen gleichmaßig verteilt sind,so durfen keine Pattern mit einer Qualitat nahe der 1 vorkommen. Die Ergebnissezu diesen Auswertungen sind in Kapitel 7 zu finden.

Die Pattern-Qualitat gewahrleistet in jedem der vier Falle, dass Start- und Stopp-Codons ausgefiltert werden, da diese in allen Sequenzen vorkommen und qp(bi) > 1nicht erfullen. Die Bedingung der Fremd-DNA von Bakteriensequenzen in anderenbetrachteten Bakteriensequenzen wird auch berucksichtigt, indem das Auftreteneines Patterns auch in anderen von bi unterschiedlichen Bakteriensequenzen zuge-lassen und nicht ausgeschlossen wird.

Fur die Implementierung wurde die Pattern-Qualitat mit der 1. und der 4. Kenn-zahl bestimmt. Die Entscheidung fiel auf die 1. Kennzahl, da in der Medizin dieBedingung der Uberreprasentiertheit bei der Bestimmung der Marker wichtig ist.Diese Definition der Pattern-Qualitat hat einen weiteren Vorteil, und zwar kannman den Faktor g vorgeben, in welchem Maße die fur die Marker in Frage kom-menden Pattern in bi haufiger auftreten sollen als in der Bakteriensequenz mitder zweit hochsten Auftrittshaufigkeit qp(bi) > g, stellvertretend fur jede andereBakteriensequenz.

5.2. Wahl der Marker

Nach der Bestimmung aller moglichen Pattern pro Bakteriensequenz erfolgt dieKlassifizierung dieser. Dazu werden die oben vorgestellten Kennzahlen verwendet.Die Wahl der Marker erfordert eine Heuristik, mit der jedes Pattern auf eine Qua-litat abgebildet wird, um dann aus den gegebenen Pattern die Besten als Markerauszuwahlen. Die mit dieser Heuristik definierte Qualitat ist eine andere als dieoben definierte. Sie benutzt die in Abschnitt 5.1 vorgestellten Kennzahlen und gibtan, wie gut ein Pattern als Marker geeignet ist. Fur die Auswahl der Marker mitder Heuristik dient eines der folgenden Auswahlverfahren:

Statisches Auswahlverfahren: Man gebe eine feste Große c fur die Anzahl undm fur die Lange der benotigten Marker vor und selektiere die besten cMarker aus den moglichen Pattern. Es handelt sich hier um ein statischesAuswahlverfahren, da die Lange der Pattern fest vorgegeben ist. Die Qua-litat der Marker wird aus den Kennzahlen fur die Pattern-Qualitat, Pattern-

70

Page 77: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5.2. Wahl der Marker

Haufigkeit und Pattern-Frequenz berechnet. Hierbei kann entweder einer derFaktoren berucksichtigt oder eine Kombination aus mehreren Werten benutztwerden.

Dynamisches Auswahlverfahren: Bei diesem Verfahren wird die Lange m derMarker nicht fest vorgegeben, sondern soll dynamisch gewahlt werden. DieBetrachtung der Qualitat der Pattern zur Auswahl als Marker geschieht inAbhangigkeit von der Lange der Pattern. Die maximale Anzahl c der Markerkann vorgegeben werden. Sollte vorher eine gute Gesamtqualitat aller Mar-ker erreicht werden bzw. nicht genugend Marker vorhanden sein, so werdenweniger als c Marker pro Bakteriensequenz bestimmt. Bei diesem Verfahrensind folgende Faktoren zu berucksichtigen:

• Die Pattern-Lange m in Abhangigkeit von der Lange l der Reads undder Haufigkeit hp(bi) des Patterns p in dem i-ten Bakterium. Dann istdie Haufigkeit des Auftretens von p in einem Read r bei gleichmaßigerVerteilung in der Bakteriensequenz:

hp(r) =hp(bi)

(n−m+ 1)(l −m+ 1)

• Die Lange der Reads ist nicht vorgegeben.

• Die Lange der Bakteriensequenzen ist unterschiedlich.

• Die Anzahl der Bakteriensequenzen ist pro Durchlauf unterschiedlich.Kennzahl 6.1 liefert fur eine unterschiedliche Zahl der Bakterien anderePattern-Qualitatswerte.

• Die Pattern-Qualitat ist im Verhaltnis zu der Pattern-Lange unter-schiedlich. Ist eine bestimmte Pattern-Qualitat erreicht, so mussen diekurzeren Pattern nicht weiter betrachtet werden.

• Die Verteilung der Teilsequenzen ist, da im allgemeinen keinegleichmaßige Verteilung vorliegt, ganz unterschiedlich. Dazu muss diePattern-Frequenz betrachtet werden.

• Fur die Pattern, die in einer Bakteriensequenz gleichmaßig auftre-ten, also einen bestimmten Wert fur die maximale Frequenz nichtuberschreiten, mussen Randanomalien betrachtet werden. Die Frequenzist die Differenz zwischen zwei aufeinander folgenden Auftreten des Pat-terns. Die Rander werden bei der Betrachtung der Frequenz außer Achtgelassen. Es ist wichtig zu gewahrleisten, dass die Pattern auch an denRandern auftreten, und sich nicht in der Mitte anhaufen. Dies kannbeispielsweise dadurch gepruft werden, dass der Erwartungswert f desPattern in bi ungefahr gleich n/hp(bi) ist, wobei |bi| = n. Es existie-ren genau hp(bi) − 1 Frequenzen und linker und rechter Rand werdenjeweils als halbe Frequenz gezahlt. Ist f ≈ n/hp(bi), so treten keineRandanomalien auf.

71

Page 78: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

5. Patternselektion

• Bei der Wahl eines kurzeren Patterns p der Lange m statt eines langerenPatterns der Lange max, das p als Prafix enthalt, werden moglichePattern verworfen. Je kurzer das Pattern p gewahlt wird, desto mehrMoglichkeiten werden unberucksichtigt gelassen. In Abbildung 5.3 istdie Situation dargestellt. Die Anzahl aller verworfener Pattern derLange max, die p als Prafix enthalten, ist hochstens |Π|max−m (in Ab-bildung 5.3 dargestellt durch ein Dreieck).

Abbildung 5.3.: Verworfene mogliche Pattern bei Wahl eines kurzeren Patterns alsMarker

Dieses Verfahren gewahrleistet in jedem Falle, dass fur eine Teilsequenz dieLange mit der fur diese Teilsequenz besten Qualitat als Marker gewahlt wird.Dadurch wird die Zuordnung der Marker zu den Bakterien besser.

Die dynamische Wahl der Lange der Marker wird von vielen Faktoren be-einflusst, auf die teilweise in dieser Diplomarbeit kein Einfluss genommenwerden kann und die nicht genau vorgegeben sind. Die Entwicklung diesesVerfahrens erfordert viel medizinisches Hintergrundwissen, das hier in dembenotigten Umfang nicht vertieft werden konnte. Aus diesem Grunde konntedas dynamische Auswahlverfahren nicht implementiert werden.

Die Implementierung des statischen Auswahlverfahrens und erste Uberlegungenzum dynamischen Ansatz werden im nachsten Kapitel, in Abschnitt 6.3, vorge-stellt. Die Auswertungen der Kennzahlen sind in Kapitel 7 zu finden.

72

Page 79: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

Nach der Betrachtung der Problemstellung und den vorgestellten Ansatzen zurLosung des Problems, soll im Folgenden ein Uberblick uber die implementiertenAlgorithmen gegeben werden. Der in Kapitel 3 vorgestellte Algorithmus wurde inmehrere Teile unterteilt. Es mussen vorerst Pattern bestimmt werden, die dannmit Hilfe von statistischen Informationen selektiert werden, um aus den gefun-denen Pattern mit einer Heuristik Marker fur jede vorgegebene Bakteriensequenzauszuwahlen.

Der Algorithmus unterteilt sich in folgende Packages:

• de.luh.psue, das die Klasse zum Erzeugen von Java Zufallssequenzenenthalt,

• de.luh.psue.dna ist zustandig fur die Verarbeitung der DNA-Sequenzen,bestehend aus folgenden Packages:

– classify, in dem das Interface IClassificationAlgorithm, die Klas-se ClassificationAlgorithm und die Heuristiken zu einem Pattern indem Interface IPatternInfo implementiert sind (siehe Abbildung 6.1),

– classify.algorithms, in dem die Algorithmen zur Klassifizierung derPattern implementiert sind (siehe Abbildung 6.2),

– filter, zustandig fur das Filtern der Pattern, um daraus mit Hilfe vonHeuristiken Marker zu erhalten (siehe Abbildung 6.4),

– und statistics, welches Diagramme fur die Auswertung der Datenerzeugt (siehe Abbildung 6.5).

• de.luh.psue.statistics ist unabhangig von DNA, das die KlasseResultStore enthalt, mit Hilfe der die Werte fur die Auswertungs-Diagramme gespeichert werden (ebenfalls Abbildung 6.5)

Fur die Ausfuhrung der Algorithmen wurde ein MacBook Pro mit Intel Core 2Duo (2,4 GHz) und 4GB RAM unter MacOS X 10.5.6 verwendet. Als Program-miersprache wurde Java Standard Edition 6 gewahlt. Java ist von der Laufzeither, verglichen mit der Programmiersprache C, schlechter, jedoch wurden die Al-gorithmen so umgesetzt, dass auf laufzeitintensive Elemente von Java verzichtetwurde. Besonders bei der Datenstruktur der Suffix-Baume ist dies wichtig, da die-se Datenstruktur, im Verhaltnis zu den anderen beiden, komplizierter ist. Daraufwird in Abschnitt 6.2 genauer eingegangen. Die Verbesserung der Laufzeit zumursprunglichen Suffix-Baum wurde ca. um einen Faktor von 10 erreicht.

73

Page 80: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

Die beiden anderen Algorithmen fur die Pattern-Tabellen sind ahnlich zu demAlgorithmus fur den Suffix-Baum aufgebaut. Die wichtigsten Elemente und Be-rechnungen dieser Tabellen sind in Kapitel 4 dargestellt und sollen hier nichtausfuhrlich beschrieben werden.

Um die Korrektheit, speziell bei den etwas aufwendigeren Datenstrukturen, wieden Suffix-Baumen, zu gewahrleisten, wurden JUnit-Tests durchgefuhrt. Diese sol-len garantieren, dass der Baum richtig aufgebaut wird, speziell beim Setzen undVerwenden der Suffix-Links.

6.1. Algorithmen zur Patternbestimmung

Fur die Bestimmung der Pattern pro Bakteriensequenz sind drei Algorithmen im-plementiert worden: ein Suffix-Baum (SuffixTree), der die in Kapitel 4.3 beschrie-benen Erweiterungen implementiert und zwei Arten von Pattern-Tabellen. Die eineist auf Pattern der Lange m beschrankt (PatternTable), die andere enthalt allePattern einer Lange u bis zu der Lange m, wobei 1 ≤ u ≤ m (AllPatternTable).

Abbildung 6.1.: Darstellung der Algorithmen und Kennzahlen zu einem Pattern

In Abbildung 6.2 sind die implementierten Klassen dargestellt. Alle drei Algorith-men erben von der Oberklasse ClassificationAlgorithm, die alle notwendigenMethoden fur die Umsetzung vorgibt. Das Interface IClassificationAlgorithm

stellt eine Schnittstelle zu den Algorithmen bereit. Mit Hilfe dieser Schnitt-stelle konnen die Algorithmen fur die Auswertungen erzeugt werden.IClassificationAlgorithm stellt die dafur notwendigen Methoden bereit. Eswerden die Langen der Pattern vorgegeben, die in den Diagrammen dargestellt

74

Page 81: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6.1. Algorithmen zur Patternbestimmung

werden (interestingPatternLengths()), genauso Wortlange und die maxima-le Pattern-Lange, die der oben benutzten Lange m entspricht. Außerdem werdenhier die Worter als Dateien ubergeben. Diese stammen aus dem Input, der, beider Betrachtung von DNA-Sequenzen, die k-Bakteriensequenz darstellt. Die Zer-legung in die einzelnen Worter erfolgt mit den Methoden getInputCount() (gibtdie Anzahl der Dateien, also k zuruck) und getInput() (gibt die einzelnen Dateienzuruck). Damit man alle Pattern in einem Algorithmus durchlaufen und verarbei-ten kann, gibt es enumeratePattern(). Mit getPatternFor(...) erhalt man diePatternsequenz fur ein bestimmtes Pattern. Wie ein Pattern dargestellt wird, istThema des nachsten Abschnitts. Das Patternalphabet alphabet wird durch einArray dargestellt.

Darstellung eines Patterns

Das Ziel des Algorithmus ist es, nach der Ermittlung aller Pattern fur eine Bakte-riensequenz im Hinblick auf alle Bakteriensequenzen die besten zu selektieren. Furdie Selektion werden Kennzahlen in Betracht gezogen, mit Hilfe derer entschiedenwerden soll, welches Pattern als Marker geeignet ist. Im nachsten Schritt werdenmit Hilfe dieser Werte Marker pro Bakteriensequenz ausgewahlt. Dies erfolgt mitHilfe einer Heuristik, die in Abschnitt 6.3 vorgestellt wird.

Ein Algorithmus bestimmt alle Pattern fur jede vorgegebene Bakteriensequenz.In dem Algorithmus werden die Bakteriensequenzen anhand von Dateinummern(fileNo) unterschieden. In dem Interface IPatternInfo sind alle Kennzahlenfur ein bestimmtes Pattern fur jeweils eine der gegebenen Dateien wiederzu-finden. ClassificationAlgorithm importiert IPatternInfo. In der SubklasseSuffixTree wird ein Pattern durch einen Knoten (Node), in PatternTable durcheinen Tabellen-Eintrag (TableEntry) reprasentiert. Node und TableEntry impor-tieren IPatternInfo. Somit sind in ihnen die Kennzahlen pro Pattern implemen-tiert.

In Abbildung 6.2 sind unter anderem die beiden PatternTable-Klassen in einemKlassendiagramm dargestellt. Die beiden PatternTable-Algorithmen bestehen auseinem Array der Lange tableSize. Jeweils ein Array-Eintrag stellt ein Pattern dar.Die Anzahl der Pattern wird durch patternCount implementiert. Im Folgendensoll die Implementierung der Klasse SuffixTree genauer vorgestellt werden. DiePatternTable ist analog dazu, basierend auf den in Kapitel 4 vorgestellten Ideenund Berechnungen, aufgebaut.

75

Page 82: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

Abbildung 6.2.: Algorithmen erben von der Oberklasse

6.2. Suffix-Baume

Bei der Betrachtung vieler Bakteriensequenzen, die jeweils mehrere MB großsind, ist es wichtig, eine Datenstruktur zur Erfassung aller Pattern zu finden, diemoglichst Laufzeit und Speicherplatz sparend ist. Maßnahmen, die fur eine verbes-serte Laufzeit sorgen, werden nachfolgend erlautert. Vorerst wird etwas genauerauf den Suffix-Baum-Algorithmus eingegangen.

Ein Objekt der Klasse SuffixTree stellt einen Suffix-Baum fur alle ubergebenenDateien dar. Grundlegende Methoden erbt SuffixTree von der oben beschriebenenOberklasse ClassificationAlgorithm und uberschreibt diese. Das Alphabet, diePattern-Lange und die zu verarbeitenden Dateien, fur die der Suffix-Baum auf-gebaut werden soll, werden beim Aufrufen des SuffixTrees an diese Oberklasseubergeben. Dabei kann sowohl eine als auch mehrere Dateien betrachtet werden.Fur die Bestimmung der heuristischen Werte ist die Betrachtung mehrerer Dateiensinnvoll.

Ein SuffixTree wird durch Knoten (Node) dargestellt. Ein Knoten stellt ein Teil-wort und somit, wie oben beschrieben, ein Pattern dar. In jedem Knoten ist im-plizit die Kantenmarkierung zum Elternknoten enthalten. Die Kantenmarkierungdes Knotens zu seinem Elternknoten ist durch start und end dargestellt. FurLaufzeit-Verbesserungen enthalt ein Objekt der Klasse Node die AnfangspositionpatternStart des dargestellten Pattern. Da die Patternsequenz in Node nicht mitgespeichert wird, sondern wenn es gebraucht wird aus den Markierungen abgele-sen werden muss, weiß man mit Hilfe dieses Wertes, wo das dargestellte Pattern

76

Page 83: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6.2. Suffix-Baume

beginnt. Man muss nicht allen Markierungen bis zur Wurzel folgen, um die Pat-ternsequenz bestimmen zu konnen. Die Unterscheidung, ob ein Knoten ein internerKnoten oder ein Blatt ist, erfolgt mit der boolean-Variable leaf.

Knoten eines SuffixTrees sind miteinander verbunden. In jedem Knotenist gespeichert, wer sein Elternknoten ist (parent), welchen Suffix-Link(suffixLink) und welche Nachfolger er besitzt (successor). Auf die Nachfolger-Implementierungvarianten wird weiter unten eingegangen.

Der Suffix-Baum wird in zwei Phasen aufgebaut. In der ersten Phase wird derUkkonen-Algorithmus angewandt und der Suffix-Baum aufgebaut. Die zweitePhase widmet sich der Bestimmung der fehlenden Kennzahlen, z.B. der Auf-trittshaufigkeit (Appeareances). Das Prinzip des

”Hochreichens“ der Appeareances

wurde bereits in Kapitel 4 gezeigt und soll hier nicht weiter erlautert werden.

Im Folgenden wird die Verbesserung der Laufzeit dargestellt:

6.2.1. Entscheidungen der Methodenwahl

In dem SuffixTree-Algorithmus werden bewusst lieber große, statisch private Me-thoden benutzt, die fur die Knoten implementiert sind, da diese in Java eine gerin-gere Laufzeit haben. Das tragt außerdem dazu bei, dass die Anzahl der Methoden-Aufrufe gesenkt wird. Die Benutzung von Getter- und Setter-Methoden wird durchVariablen ersetzt. Es wird auf komplexe Datenstrukturen verzichtet, beispielswei-se ist die Benutzung eines Stacks durch die Implementierung mit Hilfe von zweiArrays ersetzt.

Nachdem der SuffixTree fur die ubergebenen Dateien konstruiert wird, mussen diegefundenen Pattern, die durch die Knoten dargestellt werden, fur die Wahl derMarker fur eine bestimmte Ebene m durchlaufen und auf ihre

”Gute“ hin un-

tersucht werden. Um dies laufzeittechnisch optimal durchzufuhren, wird ein Enu-merator (PatternEnumerator) implementiert. Dieser durchlauft alle Knoten dervorgegebenen Ebene (Pattern dieser Lange).

Der erste Baum besteht aus der Wurzel (root). Dieser besitzt als einziger Knotenkeinen Elternknoten und einen Suffix-Link auf sich selbst. Um einen neuen Knotenzu erzeugen, werden die in Kapitel 4.2 beschriebenen Regeln und Tricks benutzt.

Jeder Erweiterungsschritt wird komplett in dem Konstruktor aufgerufen und er-setzt damit die ursprungliche Suchphase, das Einfugen der Knoten und das Setzender Links. Dies wird nun in einem Schritt durchgefuhrt.

Implementiert man die Methoden einzeln, so ist die Methode search() zustandigfur das Suchen einer Teilsequenz. Die Methode insert() sucht zuerst das Prafix,das das einzufugende Wort mit den im Baum bereits dargestellten Worter hat, undfugt, wenn notwendig, einen neuen Knoten ein. Ist das einzufugende Wort bereitsenthalten, so gibt diese Methode null zuruck. Mit Hilfe dieser beiden Methodenkann der Suffix-Baum konstruiert werden.

77

Page 84: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

6.2.2. Nachfolger-Implementierung fur Node

Eine der wichtigsten Uberlegungen bei der Implementierung der Suffix-Baume, istdie der Nachfolger-Implementierung. Diese tragt entscheidend zu der Laufzeit (unddem Speicherplatzverbrauch) bei.

Mogliche Nachfolger-Implementierungsvarianten sind:

• HashMap

• Verkettete Liste, Kinderknoten sind verkettet

– unsortiertes Array, Reihenfolge der Kinder wie Einfugung, O(|Π|) Zu-griffszeit pro Knoten

– sortiertes Array, Pointer sind alphabetisch sortiert, O(log(|Π|)) Zugriffs-zeit pro Knoten mit binarer Suche ([6])

• Balancierte Suchbaume

• Array in der Große des Alphabets Π, O(m ∗ |Π|) Gesamtspeicherbedarf

Die optimale Nachfolger-Implementierung hangt von dem jeweiligen Anwendungs-gebiet ab. Die in dieser Diplomarbeit betrachteten Sequenzen basieren auf ei-nem Alphabet Π, dessen Lange |Π| = 4 betragt. Es handelt sich hierbei um einrecht kleines Alphabet, deshalb kann die Betrachtung des Speicherplatzes bei derNachfolger-Implementierung außer acht gelassen werden. Viel wichtiger ist die Be-dingung, dass in O(1) beim Lesen des nachsten Zeichens z ∈ Π auf den Nachfolgerzugegriffen werden kann.

Die allgemeinen HashMaps eignen sich nur bei einem niedrigen Fullgrad, da dannKollisionen vermieden werden. Ihre Laufzeit fur den Zugriff auf einen Nachfolgerbetragt dann O(1). Jedoch kann davon ausgegangen werden, dass bei der Be-trachtung mehrerer Bakterien, der Fullgrad relativ hoch wird, somit sehr vieleKollisionen auftreten und sich die Laufzeit dadurch verschlechtert.Verkettete Listen und balancierte Suchbaume eignen sich fur die Nachfolger-Implementierung bei einem Alphabet der Lange 4 nicht.

In einem Suffix-Baum hat jeder Knoten nur einen Nachfolger, der mit dem Zeichenz ∈ Π beginnt. Die Patternalphabetszeichen werden durchnummeriert und dasArray alphabet[] mit Typ int dargestellt. Es findet die Ubersetzung der ASCI-Werte in den entsprechenden Index-Wert des angegebenen Alphabets des Algo-rithmus statt. Die Hin- und Ruckrechnung ist im ClassificationAlgorithm im-plementiert. Die Ruckrechnung erfolgt durch invAlphabet[]. Diese Uberlegungenfuhren dazu, dass fur die Nachfolger-Implementierung ein Array der Große |Π|benutzt wird, in dem die nachfolgenden Knoten gespeichert werden. Um die Zu-griffszeit O(1) zu garantieren wird fur jeden Knoten ein Array successor[] vomTyp Node implementiert. Mit node.successor[alphabet[A]] bekommt man denNachfolger mit der Markierung, die mit A beginnt.

78

Page 85: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6.2. Suffix-Baume

Tabelle 6.1.: Zuordnung der Zeichen des Patternalphabets zu int-Zahlen

A 0C 1G 2T 3

6.2.3. Setzen der Suffix-Links

Um eine Laufzeitverbesserung zu erreichen, werden nach dem Algorithmus vonUkkonen Suffix-Links gesetzt. Ein Suffix-Link zu einem Knoten kann spatestensin dem nachsten Erweiterungsschritt gesetzt werden. Offene, noch nicht gesetzte,Suffix-Links werden direkt in die Erweiterungsphase integriert. In einer Variablewird der Knoten gespeichert, der einen Suffix-Link braucht. Wird dieser gesuchteKnoten in dem nachsten Erweiterungsschritt neu hinzugefugt und ist es ein inter-ner Knoten, so wird vorerst der benotigte Suffix-Link gesetzt und der neu erzeugteKnoten kann dann in der Variable gespeichert werden, da dieser nun einen Suffix-Link braucht. Man hat also nur hochstens einen Knoten, fur den der Suffix-Linknicht gesetzt ist. Dieses Verfahren kann so durchgefuhrt werden, da die vorheri-gen, dafur benotigten drei Methoden zu einer Methode zusammengefasst wurden.Bei der ursprunglichen Variante hatte man eine Queue, die am Ende einer Phasevervollstandigt wurde. Dies brachte eine schlechte Laufzeit, da viele Suffix-Linksnicht vor Ablauf der Phase benutzt werden konnten.

Bei der zweiten Variante hatte man ein Array needLink mit einem ZahlerneedLinkCount, in das die Knoten hinzugefugt wurden, die einen Suffix-Linkbrauchen (needLink[needLinkCount++] = node). Das Entfernen des Knotens ausdem Array funktioniert folgendermaßen: node = needLink[--needLinkCount].Diese Implementierung der benotigten Suffix-Links hat eine große Verbesserungder Laufzeit bewirkt.

Die oben vorgestellte Methode, die nur eine Variable benutzt, bringt nur 10%Verbesserung.

Abbildung 6.3.: Nicht gesetzte Suffix-Links

79

Page 86: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

Es lasst sich zeigen, dass die Anzahl der benotigten Suffix-Links bei dem nachUkkonen erzeugten Algorithmus (ohne Modifikation) hochstens 2 betragt. In Ab-bildung 6.3 wird das durch den linken unteren Knoten dargestellte Wort ohne daserste Zeichen gesucht. Das bedeutet, dass dem Suffix-Link gefolgt werden muss.Der Suffix-Link ist aber noch nicht gesetzt, da dieser Knoten erst in dem aktuellenErweiterungsschritt hinzugefugt wurde. Der Elternknoten hat noch keinen Suffix-Link, dieser Knoten ist auch erst vorher entstanden. Es muss also dem Suffix-Linkvom Elternknoten des Elternknotens gefolgt werden. Die gefundenen Teilsequen-zen, auf die die verbleibenden offenen Knoten gesetzt werden mussen, werden indiesem Erweiterungsschritt gefunden und gesetzt. Dieser Fall tritt auf, wenn mandie search- und insert-Methoden einzeln implementiert. Werden die einzelnenMethoden fur einen Erweiterungsschritt komplett in dem Konstruktor implemen-tiert, so tritt so ein Fall wie in der Abbildung dargestellt garnicht erst auf, da vordem Speichern des benotigten Suffix-Links vorher alle offenen Suffix-Links (diesist in diesem Fall immer nur ein Suffix-Link) gesetzt werden.

6.3. Wahl der Marker

Nachdem in dem jeweiligen Algorithmus alle Pattern mit den statistischen In-formationen (Kennzahlen) zu jeder Datei bestimmt wurden, mussen im nachstenSchritt aus den Pattern die Markersatze gewahlt werden. Dafur wurden in Kapitel5.2 Heuristiken vorgestellt, mit denen signifikante Pattern pro Datei als Markerausgewahlt werden konnen. Im Package filter findet man die fur diese Auswahlzustandigen Klassen. Abbildung 6.4 zeigt einen Einblick in das Package.

Das Interface IFixHeuristic stellt die Schnittstelle zu den Heuristiken dar. Esgibt vor, dass eine Methode, die die Qualitat pro Pattern bestimmt, in der jeweili-gen Heuristik implementiert werden muss. Die Qualitat pro Pattern wird mit Hilfeder Kennzahlen bestimmt.

Es sind zwei Heuristiken fur die Qualitat implementiert, dieAppeareanceHeuristic und die QualityAppeareanceHeuristic. DieAppeareanceHeuristic berucksichtigt den Schwellwert fur die Haufigkeitdes Auftretens des Patterns. Hier ist Kennzahl 1 implementiert. Es werden dieAuftrittshaufigkeiten betrachtet und fur die, die uber dem Schwellwert liegen, dieQualitat bestimmt.

Die QualityAppeareanceHeuristic berucksichtigt zwei Kennzahlen, sowohl dieAppeareances als auch die Qualitat eines Pattern, die aus den Appeareances furdiese und andere Bakteriensequenzen bestimmt wird (siehe Kapitel 5). Es werdenPattern ausgewahlt, die beide Schwellwerte ubersteigen.

80

Page 87: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6.3. Wahl der Marker

Abbildung 6.4.: Die Verwendung der Heuristiken

In Kapitel 5.2 wurden zwei Auswahlverfahren fur die Wahl der Marker vorgestellt,die auf einer Heuristik als Bewertungsfunktion basieren:

1. Statisches Auswahlverfahren zur Bestimmung aus einer festen Anzahl c vonMarkern fur eine fest vorgegebene Lange m.

2. Dynamisches Auswahlverfahren, das die Lange der Markern nach deren Qua-litat, die mit der Heuristik bestimmt wurde, wahlt. Dieses hatte den Vorteil,dass die Qualitat fur jeden Marker ziemlich gut ware und man bessere Er-gebnisse bei der Suche nach den Markern in den Reads erzielen konnte. Sohatte man eine großere Garantie ein darin enthaltenes Bakterium richtig(eindeutig) zuordnen zu konnen.

Zu 1: Die Wahl der c besten Pattern als Marker erfolgt indem FixMarkerSelector. Diesem wird ein Algorithmus vom TypIClassificationAlgorithm und eine der Heuristiken vom Typ IFixHeuristic

ubergeben. Mit Hilfe eines der Algorithmen zur Klassifikation von Pattern werdenPattern bestimmt, mit der Heuristik gefiltert und in selectBestPattern(...)

fur eine bestimmte Lange m (patternLength) und der i-ten Bakteriensequenzbi, 1 ≤ i ≤ k, wobei dann FileNo das i darstellt, die besten c Marker (count)selektiert.

Ein Iterator durchlauft alle Pattern p ∈ Pmi einer Lange m in einer der gegebenen

Bakteriensequenzen bi. Die Methode liefert ein Array (bestPattern[]) der Großec vom Typ IPatternInfo. Vorerst werden alle durch die Heuristik gefundenenPattern der Reihe nach in das Array eingefugt. Ist das Array voll, so muss dasPattern mit der schlechtesten Qualitat in dem Array mit der Qualitat des aktuellenPatterns verglichen werden. Hat das aktuelle Pattern eine bessere Qualitat, somussen die beiden Pattern getauscht werden. Das Suchen nach dem Pattern mitder schlechtesten Qualitat hat im worst case eine Laufzeit von O(c), der gesamteAlgorithmus O(c ∗ |Pm

i |).

81

Page 88: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

Eine Verbesserung der Laufzeit wird durch den Aufbau eines Minimum-Heapserreicht. Nach der Aufbau-Phase des Minimum-Heaps ist das Pattern mit dergeringsten Qualitat an erster Position. Der Zugriff darauf hat eine Laufzeit vonO(1). Nach dem Einfugen bzw. Tauschen ist eine Sortierung notwendig. In ei-nem Heap betragt die Laufzeit dafur O(log(c)). Nachdem alle Pattern durchlaufenund eingefugt wurden, erfolgt die Abbau-Phase des Minimum-Heaps, in dem dieElemente nach ihrer Große, in diesem Fall nach der Pattern-Qualitat, sortiert wer-den. Man erhalt ein sortiertes Array mit den c besten Pattern in einer Zeit vonO(log(c) ∗ |Pm

i |).Zu 2: Leider ist die zweite Variante ohne vertiefende Kenntnisse der Medizin nichtmoglich umzusetzen. In diesem Fall wurde die Betrachtung von einer bzw. zweiKennzahlen, fur die die Pattern uber einem Schwellwert liegen, nicht ausreichen.Da keine feste Lange der Marker vorgegeben ist, musste die Lange dynamischdurch die Qualitat der jeweiligen Pattern bestimmt werden. Der Unterschied derPattern-Qualitat fur DNA-Sequenzen ist im Vergleich zu Zufallssequenzen sehrhoch (siehe Kapitel 7). Die Pattern-Qualitat spielt bei der Wahl der Lange eineentscheidende Rolle, da sie die Uberreprasentiertheit eines Patterns angibt.

Der Suffix-Baum stellt die Methode zum Vergleichen langerer und kurzerer Pat-tern, also der Prafixe davon, zur Verfugung. Ist die zu betrachtende statistischeInformation in einem langeren Pattern gegenuber dem Prafix (kurzeres Pattern)davon nicht wesentlich besser, so wahle man das kurzere Pattern. Fur die Imple-mentierung der IDynamicHeuristic ist also ein ITreeIterator fur den Suffix-Tree notwendig, der im SuffixTree alle Knoten von der Wurzel aus durchlauft. Injedem Knoten muss eine globale Pattern-Qualitat definiert werden, die sowohl vonder Haufigkeit des Auftretens, aber auch von der Lange und der lokalen Pattern-Qualitat fur dieses Pattern abhangig ist. Trifft man an einen Knoten, so musszur Laufzeit entschieden werden, ob es sich lohnt die Nachfolger des inneren Kno-tens zu betrachten. Eine Abbruchsfunktion musste definiert werden, die angibtwann eine bestimmte Qualitat fur ein Pattern erreicht ist und die Qualitat derNachfolger-Knoten nicht besser wird.

Bei diesem Auswahlverfahren mussen nicht nur Pattern einer Ebene in Beziehungzu Pattern derselben Ebene anderer Dateien in Beziehung gesetzt werden, sondernkurzere mit langeren Pattern derselben Datei und anderen Dateien verglichen wer-den. Dafur mussten Formeln mit Hilfe medizinischer Kenntnisse aufgestellt unddiese dann in die Heuristik implementiert werden.

6.4. Auswertungen

Die Bestimmung der Marker erfolgt in mehreren Schritten. Da es sich in dem hierzugrunde liegenden Anwendungsgebiet um recht lange Sequenzen handelt, dessenZeichen bzw. Teilsequenzen nicht gleichmaßig verteilt auftreten, ist eine Visualisie-rung und Auswertung der einzelnen Faktoren notwendig, um daraus Ruckschlusse

82

Page 89: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6.4. Auswertungen

fur die Algorithmen bzw. Kennzahlen ziehen zu konnen. Welcher implementierteAlgorithmus sich unter welchen Bedingungen am besten eignet, muss ausgewertetwerden.

Die Visualisierung und Betrachtung der Kennzahlen soll Aufschluss daruber ge-ben, welche der Kennzahlen wichtig sind und welche eventuell vernachlassigt wer-den konnen. Der Vergleich von DNA-Sequenzen mit Zufallssequenzen desselbenAlphabets soll die Verteilung der Teilsequenzen in den DNA-Sequenzen verdeutli-chen.

Abbildung 6.5.: Die beiden Klassen ResultStore und TestAlgorithms zum Er-zeugen von Auswertungs-Diagrammen

Fur die Auswertung der drei Algorithmen zur Patternklassifizierung, zu den Kenn-zahlen und dem Vergleich von DNA-Sequenzen mit Zufallssequenzen wurden Dia-gramme erstellt. Diese sind mit Hilfe der Java Bibliothek JFreeChart-1.0.12

erzeugt und visualisiert worden.

Die fur die Auswertung notwendige Klasse ResultStore stellt Methoden zum Spei-chern der Messwerte zur Verfugung. Es wird pro Rechner eine Datei zur Zwischen-speicherung der Messwerte erstellt, die in der Namensbezeichnung (filename) alsTeilwort den Rechnernamen enthalt.

Mit der Variable changed kann gepruft werden, ob der momentan betrachte-te Messwert geandert wurde oder nicht. In der Klasse TestAlgorithms wer-den die Tests durchgefuhrt, die erhaltenen Werte werden im ResultStore ge-speichert und von den im ResultStore gespeicherten Werten werden wiederumim TestAlgorithms Diagramme erzeugt. Die Werte werden fur eine bestimmteZeitspanne gespeichert. TestAlgorithms importiert ResultStore. Die Zeitspan-ne wird im TestAlgorithms mit MAXMILLISECONDS ubergeben. Das verhindert,dass die Werte immer wieder neu berechnet werden mussen, sondern es konnen

83

Page 90: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

6. Implementierung

die alten, bereits berechneten Werte verwendet werden.

Beim Ausfuhren von TestAlgorithms wird vorerst ein ResultStore-Objekt furden speziellen Rechnernamen geladen (load()), wenn ein ResultStore-Objekt be-reits vorhanden ist. Die in dem ResultStore gespeicherten Werte sind vom TypDataEntry, das zu den Werten zusatzlich das Datum speichert, um bestimmen zukonnen, wann die Werte das letzte Mal geandert wurden. Damit kann berechnetwerden, wie lange die Werte bereits gespeichert sind und ob sie MAXMILLISECONDS

nicht uberschreiten.

Die Hilfsklasse InputFile beschreibt die Dateien, die zur Auswertung ubergebenwerden. Hier ist auch das Alphabet und ein vollstandiger Name der in den Dateiendargestellten Art der Sequenzen enthalten. Fur die Auswertung wurden drei un-terschiedliche Sequenz-Arten benutzt, DNA-Sequenzen, Zufallssequenzen, erzeugtmit der internen Java-Klasse Random, und Zufallssequenzen nach dem Verfahrenvon Knuth (siehe Kapitel 2.2). Alle im Folgenden aufgefuhrten Auswertungen sindfur alle drei Sequenz-Arten durchgefuhrt worden.

TestAlgorithms enthalt folgende Auswertungen:

1. fur jeden der drei Algorithmen auf der y-Achse (testAlgorithm()) jeweilsdie Laufzeit, den Speicherplatzverbrauch und die Anzahl erzeugter Objekte,

• testAlgorithm n(): unterschiedliche Wortlangen auf der x-Achse furmehrere Pattern-Langen (interestingPatternLength()),

• testAlgorithm m(): unterschiedliche Pattern-Langen auf der x-Achsefur unterschiedliche Wortlangen (interestingWordLengths()).

2. Vergleich der Algorithmen SuffixTree, PatternTable undAllPatternTable (compareAlgorithms()). Auf der y-Achse ist wie-derum je die Laufzeit, der Speicherplatzverbrauch oder die Anzahl erzeugterObjekte dargestellt:

• compareAlgorithms n(): unterschiedliche Wortlangen auf der x-Achsefur die drei Algorithmen (ALGORITHMS),

• compareAlgorithms m(): unterschiedliche Pattern-Langen auf der x-Achse fur die drei Algorithmen,

• compareAlgorithms b(): unterschiedliche Anzahl der Dateien auf derx-Achse fur die drei Algorithmen.

3. Auswertung der in Kapitel 5 vorgestellten Kennzahlen (testHeuristic()).

saveChart() speichert zu den Datasets Diagramme in Form von png-Dateien. Aufdie Ergebnisse der aufgefuhrten Auswertungs-Diagramme soll im nachsten Kapitelgenauer eingegangen werden.

84

Page 91: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Dieses Kapitel soll die Auswertung der Algorithmen und Kennzahlen darstellen.Die Auswertung basiert auf erzeugten Diagrammen, deren Implementation im vor-herigen Kapitel erlautert wurde. In diesem Kapitel sind nur die Diagramme enthal-ten, die wichtige Ergebnisse fur die Diplomarbeit liefern bzw. jeweils ein Diagrammpro Auswertung der Kennzahlen. Alle weiteren erzeugten Diagramme sind auf derbeiliegenden CD zu finden.

Die Auswertungs-Diagramme sind in drei Gruppen eingeteilt:

• die Betrachtung der Eigenschaften jeweils eines der drei implementiertenAlgorithmen zur Patternbestimmung,

• der direkte Vergleich dieser drei Algorithmen (Abschnitt 7.1.3),

• und die Untersuchung der statistischen Informationen (Kennzahlen) auf ihreEignung hin (Abschnitt 7.2.1).

Bei der Betrachtung der implementierten Algorithmen ist es wichtig, das Anwen-dungsgebiet der Medizin zu berucksichtigen. Um die Besonderheiten von DNA-Sequenzen zu verdeutlichen, werden die Eigenschaften in Bezug auf Pattern vonDNA-Sequenzen und Zufallssequenzen desselben Alphabets verglichen. Dabei wer-den zwei Arten von Zufallssequenzen betrachtet, die mit der internen Java-KlasseRandom erzeugten und die Zufallssequenzen, die mit dem Verfahren von Knuth (sie-he Kapitel 2.2) erzeugt wurden. Es wurde eine weitere Untersuchung durchgefuhrt,indem jeweils das beste Pattern pro Bakteriensequenz gleicher und unterschiedli-cher Familien bestimmt und miteinander verglichen wurden (Abschnitt 7.2.2).

7.1. Algorithmen zur Patternklassifizierung

In diesem Abschnitt sollen die Resultate der Auswertungen der implementiertenAlgorithmen (SuffixTree, PatternTable, AllPatternTable) vorerst fur jeweils einenAlgorithmus dargestellt werden. Die drei Algorithmen werden auf die Laufzeit,Speicherplatz und die Anzahl erzeugter Objekte hin miteinander verglichen. InAbschnitt 7.1.3 werden alle drei Algorithmen zueinander in Beziehung gesetzt undAussagen daruber gemacht, welcher Algorithmus zur Patternselektion sich unterwelchen Bedingungen am besten eignet.

85

Page 92: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

7.1.1. Pattern-Tabellen

Die Pattern-Tabelle der Pattern nur einer Lange m (PatternTable) erzeugt eineTabelle der Große basism, die Pattern-Tabelle der Pattern bis einschließlich zueiner Lange m (AllPatternTable) hingegen eine Tabelle der Große

∑mi=1 basis

i. Indie jeweilige Tabelle werden alle in der Sequenz beim Durchlaufen gefundenen Pat-tern der Reihe nach hinzugefugt. Dabei dient der Hashcode dazu, unterschiedlichePattern unterschiedlichen Tabellenplatzen in der Tabelle zuzuordnen, und mit demTabellenplatz kann wiederum die Patternsequenz eindeutig aus dem Tabellenplatzberechnet werden.

Abbildung 7.1.: Speicherbedarf der AllPatternTable fur mehrere Pattern-Langenfur unterschiedliche Langen der DNA-Sequenz

In Abbildung 7.1 ist der Speicherplatzbedarf der AllPatternTable fur mehrere aus-gewahlte Pattern-Langen fur die Lange einer DNA-Sequenz dargestellt. Die Er-zeugung der Tabelle verbraucht sehr viel Speicherplatz. Dies ist in der Abbildung7.1 daran zu erkennen, dass die Tabelle bei kurzen DNA-Sequenzen schon reichlichSpeicherplatz verbrauchen, besonders bei zunehmender Pattern-Lange steigt derSpeicherplatzbedarf schnell an. Das Einfugen der Pattern verbraucht nach dem Er-zeugen der Tabelle linearen Speicherplatz. Die beiden PatternTable-Algorithmeneignen sich somit nur fur kurze Pattern, da der Speicherplatzverbrauch fur dieErzeugung der Tabelle exponentiell zu der Pattern-Lange zunimmt, siehe auchAbbildung 7.5. Bei großer werdender Pattern-Lange m werden fur jedes u, u < m

86

Page 93: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.1. Algorithmen zur Patternklassifizierung

zusatzlich |Π|u Tabellenplatze benotigt. Das entspricht einem exponentiell anstei-genden Speicherplatzverbrauch.

Der Fullgrad der Tabelle, der durch die Anzahl erzeugter Objekte indirekt dar-gestellt wird, hat nur einen kleinen Einfluss auf den Speicherbedarf. Dieser steigtmit der Pattern-Lange von einem nahezu konstanten zum linearen Aufbau, da dieAnzahl der moglichen Pattern mit der Pattern-Lange exponentiell ansteigt unddie Anzahl moglicher Pattern exponentiell großer wird. Ein hoher Fullgrad derTabelle wird bei langeren Pattern erst viel spater erreicht, da die Pattern nichtgleichmaßig verteilt sind und sowohl die Anzahl moglicher Pattern als auch dieGroße der PatternTable exponentiell wachst. Betrachtet man die Pattern-Langeim Vergleich zur Anzahl erzeugter Objekte, so erhalt man eine Sattigungskurve.Ab einer bestimmten Pattern-Lange gibt es kaum mehr neu erzeugte Objekte alsfur etwas kurzere Pattern.

Die PatternTable-Algorithmen haben, betrachtet zu der Lange des Wortes, einenahezu lineare Laufzeit. Betrachtet man die Pattern-Lange im Hinblick auf dieLaufzeit, so steigt die Laufzeit exponentiell an.

7.1.2. Suffix-Baume

Der Suffix-Baum (SuffixTree) fur ein Wort w enthalt alle Teilsequenzen der Langem. Der SuffixTree wird nach und nach aufgebaut, im Gegensatz zur PatternTable,die vorinitialisiert wird. Der Speicherbedarf des SuffixTree fur zunehmende Langedes Wortes zeigt bei kurzen Pattern schnell eine Sattigung, da sehr schnell einhoher Fullgrad erreicht wird. Fur langere Pattern verlauft die Kurve zuerst linear.Mit der Lange des Wortes sinkt die Steigung der Kurve langsam. Der Speicher-platzbedarf fur die Pattern-Lange 20 ist nahezu gleich dem Speicherplatzbedarfdes ungekurzten SuffixTrees.

Tragt man die Pattern-Lange gegen den Speicherbedarf auf, bei Betrachtung meh-rerer unterschiedlicher Wortlangen, so erhalt man eine Sattigungskurve (siehe Ab-bildung 7.2). Fur die Wortlange von 2MB steigt der Speicherplatzbedarf ab einerPattern-Lange von m = 13 bis 15 kaum mehr an. Die Diagramme fur die Anzahlerzeugter Objekte sehen nahezu gleich den Diagrammen fur den Speicherbedarfaus. Da beide Kurven gleiches Verhalten zeigen, bedeutet dies, dass bei den Suffix-Baumen nur fur das Erzeugen neuer Objekte Speicherplatz gebraucht wird, imGegensatz zur Pattern-Tabelle, bei der fur lange Pattern fur das Erzeugen der Ta-belle selbst der meisten Speicherplatz verbraucht wird. Die Sattigungskurve zeigt,dass sich die Anzahl erzeugter Objekte fur Pattern-Langen ab ca. 14 nicht mehrandert, die Anzahl neuer unterschiedlicher Pattern also nicht mehr großer wird.Die bereits im Baum enthaltenen Pattern werden verlangert bzw. gleiche Patterngefunden, ohne neue Knoten zu erzeugen.

Bei Zufallssequenzen tritt das gleiche Phanomen auf. Die Sattigung wird hierjedoch schon fruher erreicht und zwar bei einer Wortlange von 2MB bereits

87

Page 94: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

ab der Pattern-Lange von 12 Bp. Das lasst vermuten, dass der Unterschied zuDNA-Sequenzen das immer wieder Auftreten von gleichen Pattern in den DNA-Sequenzen ist. Bei Zufallssequenzen nach Knuth sind Pattern gleichmaßig verteilt.

Abbildung 7.2.: Speicherbedarf abhangig von der Pattern-Lange fur unterschiedli-che Wortlangen

Die Laufzeit des SuffixTree ist, mit kleineren Abweichungen, nahezu linear zu derWortlange. Fur DNA-Sequenzen ist die Steigung der Laufzeit fur Pattern-Lange12 kleiner als fur Pattern-Lange 20. Bei Zufallssequenzen sind beide Steigungennahezu gleich. Dies liegt an der Sattigung der Erzeugung neuer Objekte, die beiZufallssequenzen bei niedrigeren Pattern-Langen eintritt als bei DNA-Sequenzen.Betrachtet man die Laufzeit fur unterschiedliche Pattern-Langen, so erhalt mangenauso wie bei dem Speicherplatzverbrauch und der Anzahl der erzeugten Objekteeine Sattigungskurve. Die Laufzeit ist also genauso wie der Speicherplatzverbrauchabhangig von der Anzahl erzeugter Objekte. Da im SuffixTree keine Suchphasemehr existiert, muss lediglich den Suffix-Links gefolgt werden, um die Suchstelleim SuffixTree zu finden. Dies verbraucht kaum Laufzeit und Speicherplatz.

7.1.3. Vergleich der drei Algorithmen - Laufzeit und Speicher

Um entscheiden zu konnen, welcher Algorithmus fur die Patternbestimmung unterwelchen Bedingungen genutzt werden sollte, werden im Folgenden der Speicher-platz und die Laufzeit betrachtet. Dies sind die entscheidenden Kriterien, die eineVerarbeitung vieler langerer Texte, wie die Betrachtung mehrerer Bakteriensequen-

88

Page 95: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.1. Algorithmen zur Patternklassifizierung

zen einer Große von mehreren MB, einschranken. Die Algorithmen zeigen erhebli-che Unterschiede, nicht nur was die Laufzeit und den Speicherbedarf betrifft. Bei-spielsweise konnen mit der PatternTable nur Pattern einer fest vorgegebenen Langem bestimmt werden, wahrend die AllPatternTable und der SuffixTree alle Langenbis m berucksichtigen. Somit sind die Speicherplatz- und Laufzeit-Anforderungenan diese beiden Algorithmen hoher.

Werden nur Pattern einer festen Lange m gebraucht, so lohnt es sich, die Pat-ternTable zu wahlen. Abbildung 7.3 zeigt den niedrigeren Speicherplatzbedarf undAbbildung 7.4 die niedrigere Laufzeit der PatternTable im Vergleich zu den beidenanderen Algorithmen.

Abbildung 7.3.: Speicherplatzbedarf fur die drei Algorithmen in Abhangigkeit vonder Anzahl der verarbeiteten Bakteriensequenzen

Sollen alle Pattern bis zu einer Lange m bestimmt werden, so kann man der Ab-bildung 7.3 entnehmen, dass sich die AllPatternTable im Hinblick auf den Spei-cherplatzbedarf zur Bestimmung aller Pattern besser eignet.

Betrachtet man die Laufzeit, so zeigt Abbildung 7.4, dass sich die Laufzeit beimEinfugen von bis zu 4 Bakterien bei den beiden Algorithmen SuffixTree und All-PatternTable kaum unterscheidet. Die AllPatternTable ist minimal besser. Bei demHinzufugen von mehr als 4 Bakterien ist der Suffix-Baum besser.

Alle drei Algorithmen haben eine nahezu lineare Laufzeit zur Anzahl der Dateien(Bakteriensequenzen), wenn man von den geringen Schwankungen absieht.

89

Page 96: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Abbildung 7.4.: Laufzeit fur die drei Algorithmen in Abhangigkeit von der Anzahlder verarbeiteten Bakteriensequenzen

Wie bereits in Abbildung 7.2 betrachtet, enthalt der SuffixTree fur den Speicher-platzbedarf eine Sattigung ab einer Pattern-Lange von m = 13 bis 15 (siehe Abbil-dung 7.5). Der Speicherplatzbedarf in Abhangigkeit von der Pattern-Lange steigtbei der PatternTable und der AllPatternTable exponential an. Fur die Erzeugungder Tabelle wird fur die Tabellengroße als Exponent die Pattern-Lange benutzt,um die eindeutige Zuordnung der Pattern zu den Tabellenplatzen zu garantieren.

In Tabelle 7.1 sind die Ergebnisse der Auswertung dargestellt. In Abhangigkeitvon der Pattern-Lange und der Bedingung, ob nur eine feste Pattern-Lange oderPattern aller Langen bis max m gebraucht werden, ist der Beste der drei vorge-stellten Algorithmen aufgelistet. Die zweite Große, von der die Wahl des Algorith-mus abhangt, ist die Anzahl k der Dateien (Bakteriensequenzen). Zusatzlich zumAlgorithmus ist in Klammern die Begrundung dargestellt, auf Grund dessen derAlgorithmus gegenuber den anderen am besten ist. Steht nichts in Klammern, soist der Algorithmus sowohl in der Laufzeit als auch im Speicherbedarf besser als dieanderen beiden. Ist einer der beiden Faktoren (Laufzeit, Speicherplatz) besser, derandere Faktor schlechter als bei einem anderen Algorithmus, so hat die LaufzeitPrioritat.

Nachdem die Algorithmen fur die Patternbestimmung ausgewertet wurden, sollendie vorgestellten Kennzahlen zur Patternselektion auf ihre Eignung hin untersuchtwerden.

90

Page 97: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

Abbildung 7.5.: Speicherplatzbedarf fur die drei Algorithmen in Abhangigkeit vonder Pattern-Lange m

Tabelle 7.1.: Auswahl des Algorithmus zur Patternbestimmung fur eine Pattern-Lange m im Hinblick auf Laufzeit- und Speicherplatzverbrauch, linksund Mitte: alle Pattern fur 1 ≤ m ≤ max m, rechts: m = max m

max m = k = 1− 4 ab k = 5 m = max m fest1− 12 AllPatternTable SuffixTree (Laufzeit) PatternTableab 12 SuffixTree (Speicherplatz) SuffixTree (Speicherplatz) SuffixTree (Speicherplatz)

7.2. Statistische Informationen

In Kapitel 5 wurden mehrere Kennzahlen vorgestellt, die bei der Patternselektionbehilflich sein sollen. Fur die Wahl der Marker wird eine weitere Heuristik gebil-det, die jedem Pattern eine Qualitat zuordnet. Diese Qualitat wird mit Hilfe derHeuristiken gebildet. Um bestimmen zu konnen, welche dieser Kennzahlen benutztwerden sollen, weil sie gute Werte liefern, werden die folgenden Auswertungen be-trachtet.

In den Diagrammen sind die Werte der jeweiligen Kennzahl fur die drei un-terschiedlichen Sequenz-Typen (DNA-Sequenzen, zwei unterschiedliche Zufallsse-quenzen) dargestellt. Der Vergleich von DNA-Sequenzen und Zufallssequenzen sollzeigen, ob die betrachtete Kennzahl fur jeden beliebigen Text die dargestellten Er-gebnisse liefert, oder nur speziell fur das hier vorliegende Anwendungsgebiet der

91

Page 98: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Betrachtung von DNAs.

7.2.1. Eignung der statistischen Informationen

Pattern-Haufigkeit

Die Abbildung 7.6 zeigt die Anzahl der Pattern mit einer bestimmten Pat-ternhaufigkeit bei Betrachtung aller Pattern der Lange 9. Die Zufallssequenzensind so erzeugt worden, dass die Zeichen unabhangig voneinander, also gleichmaßigverteilt sind und jede Sequenz im Zufallstext gleich oft auftreten sollte. Bei denZufallssequenzen nach Knuth zeigt die Abbildung die Normalverteilung der Auf-trittshaufigkeit. Die Abweichungen entstehen dadurch, dass die Textlange be-schrankt ist. Zufallssequenzen, die mit der Klasse Random erzeugt wurden, weisenkeine Normalverteilung der Pattern auf. Die Werte fur die mit Random erzeugtenZufallssequenzen besitzen mehrere Haufungspunkte, was ein Indiz dafur ist, dassdie Sequenzen der Lange 9 unterschiedlich haufig auftreten.

Abbildung 7.6.: Anzahl der Pattern im Hinblick auf die Haufigkeit des Auftretensvon Pattern der Lange 9

Da nur die Zufallssequenzen nach Knuth gleichmaßig verteilt sind, werden im Fol-genden nur noch diese mit DNA-Sequenzen verglichen. Die anderen Zufallssequen-zen werden nicht weiter betrachtet.

DNA-Sequenzen sind ganz deutlich nicht gleichmaßig verteilt. Die Kurve, die die

92

Page 99: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

DNA-Sequenzen darstellt hat ein Maximum bei einer Patternhaufigkeit von ca.5 und fallt stetig. Es gibt also viele Pattern der Lange 9, die selten vorkommen.Je haufiger ein Pattern auftritt, desto weniger gibt es von den Pattern. DiesePattern erfullen die Bedingung des haufigen Auftretens, um als Marker in Fragezu kommen.

Pattern-Frequenz

Die Pattern-Frequenz stellt den Abstand zweier aufeinander folgender Auftreteneines Pattern p dar. Ein regelmaßiges Auftreten ist fur die Marker besonderswichtig, um in den Reads gefunden zu werden. Das soll mit Hilfe der Pattern-Frequenz erfullt werden, wobei in dieser Diplomarbeit die Kennzahlen minimaleund maximale Frequenz, der Erwartungswert und die Standardabweichungdefiniert wurden. Abgesehen von diesen Kennzahlen, ist es bei der Erfullung desregelmaßigen Auftretens wichtig, zu prufen, ob das Pattern nicht nur im innerender Sequenz zu finden ist, wie in der Abbildung dargestellt.

Das Pattern p tritt hier nur zwischen j und i auf. Das soll verhindert werden,deshalb sind die Randanomalien mit aufgefuhrt.

Erwartungswert

In Abbildung 7.7 ist die Anzahl der Pattern fur die einzelnen durchschnitt-lichen Frequenzen aller Pattern der Lange 9 dargestellt. Fur Zufallssequenzennach Knuth liegt das Maximum bei 220.000. Die Lange des eingegebenen Wor-tes ist |w| = 3.000.000. In Abbildung 7.6 hat man das Maximum bei einer Auf-trittshaufigkeit von 12 gegeben. Es werden bei den Zufallssequenzen 262111 unter-schiedliche Pattern betrachtet. Dies sind nahezu alle Kombinationen der Lange 9bei einem Alphabet der Große 4. Tritt nun jedes Pattern im Durchschnitt 12 malauf in einer Sequenz der Lange 3.000.000 so muss bei einer gleichmaßigen Vertei-lung der Pattern die durchschnittliche Frequenz bei 3.000.000/12 = 250.000 liegen.Dies kommt dem Erwartungswert der durchschnittlichen Frequenz von 220.000 na-he. Im Gegensatz zu den Zufallssequenzen, die mit Java erzeugt wurden, sind dieZufallssequenzen nach Knuth gleichmaßig verteilt.

Die Patternhaufigkeit hangt also mit der durchschnittlichen Frequenz zusammen.Sie sind umgekehrt proportional zueinander. Bei Texten, in denen die Patternin regelmaßigen Abstanden immer wieder auftreten, entspricht die durchschnitt-liche Frequenz ∆F = n−m+1

h−1, wobei n die Lange des Wortes ist und h die Auf-

93

Page 100: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Abbildung 7.7.: Anzahl aller Pattern fur durchschnittliche Frequenzen (Erwar-tungswert) aller Pattern der Lange 9

trittshaufigkeit darstellt. Sei l1 der linke Rand vor dem ersten Auftreten des Pat-tern und l2 der rechte Rand nach dem letzten Auftreten des Pattern. Die folgendeApproximation l1 + l2 ≈ ∆F ist ein Indiz fur die Gleichverteilung der Pattern(siehe Abbildung 7.12).

Betrachtet man in Abbildung 7.7 die Verteilung der durchschnittlichen Frequenzfur eine DNA-Sequenz, so stellt man fest, dass es einige Pattern mit einer sehr nied-rigen durchschnittlichen Frequenz gibt. Diese Pattern treten im Mittel in kleinenAbstanden voneinander auf. Um eine recht kleine durchschnittliche Frequenz zuerreichen, muss das entsprechende Pattern sehr haufig auftreten. Die großte Anzahlder Pattern tritt mit einer durchschnittlichen Frequenz von ca. 50.000 − 100.000auf. Die Anzahl der Pattern mit hoheren durchschnittlichen Frequenzen nimmtstetig ab. Mit dieser Verteilung hat man gezeigt, dass in der betrachteten DNA-Sequenz Pattern mit einer sehr niedrigen Pattern-Frequenz vorhanden sind.

Die durchschnittliche Frequenz ist als Kennzahl zwar interessant, fur die Bestim-mung der Marker spielt jedoch die maximale Frequenz eine viel wichtigere Rolle, damoglichst Marker bestimmt werden sollen, die eine Frequenz von einem bestimm-ten Wert nicht uberschreiten. Beispielsweise kann als Grenze fur die Frequenz100.000 angegeben werden. Betrachtet man Abbildung 7.8, so stellt man fest, dassdie maximale Frequenz der meisten Pattern ca. bei 500.000 Bp liegt. Diese Patternwaren, bei der angenommenen Grenze von 100.000 Bp fur die maximale Frequenz,als Marker ungeeignet. Es mussen die Pattern betrachtet werden, deren maximale

94

Page 101: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

Frequenz unterhalb von 100.000 liegt. Davon sind bei Pattern-Lange 9 auch aus-reichend Pattern vorhanden. Das Diagramm zeigt, dass fur die Pattern-Lange 9Pattern mit einer sehr niedrigeren maximalen Frequenz auftreten. Diese Patternmussen im großten Anteil mit den Pattern der recht niedrigen durchschnittlichenFrequenz ubereinstimmen. Treten diese Pattern mit einer kleinen maximalen Fre-quenz zusatzlich haufig auf, so sind das Pattern, die als Marker in Frage kommen.

Maximale Frequenz

Betrachtet man die Diagramme fur die maximale Frequenz fur die Pattern-Langen4 − 11, so fallt auf, dass sich das Maximum immer weiter nach rechts bewegt,die maximale Frequenz fur die meisten Pattern also großer wird. Es treten jedochnicht nur mehr Pattern mit einer hoheren maximalen Frequenz auf, sondern dieAnzahl der Pattern mit einer sehr geringen Frequenz nimmt auch bei steigenderPattern-Lange zu. Ab einer Pattern-Lange von 6 treten Pattern mit einer maxima-len Frequenz nahe 0 auf. Ab einer Pattern-Lange von 9 biegt sich die Kurve sogarnahe dem Nullpunkt wieder nach oben, nachdem sie ein Minimum erreicht hat(siehe Abbildung 7.8). Die Anzahl der Pattern mit einer sehr niedrigen maximalenFrequenz nimmt also mit der Pattern-Lange zu.

Abbildung 7.8.: Anzahl aller Pattern im Hinblick auf unterschiedliche maximaleFrequenzen der Pattern der Lange 9

95

Page 102: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Die maximale Frequenz ist ein wichtiges Maß, das bei der Erzeugung von Heuris-tiken fur die Markerwahl berucksichtigt werden sollte.

Minimale Frequenz

Die minimale Frequenz ist eher unwichtig, da die minimale Große der Frequenzder Pattern nicht wichtig ist. Die Angabe, dass zwei Pattern direkt aufeinanderfolgen, hat nicht viel Aussagekraft und braucht somit nicht fur die Markerwahlbenutzt werden. Gesucht sind Pattern, die regelmaßig und haufig auftreten. Mitder minimalen Frequenz wird keiner der Aspekte abgedeckt.

Standardabweichung

Eine weitere Kennzahl, die die Pattern-Frequenz berucksichtigt, ist die Standard-abweichung. Diese berucksichtigt den Erwartungswert und gibt eine genauere An-gabe zur Verteilung der Pattern. Eine hohe Standardabweichung deutet darauf hin,dass die Pattern viele unterschiedliche Werte fur die Frequenz annehmen. Ist dieStandardabweichung sehr niedrig, so kommt das Pattern in gleichen Abstanden inder betrachteten Sequenz vor. Die folgenden Abbildungen 7.9, 7.10 und 7.11 zei-gen die Standardabweichung oder auch Frequenzvarianz genannt fur die Pattern-Langen 7, 8 und 9. Es sind Pattern als Marker gesucht, deren Standardabweichungnahe 0 ist. Fur die Pattern-Lange 7 existieren kaum Pattern, die diese Bedingungerfullen.

Abbildung 7.9.: Anzahl der Pattern der Lange 7 fur die Frequenzvarianz

96

Page 103: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

Abbildung 7.10.: Anzahl der Pattern der Lange 8 fur die Frequenzvarianz

Abbildung 7.11.: Anzahl der Pattern der Lange 9 fur die Frequenzvarianz

97

Page 104: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Das zeigt, dass in DNA-Sequenzen kurzere Pattern nicht regelmaßig auftreten.Ab Pattern-Lange m = 8 existieren mehrere Pattern mit der Standardabweichungσ ≈ 0. Fur Pattern-Langen m ≤ 7 ist die Abweichung ziemlich weit gestreut, alsodie Pattern im Hinblick auf die Frequenz nicht gleichmaßig verteilt. Fur Pattern-Langen ab m = 8 existieren also Pattern in DNA-Sequenzen die nahezu regelmaßigauftreten. Bei der Pattern-Lange 9 bildet sich in der Nahe von x = 0 ein globalesMaximum. Es existieren somit viele Pattern die in der betrachteten DNA-Sequenzregelmaßig auftreten. Dies sind die Kandidaten fur Marker. Zu prufen ware furdiese Pattern nun, wie hoch die maximale Frequenz ist und ob Randanomalienvorliegen.

Die Frequenzvarianz fur Zufallstexte zeigt bei der Pattern-Lange 9 eine breiteSteuung, wobei diese bei der Lange 8 noch relativ klein ist. Die Frequenzvarianzwird mit zunehmender Pattern-Lange großer. Dies ist dadurch zu erklaren, dassdie Anzahl moglicher Pattern der betrachteten Lange exponentiell steigt.

Um die Werte besser miteinander vergleichen zu konnen, ist die Betrachtung derFrequenzvarianz in Prozent interessant, um die Relation der Abweichung bessererkennen zu konnen. Diese zeigt die Abweichung in Prozent an. Die Ergebnissezeigen, dass Zufallssequenzen fur Pattern-Lange 9 eine sehr hohe Streuung haben,d.h. dass die in einer Zufallssequenz gleichmaßig auftretenden Pattern ganz un-terschiedliche Frequenzen aufweisen. Fur Pattern-Lange 11 wiederum gibt es keinMaximum. Die auftretenden Pattern haben sowohl gleichmaßig verteilte Frequen-zen als auch ganz unterschiedliche Frequenzen.

Fur Bakteriensequenzen zeigt die Frequenzvarianz in Prozent ein ahnliches Verhal-ten, wie die oben vorgestellte Frequenzvarianz, und soll hier nicht weiter betrachtetwerden.

Betrachtung von Randanomalien

Die Selektion der Pattern mit der Kennzahl der Pattern-Frequenz soll hierverscharft werden. Man nehme an, dass ein Pattern p ganz regelmaßig auftritt,die Standardabweichung also gleich Null ist. Man betrachte Abbildung 7.12.

Abbildung 7.12.: Prufen auf Randanomalien

Wird fur p der linke Rand l1 bzw. der rechte Rand l2 oder beide Rander besondersgroß, so treten Randanomalien auf. Das bedeutet, dass das Auftreten von p sich in

98

Page 105: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

der Mitte der Sequenz anhauft, das Pattern p jedoch an den Randern nicht auftritt.Randanomalien konnen auch bei einem Pattern, das in gleichen Abstanden immerwieder auftritt, existieren. Um die Bedingung der Regelmaßigkeit vollstandig zuerfullen, muss l1 + l2 ≈ ∆F sein, wobei ∆F die durchschnittliche Frequenz ist.

Pattern-Qualitat

Pattern-Qualitat (Kennzahl 6.1)

Die Qualitat 1 (Kennzahl 6.1) ist definiert als die Differenz der Haufigkeit desAuftretens des betrachteten Patterns in der betrachteten Sequenz und des maximalhaufigsten Auftretens dieses Patterns in einer der anderen Sequenzen.

Der Abbildung 7.13 ist zu entnehmen, dass bei der Wahl von Zufallssequenzenals Wort w die Qualitat der Pattern qp(w) = 1 bei nahezu allen Pattern, die inder Sequenz auftreten, ist. Das heißt, dass fast alle Pattern in einer anderen dervorgegebenen Sequenzen genau so haufig auftreten, wie in der Betrachteten.

Bei einer DNA-Sequenz bj treten viele Pattern auf, die auch in mindestens einemder anderen DNA-Sequenzen genauso haufig auftreten: qp(bj) = 1. Die am Anfangsteil, mit der Zeit flach abfallende Kurve der DNA-Sequenz deutet darauf hin, dasses mehrere Pattern der Lange 8 gibt, die gegenuber allen anderen Pattern in derbetrachteten DNA-Sequenz mehrfach uberreprasentiert sind. Die Diagramme furPattern-Langen ab |p| = 4 zeigen auch schon die ungleichmaßige Verteilung derPattern in den unterschiedlichen DNA-Sequenzen. Wahrend bei Zufallssequenzendie Qualitat der Pattern fast uberwiegend bei 1 liegt, gibt es fur DNA-Sequenzenimmer wieder Ausreißer. Ab einer Pattern-Lange von 4 treten Pattern auf, diegegenuber allen anderen betrachteten Sequenzen uberreprasentiert sind.

Pattern-Qualitat (Kennzahl 6.4)

Die Abbildung 7.14 zeigt die Pattern-Qualitat 4, die bei den Kennzahlen fur diePattern-Qualitat unter Fall 4 definiert wurde (siehe Kapitel 5, Kennzahl 6.4), furPattern der Lange 8. Die Pattern-Qualitat 4 eines Patterns p setzt sich aus derDifferenz der Haufigkeit des Auftretens von p in Sequenz j und der Summe allerHaufigkeiten des Auftretens von p in allen betrachteten Sequenzen, einschließlich inder Sequenz j selbst, zusammen. Die so definierte Pattern-Qualitat enthalt Wertevon 0 bis 1. Tritt das Pattern in keiner anderen Sequenz auf, so besitzt dieses diePattern-Qualitat qp(bj) = 1.

Bei Zufallssequenzen w ist das Maximum ungefahr bei qp(w) = 0.25 (wobei derlinke Bereich nicht betrachtet werden soll, da eine moglichst hohe Pattern-Qualitatgewunscht ist), wahrend bei DNA-Sequenzen die Kurve flach abfallt. Das verdeut-licht die ungleichmaßige Verteilung der Auftreten der einzelnen Pattern in allenbetrachteten DNA-Sequenzen. Es existieren Pattern, die eine Pattern-Qualitat 4

99

Page 106: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

Abbildung 7.13.: Anzahl der Pattern fur die Pattern-Qualitat definiert als Kenn-zahl 6.1 in Kapitel 5

von uber qp(bj) = 0.75 haben, d.h. das Pattern tritt in der Sequenz mehr als 3 Malso haufig auf, als in allen anderen Sequenzen zusammen. Die Pattern-Qualitat4 ist neben der Pattern-Qualitat 1 ein gutes Maß dafur, um uberreprasentiertePattern gegenuber allen anderen betrachteten Sequenzen zu finden. Der Wert derPattern-Qualitat 4 hat, im Gegensatz zu der Pattern-Qualitat 1 den Nachteil,dass es abhangig von der Anzahl der betrachteten Sequenzen ist. Der Wert fur diePattern-Qualitat 4 bei der Betrachtung doppelt so vieler Sequenzen wird anderssein, als bei Betrachtung nur der Halfte der Sequenzen.

Pattern-Lange

Die Pattern-Lange kann nicht direkt ausgewertet werden, da es nur indirekt dafurErgebnisse gibt. Die Pattern-Lange spielt fast nahezu in jedem Auswertungsdia-gramm eine Rolle. Die Schlussfolgerung fur die Pattern-Lange aus den Ergebnissenfur die Standardabweichung ist folgende: Erst ab m = 8 existieren Pattern, die einregelmaßiges Auftreten zeigen. Fur kurzere Pattern-Langen existieren kaum Pat-tern, die regelmaßig auftreten. Da die Auswertungs-Diagramme jeweils nur biszu einer Pattern-Lange von 11 erzeugt wurden (aus Grunden des begrenzten Spei-cherplatzes), konnen hierbei keine Aussagen uber die Begrenzung der Pattern nachoben gemacht werden.

100

Page 107: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

Abbildung 7.14.: Anzahl der Pattern fur die Pattern-Qualitat definiert als Kenn-zahl 6.4 in Kapitel 5 im Bereich von 0, 25 bis 1

In Abschnitt 7.1.2 sind die Suffix-Baume mit der dazugehorigen Anzahl erzeugterObjekte pro Pattern-Lange und Wortlange dargestellt. Tragt man die Pattern-Lange gegen die Anzahl erzeugter Objekte auf, so erhalt man eine Sattigungskurve.Die Sattigung wird bei Zufallssequenzen viel schneller erreicht, als bei DNA-Sequenzen. Dies lasst vermuten, dass genau bis zu der Pattern-Lange, bei der dieAnzahl der erzeugten Objekte fur beide Arten der Sequenzen gleich wird (m = 14),in den DNA-Sequenzen Pattern existieren, die viel haufiger als andere Pattern inder betrachteten DNA-Sequenz auftreten. Das Phanomen wurde die niedrigere An-zahl erzeugter Objekte der DNA-Sequenzen im Vergleich zu Zufallssequenzen beigleicher Pattern-Lange erklaren.

Die Auswertungen haben ergeben, dass alle Kennzahlen bis auf die minimaleFrequenz bestimmte Eigenschaften gewahrleisten, die fur die Wahl eines gutenMarkers behilflich sein konnen. Wenn moglich, sollten alle Kennzahlen bei derWahl berucksichtigt werden.

101

Page 108: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

7.2.2. Vergleich DNA-Sequenzen gleicher undunterschiedlicher Abstammung

Nachdem DNA-Sequenzen mit Zufallssequenzen verglichen wurden, widmet sicheine weitere Untersuchung der Betrachtung von Bakteriensequenzen unterschiedli-cher Abstammung. Der DNA-Aufbau von Bakterien unterschiedlicher Herkunft va-riiert. Der Einfluss der Abstammung ist an Hand von 25 Bakteriensequenzen einerFamilie (DNA100.fna bis DNA124.fna) und 10 Bakteriensequenzen einer komplettunterschiedlichen Abstammung (DNA.fna bis DNA9.fna) untersucht worden. Diegenaue Abstammung der einzelnen DNA-Sequenzen ist im Anhang A zu finden. Eswurden die Pattern mit der besten Qualitat der jeweiligen untersuchten Sequen-zen bestimmt. Auch hier wurden noch einmal im Vergleich zu DNA-SequenzenZufallssequenzen untersucht. Die Marker zu den einzelnen betrachteten Sequenzenwurden in verschiedener Kombination der Dateien bestimmt. Die Ergebnisse sindin Tabelle 7.2 zu sehen.

Sind die Arten eng miteinander verwandt, stammen sie beispielsweise aus der glei-chen Familie, so sind die DNA-Sequenzen im großten Teil identisch (siehe [1]). DieWerte fur die Kennzahlen von DNA-Sequenzen ahneln denen von Zufallstexten.

Die hier verwendete Marker-Qualitat basiert auf der in Kapitel 5 unter Fall 1beschriebenen Pattern-Qualitat. Folgende Schlußfolgerungen konnten aus dieserUntersuchung erfasst werden:

• Bei Betrachtung der Qualitat der besten Marker nur fur eine Gruppe sinddie Ergebnisse viel besser, als wenn die drei Gruppen zusammen betrachtetwerden.

• Bei Betrachtung aller Bakterien ist die Qualitat der DNA-Sequenzen ausderselben Familie ahnlich der Qualitat der Zufallssequenzen.

• Sollen Marker von Bakterien einer Familie bestimmt werden, dann mussenandere Familien ausser Acht gelassen werden bzw. eine Kombination derbeiden Strategien durchgefuhrt werden.

Erstaunlich: Bei Betrachtung aller fur den Test zur Verfugung stehender Da-teien (Zufallssequenzen nach Knuth und Bakteriensequenzen sowohl gleicher alsauch unterschiedlicher Herkunft) fallt bei der Marker-Lange 9 auf, dass sich Bak-teriensequenzen der gleichen Familie genauso wie Zufallssequenzen verhalten. Mitdem implementierten Verfahren konnen fur diese Marker-Lange keine (bzw. nurDNA: 2/35 Dateien, Zufall: 1/20 Dateien) Marker bestimmt werden. Fur die Bak-teriensequenzen unterschiedlicher Herkunft werden fur alle DNA-Dateien Markergefunden. In 7 von 10 Bakteriensequenzen aus dieser Gruppe konnen sogar 100Marker bestimmt werden. (100 war die vorgegebene Anzahl Marker pro Datei.)

Der in Tabelle 7.2 dargestellte durchgefuhrte Versuch ist fur eine weitere Heuris-tik durchgefuhrt worden. Die Heuristik berucksichtigt die Wahrscheinlichkeit unddie Pattern-Qualitat 1 der Pattern. Die Ergebnisse sind ahnlich zu den bereits

102

Page 109: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7.2. Statistische Informationen

Tabelle 7.2.: Marker mit der besten Qualitat pro Datei, Marker-Lange 10, links:Marker bei Betrachtung aller Dateien, Mitte: Bestimmung der Markerbei Berucksichtigung aller DNA-Sequenzen, rechts: Berucksichtigungder Sequenzen in der jeweiligen Gruppe, oben: Bakteriensequenzenunterschiedlicher Herkunft, Mitte: Bakteriensequenzen mit gleichemFamilienstamm, unten: Zufallssequenzen nach Knuth

Datei Marker-Qualitat Marker-Qualitat Marker-Qualitatim Vergleich aller im Vergleich aller im Vergleich nur

Dateien Bakteriensequenzen einer GruppeDNA.fna 25.6 66.0 128.0DNA1.fna 14.6 26.67 55.0DNA2.fna 5.4 11.0 13.0DNA3.fna 10.6 31.0 38.0DNA4.fna 16.67 29.0 29.0DNA5.fna 26.14 33.0 33.0DNA6.fna 76.67 110.0 110.0DNA7.fna 8.0 9.0 14.0DNA8.fna 10.0 20.0 20.0DNA9.fna 12.67 25.33 37.0DNA100.fna 3.0 12.0 12.0DNA101.fna 2.0 3.0 7.0DNA102.fna 4.25 5.17 10.33DNA103.fna 6.27 6.27 9.71DNA104.fna 0.0 3.0 5.0DNA105.fna 3.25 3.57 3.57DNA106.fna 3.0 3.0 8.5DNA107.fna 2.88 3.0 4.33DNA108.fna 2.6 5.0 8.0DNA109.fna 3.0 6.0 8.0DNA110.fna 3.8 6.33 19.0DNA111.fna 2.17 4.0 11.0DNA112.fna 2.78 4.0 6.0DNA113.fna 2.33 3.5 4.0DNA114.fna 4.6 23.0 31.0DNA115.fna 0.0 2.0 4.0DNA116.fna 2.8 4.67 14.0DNA117.fna 2.57 3.33 8.5DNA118.fna 3.38 4.5 7.0DNA119.fna 0.0 3.0 4.0DNA120.fna 3.4 3.75 7.5DNA121.fna 3.6 7.0 15.0DNA122.fna 2.57 4.0 8.0DNA123.fna 3.71 6.0 12.5DNA124.fna 2.17 5.0 9.0KnuthRandom.txt 3.0 5.0KnuthRandom1.txt 2.8 4.5KnuthRandom2.txt 2.75 4.0KnuthRandom3.txt 3.25 5.5KnuthRandom4.txt 3.0 5.0KnuthRandom5.txt 3.5 4.5KnuthRandom6.txt 3.0 5.0KnuthRandom7.txt 3.33 4.5KnuthRandom8.txt 2.75 6.0KnuthRandom9.txt 3.72 5.0

103

Page 110: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

7. Auswertungen

beschriebenen Ergebnisse. Die Tabelle mit den Werten ist im Anhang B zu finden.

7.3. Uberprufung der Markersatze

Die in dieser Arbeit betrachteten DNA-Sequenzen sind sehr stark anwendungsge-bietspezifisch.

Der nachste Schritt, der nach der Bestimmung der Markersatze pro Eingabedateifolgen musste, ware, die einzelnen Markersatze mit Hilfe von Tests auf ihren Nutzenhin zu uberprufen. Dabei konnten Reads, von denen man die Bestandteile anBakteriensequenzen kennt, benutzt werden um zu prufen, wie die Ergebnisse imVergleich zu den bisherigen liegen. Die Ergebnisse, die mit den bisherigen Mittelngeliefert wurden, wurden Aufschluss daruber geben, ob die in dieser Diplomarbeitentwickelten Verfahren sich bewahren.

Mit dem von Jens Neugebauer ([8]) entwickelten Algorithmus konnten Pro-bensequenzen, von denen die Reads gegeben sind, auf den Inhalt der Marker, diebestimmt wurden, hin uberpruft werden. Jedoch liegen die den Markern zugrundeliegenden Bakteriensequenzen in ihrer Gesamtheit hier nicht vor. Sodass der hierentwickelte Algorithmus nicht angewendet werden kann.

Fur die Uberprufung der Markersatze ware somit eine Zusammenarbeit mit denMedizinern notwendig.

104

Page 111: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

8. Fazit und Ausblick

8.1. Fazit

Die Aufgabe der vorliegenden Diplomarbeit ist fur vorgegebene DNA-Sequenzenvon Bakterien Marker zu finden. Fur die Bestimmung moglichst kurzer, fur einBakterium signifikanter Teilsequenzen, wurden die Besonderheiten von DNA-Sequenzen im Hinblick auf den Aufbau berucksichtigt.

Auf Basis der Besonderheiten und der ermittelten Anforderungen zur Bestimmungvon Markern ist ein Algorithmus spezifiziert worden, der aus mehreren Schrittenaufgebaut ist. Es werden vorerst Pattern fur alle vorliegenden Bakteriensequenzenbestimmt. Beim Sequenzieren kann es passieren, dass einige Stellen der Sequenznicht genau bestimmt werden konnen. Diese Sequenzierungsfehler mussen beseitigtwerden. Fur die Selektion der Pattern werden statistische Informationen benutzt.Es wird unter anderem die Lange und die Frequenz der Pattern hierfur zu Hilfegenommen.

Fur die Bestimmung der Pattern und der statistischen Informationen wurden zweiunterschiedliche Verfahren implementiert. Eine einfache Pattern-Tabelle, auf dieeindeutig pro Eintrag ein Pattern zugeordnet wird. Die Pattern-Tabelle ist in zweiVarianten implementiert worden. Eine Pattern-Tabelle, die alle Pattern einer be-stimmten Lange klassifiziert. Die zweite Pattern-Tabelle, die die Klassifizierungfur alle Pattern-Langen bis zu einer vorgegebenen maximalen Lange durchfuhrt.Das zweite Verfahren sind modifizierte Suffix-Baume, die an die Anforderungenangepasst sind. Die Suffix-Baume werden nur bis zu einer bestimmten Ebene, dermaximalen gewunschten Pattern-Lange aufgebaut. Ein dritter betrachteter An-satz der Suffix-Arrays wurde nicht weiter verfolgt, da es einen ahnlichen Ansatzwie die Suffix-Baume darstellt und sich Laufzeit-technisch schlechter eignet alsSuffix-Baume.

Fur die Selektion der Pattern werden mehrere Kennzahlen herangezogen. Kenn-zahlen bilden jedes Pattern auf einen statistischen Wert ab. Mit Hilfe dieser Wertekonnen Anforderungen, die ein Marker erfullen sollte, gepruft werden. Eine Heu-ristik bildet, auf Basis der wichtigsten ausgewahlten Kennzahlen, jedes Pattern aufdessen Qualitat ab. Die Auswahl der Marker aus den selektierten Pattern erfolgtmit dieser Heuristik.

Entwickelt wurden die Algorithmen zur Patternklassifizierung und die Markeraus-wahl, die auf einem festen Auswahlverfahren basiert. Diese sucht aus den Pattern

105

Page 112: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

8. Fazit und Ausblick

fur eine fest vorgegebene Anzahl der Marker die besten Marker pro Bakteriense-quenz. Es wird ein weiteres Verfahren fur die dynamische Auswahl der Markervorgestellt, fur das weitere medizinische Kenntnisse notwendig sind.

Auswertungen statistischer Werte belegen die Eignung der vorgestellten Kenn-zahlen. Sie belegen, dass erst ab der Pattern-Lange 8 Pattern existieren, die inDNA-Sequenzen regelmaßig auftreten. Betrachtet man Suffix-Baume zur Pattern-klassifizierung, so werden bei der Betrachtung von Pattern ab einer Lange von14 keine neuen Objekte mehr erzeugt. Es lohnt sich somit nicht, Pattern langerals 14 zu wahlen. Die optimale Pattern-Lange musste ≤ 14 sein. Aus den beidenSchlussfolgerungen kann man entnehmen, dass die optimale Markerlange zwischen8 und 14 liegt.

Die nach dem Verfahren von Knuth erzeugten Zufallssequenzen sind nahezu perfektgleichmaßig verteilt. Diese Zufallssequenzen wurden mit DNA-Sequenzen vergli-chen. Es wurde bestatigt, dass die Teilsequenzen der DNA-Sequenzen fur Pattern-Langen unter einem bestimmten Wert uberhaupt nicht gleichmaßig verteilt sind.Wurden die Teilsequenzen gleichmaßig verteilt sein, so wurde man fur die Auswahlder Marker die Kennzahl fur die Auftrittshaufigkeit nicht benutzen konnen, weilsie keine relevanten Ergebnisse liefern wurde.

Ein Vergleich zwischen Bakteriensequenzen der gleichen Familie und Bakteriense-quenzen unterschiedlicher Herkunft zeigt deutlich die Gemeinsamkeiten des DNA-Aufbaus bei Bakteriensequenzen aus der gleichen Familie. Bakteriensequenzen un-terschiedlicher Herkunft liefern mit dem entwickelten Verfahren zur Markersuchegute Ergebnisse, auch wenn diese in Kombination mit Bakteriensequenzen gleicherHerkunft und Zufallssequenzen zusammen betrachtet werden. Sogar fur kurzerePattern-Langen liefern Bakteriensequenzen aus unterschiedlichen Familien nochrecht gute Ergebnisse, wahrend fur die anderen Dateien keine Marker mehr gefun-den werden konnen.

Nicht nur in der Bioinformatik spielt die Charakterisierung von Zeichenketten ei-ne wichtige Rolle. In der vorliegenden Diplomarbeit wurde am Beispiel der DNA-Sequenzen ein Ansatz zur Ermittlung von signifikanten Teilsequenzen von Bakte-riensequenzen entwickelt. Der entwickelte Algorithmus findet auch fur Zufallsse-quenzen charakteristische Teilsequenzen, wenn man die Große dieser Teilsequenzenentsprechend groß wahlt. Das zeigt, dass das entwickelte Verfahren nicht nur furDNA-Sequenzen sondern fur beliebige Texte verwendet werden konnte, jedoch istdie Laufzeit und der Speicherplatzverbrauch dann anders. Bei großeren Alphabetensteigt die Laufzeit und der Speicherplatzverbrauch.

8.2. Ausblick

Mangels medizinischer Kenntnisse konnte die dynamische Wahl der Pattern-Langeder Marker aus den klassifizierten Pattern auf Basis der entwickelten Heuristi-

106

Page 113: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

8.2. Ausblick

ken nicht umgesetzt werden. Dafur musste der Aufbau der DNA-Sequenzen bes-ser verstanden werden, um den Zusammenhang zwischen Marker-Lange, Marker-Frequenz und der Haufigkeit des Auftretens, auch im Hinblick zu anderen vorgege-benen Bakteriensequenzen, besser verstehen zu konnen. Langere Marker sind cha-rakteristischer fur ein Bakterium. Die Wahrscheinlichkeit, einen langen Marker inkurzen Reads zu finden, sinkt jedoch. Erst ab einer Lange von 8 existieren Marker,die eine gleichmaßige Frequenz(Abstand zweier Auftreten des Patterns) besitzen.Mit dem dynamischen Ansatz wurden Pattern mit einer besseren Qualitat gewahltwerden, da alle Pattern unterschiedlicher Langen betrachtet werden, was bei derSuche nach Bakterien wiederum zu besseren Ergebnissen fuhren musste. Ein wei-terer Vorteil ware, dass der Suffix-Baum dann nicht bis zu einer festen Langeaufgebaut werden musste, sondern beim Erreichen einer bestimmten Qualitat furein Pattern die Kinder nicht mehr hinzugefugt werden mussten.

Mit dem entwickelten Verfahren konnen fur vorgegebene BakteriensequenzenMarkersatze fur alle enthaltenen Bakterien bestimmt werden. Es bleibt offen diebestimmten Markersatze fur eine Probensequenz, in der einige der Bakterien auf-treten, auszutesten. Das konnte beispielsweise mit dem Algorithmus von Jens Neu-gebauer (siehe [8]) geschehen. Die Ergebnisse der bisher benutzten Markersatzekonnten mit den jetzigen verglichen werden, um festzustellen wie

”gut“ die mit

dem hier entwickelten Algorithmus gewahlten Markersatze sind.

Betrachtet man die Laufzeit und den Speicherplatz-Verbrauch der Algorithmenzur Klassifizierung der Pattern, so stellt man fest, dass sich die implementier-ten Algorithmen fur kurze Pattern ab einer bestimmten Lange gut eignen, beilangeren Pattern der Speicherplatzverbrauch exponentiell steigt. Ein Ansatz zurOptimierung des Speicherplatzverbrauchs konnte bei dem Suffix-Baum das Zu-sammenfugen von gemeinsamen Teilbaumen sein. Es ware zu untersuchen, in wieweit sich dafur DAGs (directed acyclic graph) eignen. Der Aufbau eines DAG ausdem Suffix-Baum wurde die Anzahl der Knoten und somit den Speicherplatz re-duzieren, da dadurch ein Teilbaum nur einmal in dem Speicher gehalten werdenmusste, jedoch mehrfach benutzt werden kann. Zu untersuchen ware hier, ob ausden in dieser Arbeit vorgestellten

”gekurzten“ Suffix-Baumen ein DAG erstellt

werden kann, der eine viel kleinere Anzahl an Knoten besitzt und wenn ja, wie dieeinzelnen Pattern pro Bakterium bestimmt werden konnen.

107

Page 114: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

8. Fazit und Ausblick

108

Page 115: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Literaturverzeichnis

[1] H.-J. Bockenhauer and D. Bongartz. Algorithmische Grundlagen derBioinformatik. Teubner Stuttgart, 2003.

[2] Department of Computer Science. Who is Interested in Algorithms andWhy? Lessons from the Stony Brook Algorithms Repository,http://delivery.acm.org/10.1145/340000/333627/p65-skiena.pdf?key1=333627&key2=2144616321&coll=portal&dl=ACM&CFID=24558658&CFTOKEN=30643174, 1999. SUNY Stony Brook.

[3] D. Gusfield. Algorithms on Strings, Trees, and Sequences. CambridgeUniversity Press, 1997.

[4] V. Heun. Algorithmen und Sequenzen. Vorlesung,http://www.bio.ifi.lmu.de/lehre/WS2007/VLG Sequ/, WS 2007/2008.

[5] D. E. Knuth. The Art of Computer Programming, volume 2 /Seminumerical Algorithms. Addison-Wesley, Michael A. Harrison, 1981.

[6] U. Leser. Vorlesung Algorithmische Bioinformatik, Humboldt-Universitat zuBerlin. http:// www.informatik.hu-berlin.de/ forschung/ gebiete/ wbi/teaching/ archive/ ws0506/ bioinformatik , WS 2005/2006.

[7] U. Manber and G. Myers. Suffix arrays: A new method for on-line stringsearches. Department of Computer Science, University of Arizona, May1989.

[8] J. Neugebauer. Schnelle Algorithmen zur Multipatternsuche in derMetagenomik. http://www.psue.uni-hannover.de/forschung/abschlussarbeiten/neugebauer.pdf,2008.

[9] H. Opitz. Suffix-Baume und verwandte Datenstrukturen. Diplomarbeit,http://www.psue.uni-hannover.de/forschung/abschlussarbeiten/opitz.pdf,September 2005.

[10] R. Parchmann. Zeichenkettensuche. Vorlesung, WS 2008/2009.

[11] A. Roth. Suffix Arrays. Seminar: Ausgewahlte Algorithmen undDatenstrukturen, ad.informatik.uni-freiburg.de/lehre/ss04/seminar aad/topic6/t6 slides02.ppt, Juli 2004.

[12] Software-Practice & Experience. An Incomplex Algorithm for Fast SuffixArray Construction,

109

Page 116: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Literaturverzeichnis

http://portal.acm.org/citation.cfm?id=1228668.1228672, 2007. John Wiley& Sons, Inc.

[13] ftp://ftp.ncbi.nih.gov/genomes/Bacteria/. Genomdatenbank, Bakterien.

[14] Wikipedia. Genom. http://de.wikipedia.org/wiki/Genom.

[15] T. Wilhelm and S. Nikolajewa. The purine - pyridine classification schemereveals new pattern in the genetic code. Journal of Molecular Evolution,http:// www.fli-leibniz.de/∼sweta/ genetic code and evolution/ Finalpaper.pdf ,November 2004.

110

Page 117: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

A. Herkunft derBakteriensequenzen

A.1. Bakterien unterschiedlicher Herkunft

DNA.fna: Dictyoglomus thermophilum H 6 12(phylum:Dictyoglomi - class:Dictyoglomia - order:Dictyoglomales - fami-ly:Dictyoglomaceae - genus:Dictyoglomus - species:Dictyoglomus thermophi-lum)

DNA1.fna: Saccharopolyspora erythraea (phylum:Actinobacteria -class:Actinobacteria - subclass:Actinobacteridae - order:Actinomycetales -suborder:Pseudonocardineae - family:Pseudonocardiaceae)

DNA2.fna: Arthrobacter chlorophenolicus A6(phylum:Actinobacteria - class:Actinobacteria - subclass:Actinobacteridae- order:Actinomycetales - suborder:Pseudonocardineae - fami-ly:Micrococcaceae - genus:Arthrobacter)

DNA3.fna: Yersinia pestis KIM(phylum:Proteobacteria - class:Gammaproteobacteria - or-der:Enterobacteriales - order:Enterobacteriales - family:Enterobacteriaceae- genus:Yersinia - species:Yersinia pestis)

DNA4.fna: Streptococcus pneumoniae Hungary19A-6(phylum:Firmicutes - class:Bacilli - order:Lactobacillales - fami-ly:Streptococcaceae - genus:Streptococcus - species:Streptococcus pneumo-nia)

DNA5.fna: Brachyspira hyodysenteriae WA1(phylum:Spirochaetes - class:Spirochaetes - order:Spirochaetales - fami-ly:Brachyspiraceae - genus:Brachyspira - species:Brachyspira hyodysenteriae)

DNA6.fna: Anabaena variabilis ATCC 29413(phylum:Cyanobacteria - order:Nostocales - family:Nostocaceae - ge-nus:Anabaena - species:Anabaena variabilis)

DNA7.fna: Akkermansia muciniphila ATCC BAA 835(phylum:Verrucomicrobia - class:Verrucomicrobiae - or-der:Verrucomicrobiales - family:Verrucomicrobiaceae - genus:Akkermansia -species:Akkermansia muciniphila)

111

Page 118: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

A. Herkunft der Bakteriensequenzen

DNA8.fna: Thermotoga petrophila RKU-1(phylum:Thermotogae - class:Thermotogae - order:Thermotogales - fami-ly:Thermotogaceae - genus:Thermotoga - species:Thermotoga petrophila)

DNA9.fna: Thermomicrobium roseum DSM 5159(phylum:Chloroflexi - class:Thermomicrobia - order:Thermomicrobiales- family:Thermomicrobiaceae - genus:Thermomicrobium - spe-cies:Thermomicrobium roseum)

A.2. Bakterien aus der gleichen Familie

Der Stamm der folgenden Bakteriensequenzen ist phylum:Proteobacteria -class:Betaproteobacteria - order:Burkholderiales - family:Burkholderiaceae.

DNA100.fna: Burkholderia pseudomallei 1106a(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia pseudomallei)

DNA101.fna: Burkholderia pseudomallei 668(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia pseudomallei)

DNA102.fna: Burkholderia pseudomallei K96243(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia pseudomallei)

DNA103.fna: Burkholderia mallei NCTC 10247chromosome II (genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia mallei)

DNA104.fna: Burkholderia mallei SAVP1(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia mallei)

DNA105.fna: Burkholderia mallei ATCC 23344(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia mallei)

DNA106.fna: Burkholderia mallei NCTC 10229(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia mallei)

DNA107.fna: Burkholderia mallei NCTC 10247(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia mallei)

DNA108.fna: Burkholderia thailandensis E264 chromosome I(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia thailandensis)

112

Page 119: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

A.2. Bakterien aus der gleichen Familie

DNA109.fna: Burkholderia thailandensis E264 chromosome II(genus:Burkholderia - species group:pseudomallei group - spe-cies:Burkholderia thailandensis)

DNA110.fna: Burkholderia cenocepacia AU 1054(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA111.fna: Burkholderia cenocepacia J2315 chromosome I(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA112.fna: Burkholderia cenocepacia J2315 chromosome II(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA113.fna: Burkholderia cenocepacia MC0 3 chromosome I(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA114.fna: Burkholderia cenocepacia MC0 3 chromosome II(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA115.fna: Burkholderia cenocepacia MC0 3 chromosome III(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA116.fna: Burkholderia cenocepacia HI2424(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia cenocepacia)

DNA117.fna: Burkholderia ambifaria MC40 6(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia ambifaria)

DNA118.fna: Burkholderia cepacia AMMD chromosome I(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia ambifaria)

DNA119.fna: Burkholderia cepacia AMMD chromosome II(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia ambifaria)

DNA120.fna: Burkholderia ambifaria MC40 6 chomosome II(genus:Burkholderia - species group:Burkholderia cepacia complex - spe-cies:Burkholderia ambifaria)

DNA121.fna: Ralstonia eutropha H16 chromosome I(genus:Cupriavidus - species:Cupriavidus necator)

DNA122.fna: Ralstonia eutropha H16 chromosome II

113

Page 120: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

A. Herkunft der Bakteriensequenzen

(genus:Cupriavidus - species:Cupriavidus necator)

DNA123.fna: Ralstonia metallidurans CH34 chromosome I(genus:Cupriavidus - species:Cupriavidus metallidurans)

DNA124.fna: Ralstonia metallidurans CH34 chromosome II(genus:Cupriavidus - species:Cupriavidus metallidurans)

114

Page 121: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

B. Vergleich der Marker-Qualitatfur verschiedene Dateien

Die Tabelle zeigt erganzend zu Abschnitt 7.2.2 fur ausgewahlte Pattern mit derProbabilityQualityHeuristic die Marker-Qualitat. Die Markersatze sind furBakteriensequenzen aus unterschiedlichen Familien, aus der gleichen Familie undfur Zufallssequenzen bestimmt dargestellt. Da die Werte abhangig von der Anzahlder Eingabe-Dateien sind, wurden von den unterschiedlichen Gruppen jeweils 10Dateien gewahlt.

115

Page 122: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

B. Vergleich der Marker-Qualitat fur verschiedene Dateien

Tabelle B.1.: Marker mit der hochsten Wahrscheinlichkeit pro Datei, Marker-Lange 10, links: Marker bei Betrachtung aller Dateien, Mitte: Bestim-mung der Marker bei Berucksichtigung aller DNA-Sequenzen, rechts:Berucksichtigung der Sequenzen in der jeweiligen Gruppe, oben:DNA-Sequenzen unterschiedlicher Herkunft, Mitte: DNA-Sequenzenmit gleichem Familienstamm, unten: Zufalls-Sequenzen nach Knuth

Datei Marker-Qualitat Marker-Qualitat Marker-Qualitatim Vergleich aller im Vergleich aller im Vergleich nur

Dateien Bakteriensequenzen einer GruppeDNA.fna 0.67 1.0 1.0DNA1.fna 0.62 1.0 1.0DNA2.fna 0.43 1.0 1.0DNA3.fna 0.51 1.0 1.0DNA4.fna 0.59 1.0 1.0DNA5.fna 0.77 1.0 1.0DNA6.fna 0.86 1.0 1.0DNA7.fna 0.42 1.0 1.0DNA8.fna 0.62 1.0 1.0DNA9.fna 0.56 1.0 1.0DNA100.fna 0.22 0.73 1.0DNA101.fna 0.23 0.43 1.0DNA102.fna 0.23 0.6 1.0DNA103.fna 0.45 0.72 1.0DNA104.fna 0.25 0.38 1.0DNA105.fna 0.27 0.46 1.0DNA106.fna 0.44 0.53 1.0DNA107.fna 0.29 0.5 1.0DNA108.fna 0.19 0.6 1.0DNA109.fna 0.18 1.0 1.0KnuthRandom.txt 0.28 0.53KnuthRandom1.txt 0.24 0.53KnuthRandom2.txt 0.35 0.5KnuthRandom3.txt 0.29 0.5KnuthRandom4.txt 0.28 0.48KnuthRandom5.txt 0.35 0.53KnuthRandom6.txt 0.31 0.56KnuthRandom7.txt 0.32 0.47KnuthRandom8.txt 0.28 0.58KnuthRandom9.txt 0.26 0.5

116

Page 123: Charakterisierung von DNA-Sequenzen mit Su x-B … · Gliederung Nach der hier vorgestellten Motivation und Aufgabenstellung werden in Kapi-tel2 die Grundlagen behandelt. ... zur

Erklarung

Ich erklare hiermit, dass ich die vorliegende Arbeit selbststandig angefertigt undkeine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe.

Hannover, den 30. April 2009

Olesia Brill

117