Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sommersemester 2005Marco Hackenberg, Benjamin Großmann 1 MAP Speeding up whole-genome alignment by indexing frequency vectors Veröffentlicht am 8. April.

Ähnliche Präsentationen


Präsentation zum Thema: "Sommersemester 2005Marco Hackenberg, Benjamin Großmann 1 MAP Speeding up whole-genome alignment by indexing frequency vectors Veröffentlicht am 8. April."—  Präsentation transkript:

1 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 1 MAP Speeding up whole-genome alignment by indexing frequency vectors Veröffentlicht am 8. April 2004 in BIOINFORMATICS Autoren: Tamer Kahveci, Vebjom Ljosa, Ambul K. Singh

2 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 2 Motivation Unser Ziel: effizientes whole-genome Alignment Bisher: BLAST – der Standard in puncto approximatives String- Matching Probleme: –Datenstrukturen für Alignments sind sehr platzintensiv –Erfolgsrate bei Alignments zwischen Seeds und DB- Substrings ist extrem klein Unser Lösungsansatz: Alignments nur zwischen vielversprechenden Substrings Indexstruktur nötig

3 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 3 Frequency Vectors Idee: –Über Substrings fest definierter Länge werden Häufigkeiten auftretender Zeichen gespeichert –Diese Anzahl der Vorkommnisse wird für jedes Zeichen des Alphabets Σ im frequency vector υ festgehalten –Die Dimension von υ ist somit σ = |Σ| Beispiel: S = GTAATACTTCGATATAA Σ = {A,C,G,T} υ = (#A, #C, #G, #T) = (7, 2, 2, 6) σ = 4

4 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 4 Ein neues Distanzmaß... Def.: frequency distance –u und υ seien frequency vectors der Strings S und T –Die frequency distance FD(u,υ) ist die minimale Anzahl an erforderlichen Basisoperationen (insert, delete, replace), um S in einen String T' mit frequency vector υ umzuwandeln.

5 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 5 Frequency Vectors: Beispiel Gegeben sind frequency vectors u und υ zweier Strings: u = (4, 0, 0, 2)υ = (2, 1, 1, 2) Frequency distance: FD(u,υ) = 2 2x Replace: A C, A G

6 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 6 Frequency Vectors: Beispiel Gegeben sind frequency vectors u und υ zweier Strings: u = (4, 0, 0, 2)υ = (2, 1, 1, 2) Frequency distance: FD(u,υ) = 2 2x Replace: A C, A G mögliche Repräsentanten für u und υ: S: TATAAA T: TATCGA Editabstand: ED(S,T) = 2 ED(S,T) = FD(u,υ) S : TATAAA T': TTACGA Editabstand: ED(S,T') = 4 ED(S,T') > FD(u,υ)

7 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 7 Frequency Vectors: Eigenschaften Die frequency distance zweier Strings ist eine untere Schranke ihres Editabstandes: FD(u,υ) ED(S,T) Sind zwei Strings gleich, ist ihre frequency distance Null. Gilt nicht umgekehrt – keine metrischen Eigenschaften! Praktischer Nutzen: Ist die frequency distance zweier Strings klein, sind sie vermutlich ähnlich. oder: Ist die frequency distance zweier Strings groß, sind sie mit Gewissheit verschieden

8 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 8 Frequency Vectors: Anwendung Alignierung zweier Substrings (z.B. mit BLAST) nur noch bei geringer frequency distance nötig ca. 98% aller Sub-Alignierungsversuche entfallen gerade bei großen Alignments erheblicher Geschwindigkeitszuwachs zu erwarten ermöglicht weitere Vorteile im Hauptspeicher- Management (kein Swapping mehr!)

9 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 9 MAP – Das Verfahren... 1.F-Index für ersten String aufbauen 2.Frequenzraum des zweiten Strings partitionieren 3.Bool'schen Match-Table aus ersten und zweiten String aufbauen 4.Aufteilung in für I/O effiziente Teilbereiche zur Weitergabe an BLAST

10 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 10 F-Index: Beispiel Substring der Länge |s|=15 Boxen-Kapazität c=3 Fenstergröße w=7 Anzahl der Boxen = (|s|-w+1)/c = 3 ATCG TTACAAGCCTGTGCA Gängige Größen: < |s| < 20 Mio.; w=4000; c=1000 TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA TTACAAGCCTGTGCA

11 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 11 F-Index: Von der Definition … Def.: Menge von σ-dimensionalen Boxen Box: umschließt eine Menge von aufeinanderfolgenden frequency vectors eines Substrings S anschaulich: σ-dimensionaler Quader, der minimal alle frequency vectors von S umschließt Daten je Box: Kleinste und größte Koordinaten Startposition des Substrings Boxkapazität (Anzahl enthaltener frequency vectors)

12 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 12 F-Index: … zur Umsetzung Scannen des Strings per Sliding Window Für jeden Sliding-Vorgang frequency vector für Fensterausschnitt erstellen Nach c (Boxkapazität) mal sliden Zusammenfassung zu einer Box Einfügen der Box in den Indexbaum Schlüssel?

13 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 13 /* v: σ-dimensional integer point B: σ-dimensional integer box of lower and higher coordinates B.L and B.H w: window size used to construct B */ Procedure FS w ( v, B ) 1.inc := dec := 0; 2.for i from 1 to σ: if v[ i ] < B.L[ i ] then inc += B.L[ i ] – v[ i ]; else if B.H[ i ] < v[ i ] then dec += v[ i ] – B.H[ i ]; 3. ScoreInc := (w – inc) * S match + inc * S mismatch ; 4.ScoreDec := (w – dec) * S match + dec * S mismatch ; 5.Return min{ ScoreInc, ScoreDec }; Frequency Score ermitteln inc/dec: Summe der Abstände S match > 0 S mismatch < 0

14 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 14 Frequenzraum partitionieren zweiter String: Erstellen von frequency vectors durch Shifting Window Problem: Errechnen der frequency scores aller Box-Punkt-Paare dauert lange: O(|B|*|v|) Aber: ähnliche Substrings haben ähnliche frequency vectors Zerteilen den Frequenzraum des zweiten Strings in Teilbereiche Vergleichen nur innerhalb benachbarter Regionen Rest: Mismatch Benutzung der equi-depth- histogram Technik Ziel: gleiche Anzahl von Punkten je Partition

15 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 15 Match-Table erstellen Finden aller Box-Punkt Paare, deren FS einen Cutoff-Wert überschreiten Punkte repräsentieren mögliche Übereinstimmungen zwischen Substrings aus s und q Problem bei Punkteermitt- lung per Shifting Window: evtl. Zerschneiden innerhalb einer ähnlichen Sequenz

16 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 16 I/O-Optimierung: Aufteilung in Teilbereiche Ziel: Alignierungen von Substrings mit BLAST ohne swapping iterativ zwei Schritte durchführen: 1.Entscheidung: horizontal oder vertikal splitten? 2.Partition so weit wie möglich ausdehnen, so dass Markierungen noch in Hauptspeicher passen anpassbar an Hauptspeichergröße

17 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 17 Trade-off-Parameter von MAP Fenstergröße w (Praxis: w = 4000) größer: schneller kleiner: Reduzierung von kurzen false negatives Boxkapazität c (Praxis: c = 1000) größer: Platzbedarf geringer kleiner: Reduzierung von false positives Page-Größe p (Praxis: p = w) größer: weniger Hauptspeicherbedarf (Matchtable-Größe) kleiner: präzisere Matchtable (weniger false positives) Anzahl der Partitionen im Frequenzraum (Praxis: 5) größer: weniger FrequencyScore-Berechnungen kleiner: weniger Speicher-Overhead (max. Performance)

18 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 18 Trade-off: Fenstergröße – Box Kapazität - Genauigkeit

19 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 19 Experimentelle Bewertung: Qualität BLAST: Alignment von 2 E.coli Strängen

20 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 20 Experimentelle Bewertung: Qualität MAP: Alignment von 2 E.coli Strängen

21 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 21 Experimentelle Bewertung: Qualität Alignment von 2 E.coli Strängen mittels MAP – Translokation eines Substrings

22 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 22 Experimentelle Bewertung: Qualität Alignment von 2 E.coli Strängen mittels MAP – Inversion eines Substrings

23 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 23 Experimentelle Bewertung: Qualität Alignment von 2 E.coli Strängen mittels MAP – Duplikation eines Substrings

24 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 24 Zeit bis zum Erstellen eines Matchtables Experimentelle Bewertung: Performance

25 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 25 Experimentelle Auswertung: MAP vs. BLAST Sensitivität & Spezifität: –Alignments mit hohem Score werden absolut sicher erkannt –Kurze Alignments können eher vergessen werden, da sie u.U. durch Shifting Window nicht erkannt werden Geschwindigkeit: –Test mit E.coli: MAP ca. 100x schneller als BLAST Platzbedarf –Der Frequency Index benötigt nur ca. 2% der DB- Kapazität –Alignments mit 20Mb sind auf Desktop-PCs kein Problem (BLAST scheitert ab 5 Mb)

26 Sommersemester 2005Marco Hackenberg, Benjamin Großmann 26 Bewertung Sehr spezifische Selektion sinnvoller Alignments Partitionen des Matchtables auf Hauptspeichergröße skalierbar Große Alignments auf preiswerten Desktop-Systemen überhaupt erst möglich Pruning kann prinzipiell für jedes beliebige Alignierungs- verfahren durchgeführt werden (nicht nur für BLAST) Vergleich nur mit Editabständen geführt gibt auch schon andere Konzepte Gapped Alignment nicht vorgesehen, aber umsetzbar


Herunterladen ppt "Sommersemester 2005Marco Hackenberg, Benjamin Großmann 1 MAP Speeding up whole-genome alignment by indexing frequency vectors Veröffentlicht am 8. April."

Ähnliche Präsentationen


Google-Anzeigen