MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM...

35
EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

Transcript of MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM...

Page 1: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

MBI: Exaktes Matching

Bernhard Haubold

5. November 2013

Page 2: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Wiederholung

• Scoring• DNA• Protein

• Algorithmus: Optimal• Global• Lokal

• Varianten• Multiples Alignment: alles paarweise; Paarsummen-Score• Schnelles Alignment: Exaktes Matching zur Verkleinerung

des Suchraums• Global: MUMmer• Lokal: BLAST

Page 3: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Übersicht: Exaktes Matching

• Wozu exaktes Matching?

• Naive Lösung• Präprozessieren

• Muster• Z-Algorithmus• Keyword-Tree

• Text• Suffix Baum• Suffix Array• Borrows-Wheeler Transform

Page 4: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Exaktes und inexaktes Matching

• Ähnliche Sequenzen haben ähnliche Funktion

• Gleichheit Spezialfall von Ähnlichkeit

• Aber auch: Ähnlichkeit impliziert gewissens Maß anGleichheit

Page 5: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Ähnlichkeit und Gleichheit

• Betrachte String P der Länge n

• Suche nach Treffer mit k ≤ 2 Mismatches in T

• Bedeutet, jeder Treffer enthält einen exakten Matchzwischen P und T der Länge ≥ n/(k + 1)

Page 6: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Wozu exaktes Matching?

A

Query

B

Subject

C SubjectMSP1 MSP2

MSP: Maximal Scoring Pair

Page 7: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Das Exakte Matching-Problem

• Betrachte das Muster P und den Text T

• Finde alle Positionen an denen P in T anfängt

• Beispiel:

P T123 123456789012ACA CCACAGACACAT

Anfänge: 3, 7, 9

Page 8: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Naiver Algorithmus

Phase 1 Phase 2 Phase 3Text CCACAGACACAT CCACAGACACAT CCACAGACACATMuster ACA ACA ACA

ˆ ˆ ***

O(|P| × |T |); Ziel: O(|P|+ |T |)

Page 9: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Präprozessieren

• Betrachte• Muster: ACA• Text: CCACAGACACAT

• Beschleunige Suche durch Präprozessierung von• Muster und/oder• Text

• In der Praxis oft beides; Beispiel BLAST:• Wort-Liste aus Muster (Query)• formatdb angewandt auf Text (Subject)

Page 10: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Begriffe

Pos 123456789T MAXPLANCK

• Substring: T [i ..j]; e.g. T [4..7] = PLAN

• Präfix: T [1..i]; e.g. T [1..3] = MAX

• Suffix: T [i ..|T |]; e.g. T [4..9] = PLANCK

Page 11: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Präprozessieren des Musters

• Betrachte den String S• Der Z-Wert, Zi , ist die Länge des längsten Substrings, der

an S[i] anfängt und mit einem Präfix von S übereinstimmt.• Beispiel:

Pos 12345S CACAG

Z1 = 5 (trivial), Z2 = 0, Z3 = 2, Z4 = 0, Z5 = 0.

• Z-Box: Substring S[i ..i + Zi − 1] bei dem Zi > 0• Beispiel: Z3 = 2 =⇒ S[3..4] ist eine Z-Box

Page 12: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Z-Algorithmus

• k : aktuelle Position

• r : rechte Grenze der aktuellen Z-Box

• Wenn k > r , berechne Zk neu; wenn neues Zk > 0,r ← k + Zk − 1 and l ← k .

• Sonst, schau Zk ′ nach, wobei k ′ = k − l +1, und vergleichees mit der Länge der aktuellen Z-Box, β = r − k + 1

• Wenn Zk ′ < β, Zk ← Zk ′ .• Sonst, vergleiche die Buchstaben ab Positionen r + 1 und

β + 1 bis an Position S[q] ein Mismatch gefunden wird;dann Zk ← q − k , r ← q − 1, und l ← k .

Wende diesen Algorithmus an auf S = P$T .

Page 13: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Beispiel

k 123456789Zk 901003?String ACA$CACAG

A C A $ C A C A Gk 1 2 3 4 5 6 7 8 9Zk 0 1 0 0 3 0 1 0l 1 1 3 3 3 6 6 8 8r 1 1 3 3 3 8 8 8 8k ′ 2 3Zk ′ 0 1β 2 1q 9

β

• linke und rechte Grenze der Z-Box bei k = 6: l = 6, r = 8

• k = 7 ≤ r , also berechne k ′ = 7− 6 + 1 = 2 und β = 2

• Da Z2 = 0 < β = 2, ist Z7 = 0

Page 14: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Set Matching: Keyword Tree

A B C D

b

b

A

b

C

b

G

1−→

b

b

A

b

C

b

G

1

2−→

b

b

A

b

C

b

Gb

T

1

2

3−→

b

b

A

b

C

b

Gb

T

bC

b

G

bA

1

2

3 4

P1 = ACG, P2 = AC, P3 = ACT, P4 = CGA

Naives Set Matching mit T = ACGA: beginne an jeder Positionin T an der Wurzel

Page 15: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Keyword Tree mit Failure Linksb

b

A

b

C

b

G

b

T

b

C

b

G

b

A

1 3 4

2

P1 = ACG, P2 = AC, P3 = ACT, P4 = CGA

• v → w : Beschriftung(w) ist der längste übereinstimmendeSuffix(Beschriftung(v))

• T1 = ACGA

• T2 = CGACG

Page 16: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Text Präprozessieren: Suffix Bäume

1 2 3 4A C C G

b

1b

2b

3

bCG G

b

4

bACCG C G

Page 17: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Definition eines Suffix Baums

• Blatt für jeden Suffix, beschriftet mit Anfangsposition desSuffix

• Pfad-Beschriftung von der Wurzel bis zu einem Blattentspricht dem Suffix, der an der Blatt-Beschriftunganfängt

Page 18: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Erste Anwendung eines Suffix Baums

1 2 3 4A C C G

b

1b

2b

3

bCG G

b

4

bACCG C G

• Pattern matching in O(|P|) wenn Baum vorhanden (BaumKonstruktion O(|T |))

• Pfad-Beschriftungen, die über einem internen Knotenenden: Widerholungen

• Pfad-Beschriftungen, die auf einem terminalen Ast enden:einmalig

Page 19: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Konstruktion eines Suffix Baums

A B

b

1

bACCG →

b

1

bACCG

b

2

CC

G

C D

b

1

bACCG

b

b

2b

3

bCG G

b

C →

b

1b

2b

3

bCG G

b

4

bACCG C G

1 2 3 4A C C G

Page 20: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Enden

bACGC$G

C$ C $

b

1b

3bG

C$

$

b

2b

4

b

5

1 2 3 4 5A C G C $

Page 21: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Grad der Knoten und Ordnung der Kanten1 2 3 4 5 6 7 8 9 10 11 12 13

T T A T A C C A A T C C T $

$ A C T

13 AT

CC

T$

CC

AA

TC

CT

$

T

7 4

AC

CA

AT

CC

T$

CC

T$

2 8

AA

TC

CT$

C T$

6 AA

TC

CT

$

T$

5 10

11

$ AC

CT$

12

CC

AA

TC

CT

$T

AC

CA

AT

CC

T$

3 1

9

Page 22: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Software Demo

bioinformer

Page 23: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Platz sparen: Suffix Array

Rang SA Suffix1 13 $2 7 AATCCT$3 4 ACCAATCCT$4 2 ATACCAATCCT$5 8 ATCCT$6 6 CAATCCT$7 5 CCAATCCT$8 10 CCT$9 11 CT$10 12 T$11 3 TACCAATCCT$12 1 TATACCAATCCT$13 9 TCCT$

Page 24: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Enhanced Suffix Array

Rang SA Suffix LCP Laenge(LCP)1 13 $ - 02 7 AATCCT$ - 03 4 ACCAATCCT$ A 14 2 ATACCAATCCT$ A 15 8 ATCCT$ AT 26 6 CAATCCT$ - 07 5 CCAATCCT$ C 18 10 CCT$ CC 29 11 CT$ C 110 12 T$ - 011 3 TACCAATCCT$ T 112 1 TATACCAATCCT$ TA 213 9 TCCT$ T 1

Page 25: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Vom Enhanced Suffix Array zum Suffix BaumA B

$

13

−→

$AATCCT$

13 7

−→

C D$ A

AT

CC

T$

CC

AA

TC

CT

$

13

7 4

−→ −→ −→ $ A C T

13 AT

CC

T$

CC

AA

TC

CT

$

T

7 4

AC

CA

AT

CC

T$

CC

T$

2 8

AA

TC

CT$

C T$

6 AA

TC

CT

$

T$

5 10

11

$ AC

CT$

12

CC

AA

TC

CT

$T

AC

CA

AT

CC

T$

3 1

9

Page 26: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Einfache Textkompression

AAAACCTTTTTCC→ A4C2T5C2

Wiederholte Buchstaben lassen sich komprimieren

Page 27: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Maximiere Wiederholung: Sortierung

A4C2T5C2↔AAAACCTTTTTCC→ AAAACCCCTTTTT↔A4C4T5

Nach Sortierung: Rekonstruktion des Textes (Decodierung)unmöglich

Page 28: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Text RotierenText

123456789 111123456789012mississippi$

Rotation1 mississippi$2 ississippi$m3 ssissippi$mi4 sissippi$mis5 issippi$miss6 ssippi$missi7 sippi$missis8 ippi$mississ9 ppi$mississi

10 pi$mississip11 i$mississipp12 $mississippi

Page 29: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Rotation Sortieren

Text Rotation Sortierte Rotation Transformierter Textmississippi$ $mississipp iississippi$m i$mississip pssissippi$mi ippi$missis ssissippi$mis issippi$mis sissippi$miss ississippi$ m

mississippi$ ssippi$missi mississippi $ ipssm$pissiisippi$missis pi$mississi pippi$mississ ppi$mississ ippi$mississi sippi$missi spi$mississip sissippi$mi si$mississipp ssippi$miss i$mississippi ssissippi$m i

• “Beinahe” sortieren

• Borrows Wheeler Tranform (BWT)

• Erhöht die Zahl der Wiederholungen

Page 30: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Kompression durch BWT?

bwt ../Data/hamlet.fasta | less

Page 31: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Reversibel?

Text Rotation Sortierte Rotation Transformierter Textmississippi$ $mississipp iississippi$m i $mississip pssissippi$mi i ppi$missis ssissippi$mis i ssippi$mis sissippi$miss i ssissippi$ m

mississippi$ ssippi$missi mississippi $ ipssm$pissiisippi$missis pi$mississi pippi$mississ ppi$mississ ippi$mississi s ippi$missi spi$mississip sissippi$mi si$mississipp ssippi$miss i$mississippi ssissippi$m i

Page 32: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Decodierung

A B C

F L

$ ii pi si si mm $p pp is ss ss is i

F L

$1 i 1

i 1 p1i 2 s1

i 3 s2

i 4 m1

m1 $1

p1 p2p2 i 2

s1 s3

s2 s4

s3 i 3

s4 i 4

F L

$1 i 1

i 1 p1i 2 s1

i 3 s2

i 4 m1

m1 $1

p1 p2p2 i 2

s1 s3

s2 s4

s3 i 3

s4 i 4

Page 33: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Software-Beispiele

Datenstruktur Programm Zweck AutorenSuffix Baum MUMmer Globales Alignment Kurtz et al., 2004BWT bwa Glokales Alignment Li & Durbin, 2010Enhanced Suffix Array kr Genom Distanzen Domazet-Lošo & Haubold, 2009

Page 34: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Literatur

• Suffix Baum, Suffix Array, & Keyword Tree: Haubold &Wiehe, 2006. Introduction to Computational Biology ;Kapitel 3.

• Enhanced Suffix Array: Ohlebusch, E. (2013).Bioinformatics Algorithms: Sequence Analysis, GenomeRearrangements, and Phylogenetic Reconstruction;Kapitel 4.

• Borrows-Wheeler Transform: Ohlebusch, E. (2013).Bioinformatics Algorithms: Sequence Analysis, GenomeRearrangements, and Phylogenetic Reconstruction;Kapitel 7.2

Page 35: MBI: Exaktes Matching - inb.uni-luebeck.de fileEINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION MBI: Exaktes Matching Bernhard Haubold 5. November 2013

EINLEITUNG Z-ALGORITHMUS KEYWORD TREE SUFFIX BAUM SUFFIX ARRAY KOMPRESSION

Zusammenfassung

• Exaktes & inexaktes Matching

• Das exakte Matching Problem

• Naive Lösung• Präprozessierung

• Muster(Pattern): Z-Algorithmus, Keyword Tree• Text: Suffix Baum, Suffix Array, Borrows-Wheeler

Transformation