(SAmC f\374r pdf.sxi)
Transcription
(SAmC f\374r pdf.sxi)
Celera Assembler Seminar Fortgeschrittene Algorithmische Bioinformatik 15.07.2005 Alexander Fehr, Christian Brandt Inhalt ● Einführung – – ● Sequence Assembly – – ● Celera Whole Gemone Shotgun Theoretische Betrachtungen Celera Assembler Menschliches Genom (Statistik) 2 Celera ● ● ● 1998 gegründet von Craig Venter und Applera Corporation Ziel: vollständige Sequenzierung des menschlichen Genoms in 3 Jahren Sequenzierte Genome – – – Drosophila (März 2000) Mensch (Februar 2001) Maus (April 2001) 3 Whole Genome Shotgun ● ● ● ● Zerbrechen eines kompletten Chromosoms in Einzelstücke (An)sequenzierung jedes Bruchstücks Assembly: Zusammenfügen der Einzelsequenzen zur Konsensussequenz Anderer Ansatz: Clone-by-clone (Human Genome Project) 4 Theoretische Betrachtungen ● Shortest Common Superstring – Geg.: Menge F = {f1, f2, ... ,fn} von Strings – Ges.: String S mit – ● ● (1) ∀ fi∈F: fi∈S ( f Substring von S ) ● (2) ∀ S', mit (1) gilt: |S| ≤ |S'| ( S ist minimal ) NP-vollständig Verschärfungen – – Fehler in Sequenzen, Gaps 2 Orientierungen von f möglich Biologisch sinnvoll? Heuristiken ● 5 Celera Assembler ● ● ● ● Stark heuristisches Verfahren Mehrere Stufen Herzstück: Greedy Path-Merging Algorithmus Eingabedaten – Typische Längen der Klone ● – 2kb, 10kb, 50kb und 150kb "Double Barrel" Shotgun Sequencing ● Ansequenzieren von beiden Seiten 6 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 7 Screener ● Suche nach – – ● Input: – – ● Teilen von Clonierungsvektoren Repeats Sequenzfragmente Repeat- und Vektorsequenzen Output: – Bereinigte Fragmente 8 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 9 Overlapper (1) ● ● Suche nach Überlappungen zwischen Fragmenten Input – ● Output – ● Bereinigte Fragmente Überlappungen Möglichkeiten wie Fragmente überlappen können: fi fi fj fi ● fj fj Alignment durch dynamische Programmierung? – – Zu langsam Nur high-scoring Overlaps relevant 10 Overlapper (2) ● "Seed and Extend" Ansatz (ähnlich BLAST) – – Konkatenation aller Fragmente Seeds: Suche exakte Matches der k-mere von fi auf konkatenierter Sequenz f1 f2 f3 fn ed se Extension: Erweiterung der Seeds durch Banded-Alignment n – io ns te ex fi io ns te ex n 11 Overlapper (3) ● Repeat-induced Overlaps wahre Überlappung durch Repeats erzeugte Überlappung R f1 ● f2 f3 R' f4 Vermeiden durch – – Gescreente Repeats Anzahl gefundener k-mere bestimmen häufig auftretende ignorieren 12 Overlapper (4) ● Overlap Graph – Knoten ● – si und ei (Start- und Endknoten von fi) Kanten für ● jedes Fragment fi ● jede Überlappung f1 l f2 s1 e1 -l s2 e2 13 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 14 Unitigger (1) ● ● Verbindet Fragmente zu Contigs Input: – ● Overlap Graph mit Spanning Tree f3 Output: – ● Überlappungen zwischen Fragmenten Unitigs Layout – – Gesucht: Multialignment aller Fragmente Einfache Heuristik: Spannender Wald (greedy: "leichte" Kanten zuerst) -80 -50 f1 -60 -10 f2 f4 -40 Alignment der Fragmente = "Contig" f1 f2 f3 f4 15 Unitigger (2) ● Repeats R R' f1 – f2 f4 f5 Erzeugen "falsche" Overlap-Kanten f1 – f3 f2 f3 f4 f5 Misassembled Contig f1 f4 f3 f2 f5 Kein konsistentes Layout möglich 16 Unitigger (3) ● Unitigs (unique contigs) – ● Mit Overlap Graph konsistente Contigs U-unitigs (unique unitigs) – – Einzigartige Sequenz (kein Repeat) Nicht oversampled unique unitig ● non-unique unitig Identifikation: statistische Betrachtungen – Annahme: Ankunft der Fragmente Poisson-verteilt 17 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 18 Scaffolder (1) ● ● Verbindet Unitigs zu Scaffolds Input: – ● Output: – ● (µ, σ) Scaffolds f1 Mate-Pairs – ● Unitigs, Mate-Pairs f2 "Double Barrel" Shotgun erzeugt Paare von Fragmenten mit bekannter Orientierung, Distanz µ und Stabw. σ Scaffold – Durch Mate-Pairs verbundene Contigs c1 m1 c2 m2 c3 19 Scaffolder (2) ● Abstände zwischen Contigs – – ● Mate-Pairs "bestätigen sich", wenn sie – – ● Berechnung über Distanzen der Mate-Pairs Mit kombinierter Standardabweichung Gleiche Orientierung und Ähnlichen Abstand ( 3σ ) der Contigs zur Folge haben Signifikanz von Mate-Pairs – – Einzelnes Mate-Pair zwischen 2 Contigs unerheblich Mehrere Mate-Pairs zwischen 2 U-unitigs, die sich bestätigen verläßliches Scaffolding 20 Scaffolder (3) – Beispiel: Mit welcher Wahrscheinlichkeit bestätigen sich 2 falsche Mate-Pairs? ● ● ● ● ● ● Annahmen: Genomlänge 120Mb, Fragmentlänge 600b, 5-fache Überdeckung, 10% falsche Mates m1 falsches Mate-Pair mit µ = 10kb und σ = 1kb Wegen 3σ-Toleranz beginnt/endet m1 im Intervall I1/I2 (jeweils Länge 6kb) in I1: (6000 / 600) • 5 = 50 Reads, 5 davon falsche Mates Wahrscheinlichkeit, daß ein Read zufällig in I2 liegt ist (6kb / 120Mb) = 1/20000 Wkt. für zweites falsches MP: 5/20000 = 1/4000 = 0.00025 I1 m2 m1 I2 21 Scaffolder (4) ● Contig-Mate-Graph – Knoten: ● – si und ei (Start- und Endknoten von ci) Kanten für ● jedes Contig ci ● jedes Mate-Pair c1 c2 l1, σ1 l2, σ2 l3, σ3 µ = 2kb µ = 10kb µ = 10kb l1, σ1 s1 e1 l2, σ2 l3, σ3 s2 e2 22 Scaffolder (5) ● Edge-Bundling – Heuristisch Mate-Kanten verschmelzen w=2 w=2 w=4 w=3 ● Transitive Kantenreduktion – Lange Mate-Kanten auf Pfade reduzieren l1=4200 l2=50 l3=1000 l4=1000 l=2000 w=2 w=4+2 w=3+2 23 Scaffolder (6) ● Φ - Koordinaten für Knoten – – Reihenfolge und Orientierung der Contigs im Graph Erhaltung der Längen und Abstände 400 1500 c1 ● 900 2500 Φ(e1) Φ(s1) 1000 c3 1500 c2 Φ(e3) Φ(s3) Φ(s2) Φ(e2) 2500 1500 c1 900 1000 c3 400 1500 c2 Happy Mate-Pairs – – – Richtige Orientierung, Länge, Abstand bezogen auf Φ Sonst unhappy Analog: Happy Mate-Edges 24 Scaffolder (7) ● Contig-Mate-Pair Ordering Problem – – – Gesucht: Reihenfolge der Contigs, die die Summe der Mate-Gewichte maximiert Natürlich NP-vollständig Spanning-Tree Heuristik ● c1 Falsche Mate-Kanten führen zu fehlerhafter Verschränkung von Contigs schlecht c2 c3 c2 c1 c4 c5 falsche Mate-Kante c3 c5 c6 c4 c6 25 Scaffolder (8) ● Greedy Path-Merging Algorithmus – – – Markiere alle Contigs Sortiere Mate-Kanten absteigend nach Gewicht Für alle Kanten e = (v,w) ● ● ● Markiere e Seien P1 / P2 zu v / w inzidente Pfade Kann man sie mergen und dabei kommen mehr Happy- als Unhappy-Edges hinzu – ● Ersetze P1 & P2 durch neuen Pfad P Ergebnis: Φ 26 Scaffolder (9) Path-Merging (einfaches Beispiel) ● Repräsentiere Reihenfolge im Graph durch neue Kanten c11 P1 c12 c14 h e P2 c21 – c22 c23 c13 c24 Folgt aus Position eines Contigs, es überlappt mit einem anderen, aber es gibt kein gutes Alignment Fail 27 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 28 Repeat Resolution ● ● Versucht Gaps zu schließen Input: – – – – ● ● m u1 u2 f1 f2 f3 Output: – ● Scaffolds Fragmente Mate-Pairs Überlappungen "Bessere" Scaffolds Heuristisches Füllen der Lücke zwischen 2 Unitigs mit bisher nicht zugeordneten Fragmenten Bei Erfolg: Verschmelzen der Unitigs 29 Überblick Fragmente Repeat- und VektorBibliothek Screener Overlapper Unitigger Mate-Pair-Informationen Scaffolder Repeat Resolution Consensus Assembly 30 Consensus ● ● Ermittelt Konsensussequenz für einzelne Contigs Input: – ● Output: – ● Scaffolds Konsensussequenz Multialignment (Heuristik) CAACTACAAGA-CTTCATGGC f1 TCCAAGAACTTAATGGCAAAT-TTC f2 ATTC-ACTAC f3 TAATAGCAAATCTTCGAAAAACC f4 Consensus ATTCAACTACAAGAACTTAATGGCAAATCTTCGAAAAACC 31 Zusammenfassung ● ● ● ● ● Overlap Graph (Seed-and-Extend) Konstruiere Unitigs (Spanning-Forest Heuristik) Scaffold Unitigs (Greedy Path-Merging) Repeat Resolution (diverse Heuristiken) Gesamtsequenz (Multialignment) 32 Menschliches Genom (Statistik) ● 27 Mio Fragmente, Ø-Länge: 550b, 70% Mate-Pairs CPUStunden Screener 4800 Overlapper 12000 Unitigger 120 Scaffolder 120 Repeat Res. 50 Consensus 160 ≈18000 Total ● 2-3 Tage auf 10-20 Computern 10 Tage auf 10-20 Computern 4-5 Tage auf 1 Computer 4-5 Tage auf 1 Computer 2 Tage auf 1 Computer 1 Tag auf 10-20 Computern Assembly – Besteht aus 6500 Scaffolds – Umfasst 2,8 Gb Sequenz – 150.000 Gaps (insgesamt 148 Mb) Max. Speicher 2 GB 4 GB 32 GB 32 GB 32 GB 2 GB 33 Fazit ● ● ● ● Sehr schwieriges Problem (Theorie und biologische Wahrheit) Durch Heuristiken in Griff zu kriegen Repeats sind die ganze Zeit nervig Es bleiben viele Gaps Tatsächliche Implementation komplizierter 34 Fragen 35