t a t a c g a a t c t a a a posacgt 1.49998.5.00001 2.49998.5 3.6.39998.00001 wie oft matcht das...
TRANSCRIPT
![Page 1: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/1.jpg)
T A T A C G A A T C T A A AT A T A C G A A T C T A A A
Pos A C G T
1 .49998
.5 .00001
.00001
2 .00001
.00001
.49998
.5
3 .6 .39998
.00001
.00001
Wie oft matcht das Profil ?
![Page 2: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/2.jpg)
T A T A C G A A T C T A A AT A T A C G A A T C T A A A
Pos A C G T
1 .49998
.5 .00001
.00001
2 .00001
.00001
.49998
.5
3 .6 .39998
.00001
.00001
Wie oft matcht das Profil ?
1 2 3 4
![Page 3: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/3.jpg)
Suche nach Motiven mit PSSMs und Enhanced Suffix Array
PoSSuMSearch: Fast and Sensitive Matching of Position Specific Scoring Matrices using Enhanced Suffix ArraysBeckstette, Strothmann, Homann, Giegerich, Kurtz
![Page 4: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/4.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lineup
• Suffix Tree versus Suffix Array
• Lookahead Search bei Suffix Trees
• Lookahead Search bei Suffix Arrays
• Vergleich
• Restricted Probability Computation
• Zusammenfassung
![Page 5: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/5.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Suffix Tree vs Suffix Array
1 ATATA$3 ATA$5 A$2 TATA$4 TA$6 $
Suffix Tree for |ATATA$| = n
Start
Inorder Traversierung
[3]
![Page 6: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/6.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Suffix Tree vs Suffix Array
Suffix Tree for |ATATA$| = n
Start
Suffix Array for ATATA$
1 ATATA$3 ATA$5 A$2 TATA$4 TA$6 $
[3]
![Page 7: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/7.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Suffix Tree vs Suffix Array
Suffix Tree for |ATATA$| = n
Start
Suffix Array for ATATA$
Speicherbedarf: 4 byte pro Zeichen 17 byte pro ZeichenAufbau: O (n) O (n)Stringsuche: O (m * log n) O (m)
1 ATATA$3 ATA$5 A$2 TATA$4 TA$6 $
[3]
![Page 8: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/8.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Naive Suche mit Suffix Trees
• Suche nach allen Strings mit Threshold t in O (mn)
Pos A C G T
1 12 10 -9 -10
2 -10 -8 9 11
3 13 8 -10 -9
1..m
Threshold t = 22
![Page 9: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/9.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Naive Suche mit Suffix Trees
• Suche nach allen Strings mit Threshold t in O (mn)
Pos A C G T
1 12 10 -9 -10
2 -10 -8 9 11
3 13 8 -10 -9
1..m
Threshold t = 22
![Page 10: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/10.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Suffix Tree@ Dorohonceanu et. al [4]• Scores in PSSM können benutzt werden um t row, einen
Zwischengrenzwert für jede Zeile der PSSM, zu berechnen
Pos A C G T t row max end
1 12 10 -9 -10 -2 24
2 -10 -8 9 11 9 13
3 13 8 -10 -9 22 0
1..m
Threshold t = 22
max end(i) = max(i+1)+..+max(m)
t row = t – max end
![Page 11: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/11.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
1..m
Laufzeit verringert zu O (k * n), wobei k die durchschnittliche Anzahlvon PSSM - Vergleichen pro Sequenzposition ist
Lookahead Search Suffix Tree@ Dorohonceanu et. al [4]
Pos A C G T t row max end
1 12 10 -9 -10 -2 24
2 -10 -8 9 11 9 13
3 13 8 -10 -9 22 0
• Scores in PSSM können benutzt werden um t row, einen Zwischengrenzwert für jede Zeile der PSSM, zu berechnen
![Page 12: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/12.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Details
• Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen
Pos
A C G T t row max end
1 12 10 -9 -10
-2 24
2 -10
-8 9 11 9 13
3 13 8 -10 -9 22 0
PSSM matcht vollständig
Fall 1:
![Page 13: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/13.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Details
• Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen
PSSM matcht nicht vollständig
Fall 2:Pos
A C G T t row max end
1 12 10 -9 -10
-2 24
2 -10
-8 9 11 9 13
3 13 8 -10 -9 22 0
![Page 14: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/14.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Details
• Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen
PSSM matcht nicht vollständig
Fall 2:Pos
A C G T t row max end
1 12 10 -9 -10
-2 24
2 -10
-8 9 11 9 13
3 13 8 -10 -9 22 0
![Page 15: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/15.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Details
• Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen
Nur 6 Vergleiche mit Lookahead Scoring statt 9 mit naiver Suche
Pos
A C G T t row max end
1 12 10 -9 -10
-2 24
2 -10
-8 9 11 9 13
3 13 8 -10 -9 22 0
![Page 16: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/16.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Details
• Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen
![Page 17: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/17.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Tiefensuche Suffix Array@ Beckstette et. al [1][2]
• Wie kann man mit Suffix Arrays Tiefesuche simulieren ??
Suffix Array (1..n)
Suffix Tree
![Page 18: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/18.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
• Wie kann man mit Suffix Arrays Tiefesuche simulieren ??
Suffix Array (1..n)
Suffix Tree
Lowest Common Prefix Array
Tiefensuche Suffix Array@ Beckstette et. al [1][2]
![Page 19: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/19.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
• Wie kann man mit Suffix Arrays Tiefesuche simulieren ??
Suffix Array (1..n)
Suffix Tree
Lowest Common Prefix Array
Skip Arraynächstes Blatt was nicht im gleichenSubbaum ist
Tiefensuche Suffix Array@ Beckstette et. al [1][2]
![Page 20: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/20.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Suffix Array @ Beckstette et. al [1][2]
Beispiel für Lookahead Search mit Suffix Arrays:
Suffix Array (1..n)
Suffix Tree
Skip Array
Lowest Common Prefix Arraylcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
nächstes Blatt was nicht im gleichenSubbaum ist
![Page 21: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/21.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Suffix Array @ Beckstette et. al [1][2]
Beispiel für Lookahead Search mit Suffix Arrays:
Suffix Array (1..n)
Suffix Tree
Skip Array
Lowest Common Prefix Arraylcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
nächstes Blatt was nicht im gleichenSubbaum ist
![Page 22: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/22.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Suffix Array @ Beckstette et. al [1][2]
Beispiel für Lookahead Search mit Suffix Arrays:
Suffix Array (1..n)
Suffix Tree
Skip Array
Lowest Common Prefix Arraylcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
nächstes Blatt was nicht im gleichenSubbaum ist
![Page 23: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/23.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Lookahead Search Suffix Array @ Beckstette et. al [1][2]
Beispiel für Lookahead Search mit Suffix Arrays:
Suffix Array (1..n)
Suffix Tree
Skip Array
Lowest Common Prefix Arraylcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
nächstes Blatt was nicht im gleichenSubbaum ist
![Page 24: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/24.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Vergleich Lookahead Search
Speicherbedarf und Laufzeit von Suffix Tree und Enhanced Suffix Array:
Suffix Array (1..n)
Suffix Tree
Skip Array
Lowest Common Prefix Array
Speicher Laufzeitpro Zeichen
17 bytes O ( kn )
9 bytes O ( kn )
4 bytes
4 bytes
1 byte 8 byte pro Zeichenweniger bei gleicher Laufzeit
Enhanced Suffix Array:
![Page 25: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/25.jpg)
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Restricted Probability Computation
analog zu Lookahead Scoringmuss nach Überschreiten des p-Values nichtweiter gerechnet werden
![Page 26: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/26.jpg)
Zusammenfassung
• Lookahead Scoring bei Suffix Trees erlaubt Suche nach PSSMs in O (kn)
• Enhanced Suffix Arrays mit Lookahead Scoring erlauben ebenfalls Suche in O (kn) bei 8 byte pro Zeichen weniger Speicherbedarf
• Wahrscheinlichkeitsverteilung brauch nur für die signifikanten p-Values berechnet werden
![Page 27: T A T A C G A A T C T A A A PosACGT 1.49998.5.00001 2.49998.5 3.6.39998.00001 Wie oft matcht das Profil ?](https://reader034.vdocuments.net/reader034/viewer/2022051413/55204d6949795902118bf674/html5/thumbnails/27.jpg)
[1] PoSSuMSearch: Fast and Sensitive Matching of Position Specific Scoring Matrices using Enhanced Suffix ArraysBeckstette, Strothmann, Homann, Giegerich, Kurtz
[2] Replacing Enhanced Suffix Trees with Enhanced Suffix ArraysAbouelhoda,Kurtz,Ohlebusch
[3] Suffix Trees and Suffix ArraysSrinivas Aluru
[4] Accelerating Protein ClassificationDorohonceanu, Nevill-Manning