bwt in der praxis - gi.cebitec.uni-bielefeld.de filebwt in der praxis nina luhmann (kleine...
TRANSCRIPT
![Page 1: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/1.jpg)
BWT in der Praxis
Nina Luhmann (kleine Anderungen von Roland)
Sequenzanalyse-Praktikum
2./3. Mai 2017
![Page 2: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/2.jpg)
Ubersicht
1. Motivation
2. Wiederholung BWT
3. BWT in der Praxis
2 of 20
![Page 3: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/3.jpg)
Motivation – Mapping
• sehr lange Referenzsequenz→ viele mogliche Mappingpositionen fur Reads
• Vorverarbeitung der Referenz, die schnelle Suche erlaubt
• Indizierung der Referenz mit BWT→ effiziente Suche aller Mappingpositionen eines Reads
• Beispiele: BWA, Bowtie2
3 of 20
![Page 4: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/4.jpg)
Motivation – Kompression
• große Datensatze → viel Speicherplatz
• Kompression von Daten notwendig
• bijektive Transformation: Wiederhestellung vom Original
• BWT: Sortiere zyklische Rotationen des TextesBWT: → gruppiere Zeichen nach ihrem Kontext
• Ergebnis ist Permutation des Originaltextes, die besser zukomprimieren ist das Original
• Beispiel: bzip2
4 of 20
![Page 5: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/5.jpg)
Burrows- Wheeler Transformation
Gegeben ist ein Text t = s$ = STETSTESTE$.Konstruiere die Matrix M aus zyklischen Rotationen von t...
S T E T S T E S T E $
T E T S T E S T E $ S
E T S T E S T E $ S T
T S T E S T E $ S T E
S T E S T E $ S T E T
T E S T E $ S T E T S
E S T E $ S T E T S T
S T E $ S T E T S T E
T E $ S T E T S T E S
E $ S T E T S T E S T
$ S T E T S T E S T E
5 of 20
![Page 6: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/6.jpg)
Burrows-Wheeler Transformation
...und sortiere sie.
F L$ S T E T S T E S T E
E $ S T E T S T E S T
E S T E $ S T E T S T
E T S T E S T E $ S T
S T E $ S T E T S T E
S T E S T E $ S T E T
S T E T S T E S T E $
T E $ S T E T S T E S
T E S T E $ S T E T S
T E T S T E S T E $ S
T S T E S T E $ S T E
6 of 20
![Page 7: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/7.jpg)
Burrows-Wheeler Transformation
⇒ bwt(t) = ETTTET$SSSE
7 of 20
![Page 8: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/8.jpg)
Burrows-Wheeler Rucktransformation
8 of 20
![Page 9: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/9.jpg)
Burrows-Wheeler Rucktransformation
8 of 20
![Page 10: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/10.jpg)
Burrows-Wheeler Rucktransformation
8 of 20
![Page 11: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/11.jpg)
Read Mapping mit BWT
• Aufgabe: Finde alle Vorkommen eines kurzen Reads in einerlaaaaaangen Referenz
• Idee: BWT der Referenz, damit Vorkommen zusammen gruppiert
• Bowtie2, BWA: FM-Index der Referenz
• FM-Index = BWT + Suffix Array + zusatzliche Tabellen
• wenig Speicherplatzverbrauch: 2,2 GB fur menschliches Genom
9 of 20
![Page 12: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/12.jpg)
Beispiel (exaktes) Mapping
p = TEST
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T S
T S
T S
T E
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E T
E T
S −→ E
S −→ T
S −→ $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E −→ T
E T
S −→ E
S T
S $
T −→ S
T S
T S
T E
10 of 20
![Page 13: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/13.jpg)
Beispiel (exaktes) Mapping
p = TEST
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T S
T S
T S
T E
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E T
E T
S −→ E
S −→ T
S −→ $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E −→ T
E T
S −→ E
S T
S $
T −→ S
T S
T S
T E
10 of 20
![Page 14: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/14.jpg)
Beispiel (exaktes) Mapping
p = TEST
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T S
T S
T S
T E
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E T
E T
S −→ E
S −→ T
S −→ $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E −→ T
E T
S −→ E
S T
S $
T −→ S
T S
T S
T E
10 of 20
![Page 15: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/15.jpg)
Beispiel (exaktes) Mapping
p = TEST
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T S
T S
T S
T E
F · · · L
$ E
E T
E T
E T
S E
S T
S $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E T
E T
S −→ E
S −→ T
S −→ $
T −→ S
T −→ S
T −→ S
T E
F · · · L
$ E
E T
E −→ T
E T
S −→ E
S T
S $
T −→ S
T S
T S
T E
10 of 20
![Page 16: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/16.jpg)
Kompression mit bzip2
1. Blocks of size 100.000–900.000
2. Burrows–Wheeler transform (BWT)
3. Move to front (MTF)
4. Run-length encoding (RLE)
5. Huffman coding
6. Selection between multiple Huffman tables
7. Unary base 1 encoding of Huffman table selection
8. Delta encoding (∆) of Huffman code bit-lengths
9. Sparse bit array showing which symbols are used
11 of 20
![Page 17: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/17.jpg)
Beispiel
t = STETSTESTE$→ 11 bytes = 88 bit
bwt(s) = ETTTET$SSSE
12 of 20
![Page 18: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/18.jpg)
Beispiel – BWT
t = STETSTESTE$→ 11 bytes = 88 bit
bwt(s) = ETTTET$SSSE
13 of 20
![Page 19: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/19.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E
14 of 20
![Page 20: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/20.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
14 of 20
![Page 21: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/21.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
14 of 20
![Page 22: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/22.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
14 of 20
![Page 23: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/23.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
14 of 20
![Page 24: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/24.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1
14 of 20
![Page 25: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/25.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
14 of 20
![Page 26: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/26.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
$TES
T
TTE$S
2$
14 of 20
![Page 27: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/27.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
$TES
T
TTE$S
2$
S$TE
3$
$
S
$TES
14 of 20
![Page 28: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/28.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
$TES
T
TTE$S
2$
S$TE
3$
$
S
$TES
S$TE
S$TE
0S
S
S
14 of 20
![Page 29: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/29.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
$TES
T
TTE$S
2$
S$TE
3$
$
S
$TES
S$TE
S$TE
0S
S
S
S$TE
0S
S
S
S
14 of 20
![Page 30: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/30.jpg)
Beispiel – Move-to-front
Idee: Jedes Symbol wird durch seinen Index im Stack der zuletztverwendeten Symbole ersetzt
$EST
Stack
0
1
2
3
E T T T E T $ S S S E1E$ST
$EST
E
$EST
TE$S
3E$ST
E T
TE$S
T0
TE$S
T
TT
T
T
T0
T TE$S
ET$S
T
T
E
E
1TE$S
E
E
1ET$S
T
$TES
T
TTE$S
2$
S$TE
3$
$
S
$TES
S$TE
S$TE
0S
S
S
S$TE
0S
S
S
S ES$T
3S
S
E
E
14 of 20
![Page 31: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/31.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3stack = (E , S , $,T )Idee: Kodierung von Zeichen in Binarform, so dass haufigere Zeichenkurze Codes und seltene Zeichen langere Codes erhalten (prefix-freecodes)
Haufigkeiten:0 4
1 3
2 1
3 3
15 of 20
![Page 32: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/32.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
16 of 20
![Page 33: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/33.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
16 of 20
![Page 34: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/34.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
4x
16 of 20
![Page 35: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/35.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
4x4x
7x7x
16 of 20
![Page 36: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/36.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
4x4x
7x7x
11x
16 of 20
![Page 37: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/37.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
4x4x
7x7x
11x11x
16 of 20
![Page 38: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/38.jpg)
Beispiel – Huffman Coding
mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3
0 1 2 3Alphabet
4x 3x 1x 3xHäufigkeiten
4x4x
7x7x
11x11x
0
1
1
1
0
0
0 10 110 111Binärcode16 of 20
![Page 39: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/39.jpg)
Beispiel - Huffman Coding
t = STETSTESTE$→ 88 bit,mtf = 1, 3, 0, 0, 1, 1, 2, 3, 0, 0, 3⇒ 1011100101011011100111→ 22 bit +
#
0 4 0
1 3 10
2 1 110
3 3 111
17 of 20
![Page 40: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/40.jpg)
Einfluss der Alphabetgroße auf bzip2?
1. Blocks of size 100.000–900.000
2. Burrows–Wheeler transform (BWT)
3. Move to front (MTF)
4. Run-length encoding (RLE)
5. Huffman coding
6. Selection between multiple Huffman tables
7. Unary base 1 encoding of Huffman table selection
8. Delta encoding (∆) of Huffman code bit-lengths
9. Sparse bit array showing which symbols are used
18 of 20
![Page 41: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/41.jpg)
Einfluss der Alphabetgroße auf bzip2?
1. Blocks of size 100.000–900.000
2. Burrows–Wheeler transform (BWT)
3. Move to front (MTF)
4. Run-length encoding (RLE)
5. Huffman coding
6. Selection between multiple Huffman tables
7. Unary base 1 encoding of Huffman table selection
8. Delta encoding (∆) of Huffman code bit-lengths
9. Sparse bit array showing which symbols are used
18 of 20
![Page 42: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/42.jpg)
Zusammenfassung
• BWT fur Textkomprimierung
• Typischer Schritt vor der Move-to-front Codierung
• Teil des bzip2 Algorithmus
• Ubung: Fur welche Texte funktioniert das gut, fur welcheschlechter?
• BWT als Vorverarbeitung im Read mapping
• Ubung: Spielerei mit Bowtie2
19 of 20
![Page 43: BWT in der Praxis - gi.cebitec.uni-bielefeld.de fileBWT in der Praxis Nina Luhmann (kleine Anderungen von Roland) Sequenzanalyse-Praktikum 2./3. Mai 2017](https://reader030.vdokument.com/reader030/viewer/2022041206/5d5e407788c993fc568ba66b/html5/thumbnails/43.jpg)
Quellen
• Skript zur Vorlesung “Sequenzanalyse”, Technische Fakultat,Universitat Bielefeld, Wintersemester 2014/15
• M. Burrows and D. Wheeler: “A block sorting lossless datacompression algorithm.”, Technical Report 124, Digital EquipmentCorporation, 1994
• “bzip2”, https://en.wikipedia.org/wiki/Bzip2, Stand: 15.04.2016
• D.A. Huffman, “Method for the Construction ofMinimum-Redundancy Codes“, Proceedings of the I.R.E., pp1098–1102, 1952
20 of 20