270 likes | 380 Views
Wie oft matcht das Profil ?. T A T A C G A A T C T A A A. Wie oft matcht das Profil ?. 1. 2. 3. 4. T A T A C G A A T C T A A A. Suche nach Motiven mit PSSMs und Enhanced Suffix Array.
E N D
Wie oft matcht das Profil ? T A T A C G A A T C T A A A
Wie oft matcht das Profil ? 1 2 3 4 T A T A C G A A T C T A A A
Suche nach Motiven mit PSSMs und Enhanced Suffix Array PoSSuMSearch: Fast and Sensitive Matching of Position Specific Scoring Matrices using Enhanced Suffix Arrays Beckstette, Strothmann, Homann, Giegerich, Kurtz
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lineup • Suffix Tree versus Suffix Array • Lookahead Search bei Suffix Trees • Lookahead Search bei Suffix Arrays • Vergleich • Restricted Probability Computation • Zusammenfassung
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Suffix Tree vs Suffix Array [3] Inorder Traversierung Suffix Tree for |ATATA$| = n Start 1 ATATA$ 3 ATA$ 5 A$ 2 TATA$ 4 TA$ 6 $
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Suffix Tree vs Suffix Array [3] Suffix Array for ATATA$ Suffix Tree for |ATATA$|= n Start 1 ATATA$ 3 ATA$ 5 A$ 2 TATA$ 4 TA$ 6 $
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Suffix Tree vs Suffix Array [3] Suffix Array for ATATA$ Suffix Tree for |ATATA$| = n Start 1 ATATA$ 3 ATA$ 5 A$ 2 TATA$ 4 TA$ 6 $ Speicherbedarf: 4 byte pro Zeichen 17 byte pro Zeichen Aufbau: O (n) O (n) Stringsuche: O (m * log n) O (m)
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Naive Suche mit Suffix Trees • Suche nach allen Strings mit Threshold t in O (mn) 1 . . m Threshold t = 22
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Naive Suche mit Suffix Trees • Suche nach allen Strings mit Threshold t in O (mn) 1 . . m Threshold t = 22
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability 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 1 . . m Threshold t = 22 max end(i) = max(i+1)+..+max(m) t row = t – max end
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability 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 1 . . m Laufzeit verringert zu O (k * n), wobei k die durchschnittliche Anzahl von PSSM - Vergleichen pro Sequenzposition ist
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Details • Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen Fall 1: PSSM matcht vollständig
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Details • Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen Fall 2: PSSM matcht nicht vollständig
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Details • Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen Fall 2: PSSM matcht nicht vollständig
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability 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
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Details • Der Algorithmus läuft mit Tiefensuche die Suffixe ab und entscheidet welche den Threshold erreichen Wie kann man das mit Suffix Arrays simulieren ??
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Tiefensuche Suffix Array@ Beckstette et. al [1][2] • Wie kann man mit Suffix Arrays Tiefesuche simulieren ?? Suffix Tree Suffix Array (1..n)
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Tiefensuche Suffix Array@ Beckstette et. al [1][2] • Wie kann man mit Suffix Arrays Tiefesuche simulieren ?? Suffix Tree Suffix Array (1..n) Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Tiefensuche Suffix Array@ Beckstette et. al [1][2] • Wie kann man mit Suffix Arrays Tiefesuche simulieren ?? Suffix Tree Suffix Array (1..n) nächstes Blatt was nicht im gleichen Subbaum ist Skip Array Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Suffix Array@ Beckstette et. al [1][2] Beispiel für Lookahead Search mit Suffix Arrays: Suffix Tree Suffix Array (1..n) nächstes Blatt was nicht im gleichen Subbaum ist Skip Array Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Suffix Array@ Beckstette et. al [1][2] Beispiel für Lookahead Search mit Suffix Arrays: Suffix Tree Suffix Array (1..n) nächstes Blatt was nicht im gleichen Subbaum ist Skip Array Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Suffix Array@ Beckstette et. al [1][2] Beispiel für Lookahead Search mit Suffix Arrays: Suffix Tree Suffix Array (1..n) nächstes Blatt was nicht im gleichen Subbaum ist Skip Array Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Lookahead Search Suffix Array@ Beckstette et. al [1][2] Beispiel für Lookahead Search mit Suffix Arrays: Suffix Tree Suffix Array (1..n) nächstes Blatt was nicht im gleichen Subbaum ist Skip Array Lowest Common Prefix Array lcp[i] = lcp {Suf(i - 1), Suf(i)} i [2,n]
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Vergleich Lookahead Search Speicherbedarf und Laufzeit von Suffix Tree und Enhanced Suffix Array: Speicher Laufzeit pro Zeichen 17 bytes O ( kn ) 9 bytes O ( kn ) Suffix Tree Enhanced Suffix Array: Suffix Array (1..n) 4 bytes Skip Array 4 bytes 1 byte Lowest Common Prefix Array 8 byte pro Zeichen weniger bei gleicher Laufzeit
Lineup ST vs SA LAS Suffix Tree LAS Suffix Array Vergleich LAS Probability Distribution Restricted Probability Computation analog zu Lookahead Scoring muss nach Überschreiten des p-Values nicht weiter 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
Danke fürs Zuhören ! [1] PoSSuMSearch: Fast and Sensitive Matching of Position Specific Scoring Matrices using Enhanced Suffix Arrays Beckstette, Strothmann, Homann, Giegerich, Kurtz [2] Replacing Enhanced Suffix Trees with Enhanced Suffix Arrays Abouelhoda,Kurtz,Ohlebusch [3] Suffix Trees and Suffix Arrays Srinivas Aluru [4] Accelerating Protein Classification Dorohonceanu, Nevill-Manning