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...
-
Upload
ignatz-schlater -
Category
Documents
-
view
107 -
download
1
Transcript of 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...
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 ?
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
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
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
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]
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]
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]
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
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
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
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
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:
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
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
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
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
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
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]
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]
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
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
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
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
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:
LineupST vs SALAS Suffix TreeLAS Suffix ArrayVergleich LASProbability Distribution
Restricted Probability Computation
analog zu Lookahead Scoringmuss nach Überschreiten des p-Values nichtweiter gerechnet werden
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
[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