ASSEMBLY ALGORITHMS FOR NEXT-GENERATION SEQUENCING DATA Jason R. Miller*, Sergey Koren, Granger Sutton Ein Vortrag von Sergej Tschernyschkow Friedrich-Schiller-Universität Jena 03. Mai 2010 SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 1 / 30
INHALT 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 2 / 30
OUTLINE 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 3 / 30
WHOLE GENOME SHOTGUN SEQUENCING 1. Zerteilung 2. Sequenzierung 3. Zusammensetzung - Assemblierung SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 4 / 30
NEXT-GENERATION SEQUENCING Entwicklung von Sequenzierern der nächsten Generation - 454 (Roche) (2005) - Solexa (Illumina) (2006) - SOLiD (Applied Biosystems) (2007) - Heliscope (Helicos) (2008) Eigenschaften + hohe Parallelisierung + einfachere Bedienbarkeit + größere Effizienz + niedrigere Kosten - kürzere Reads Reads: Basensequenz + Quality Value SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 5 / 30
OUTLINE 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 6 / 30
WAS IST EIN ASSEMBLY? ASSEMBLY eine hierarchische Datenstruktur READ Basensequenz CONTIG Multiples Sequenzalignment von Reads und Konsensussequenz SCAFFOLD Reihenfolge und Orientierung der Contigs SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 7 / 30
SCHWIERIGKEITEN Repeats - sich wiederholende Sequenzen Sequenzierfehler Fehlertoleranz nicht gleichmäßig verteilte Abdeckung SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 8 / 30
OUTLINE 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 9 / 30
ALGORITHMEN Auf Graphen basierende Algorithmen Drei Ansätze: Greedy OLC - Overlap/Layout/Consensus DBG - De Bruijn Graph SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 10 / 30
GREEDY ASSEMBLY Berechne Overlaps (bzw. Score) für alle Reads 1 Suche nach dem höchsten Score 2 Verbinde die zugehörigen Reads 3 Wiederhole 1-3 bis keine Änderung in den contigs SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 11 / 30
PROBLEM VON GREEDY ASSEMBLY Otptimierung einer lokalen Funktion lokale Maxima falsche Assemblierung SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 12 / 30
OVERLAP/LAYOUT/CONSENSUS Aufteilung in 3 Phasen: OERLAP - Berechnung des Overlap Graphen LAYOUT - Analyse des Overlap Graphen, Bestimmung von Pfaden CONSENSUS - Multiples Sequenzalignment bestimmt das endgültige Layout und die Konsensussequenz SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 13 / 30
DE BRUIJN GRAPH Oligomere berechnen Graph erstellen - Jeder Knoten entspricht einem K-mer - Jede Kante entspricht einem overlap Pfad(e) finden das jedes Oligomer genau einmal durchläuft SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 14 / 30
DE BRUIJN GRAPH (EULERPFAD) Eulerpfad Kanten = Oligomere Knoten = Präfixe/Suffixe Pfad(e) finden das jedes Oligomer genau einmal durchläuft Das ist das Haus vom Ni-ko-laus SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 15 / 30
DE BRUIJN GRAPH Repeats verursachen Kreise in dem K-mer Graph SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 16 / 30
PROBLEME IM OVERLAP BZW. DE BRUIJN GRAPH 1 Verzweigung (Spur) Sequenzierfehler am Ende der Reads fehlende Reads 2 Blase (Bubble) Sequenzierfehler in der Mitte der Reads Polymorphismen 3 frayed rope Wiederholungen im Genom 4 Kreise SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 17 / 30
OUTLINE 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 18 / 30
GREEDY ASSEMBLER SSAKE (The Short Sequence Assembly by K-mer search and 3 read Extension) - erste Assembler für kurze, uniforme Reads - nutzt nicht explizit einen Graph - Lookup-Tabelle - Durchsucht die Tabelle nach Überlappungen - Ende bei "Verzweigung" - Wiederholen bis zu einem bestimmten treshold SHARCGS (SHort read Assembler based on Robust Contig extension for GS) - SSAKE + pre- und post-processing - pre-processing: Filterung fehlerhafter reads durch min. Anzahl von exakten Überlappungen oder treshold für QVs - post-processing: erweitert contigs durch Sequenz Alignment VCAKE (Verified Consensus Assembly by K-mer Extension) - eine weitere Erweiterung - berücksichtigt auch inexakte Überlappungen SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 19 / 30
OLC ASSEMBLER Newbler - 454 Life Sciences - implementiert OLC doppelt - erste Phase: Berechnung von unitigs(uniquely assemblable contigs) - zweite Phase: generiert contigs aus den unitigs CABOG - Überarbeitung von Celera, einem Assembler aus der Sanger Ära - Konstruiert einen Overlap Graph - Bildet unitigs aus einfachen Pfaden ohne Verzweigungen und Überschneidungen - Bildet neuen Graph aus unitigs - Fügt unitigs zu contigs und contigs zu scaffolds - Vereinfacht den Graph - Erstellt die Konsensussequenz (Scaffolds + Reads MSA) SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 20 / 30
OLC ASSEMBLER Edena - entwickelt für kurze, uniforme Reads - Verwirft doppelte reads - Findet alle perfekten, fehlerfreien overlaps - reduziert spurs und bubbles Shorty - behandelt einen speziellen Fall - wenige lange Reads rekrutieren kurze Reads SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 21 / 30
DBG ASSEMBLER Euler - entwickelt für Sanger, dann modifiziert für NGS - Filter für fehlerhafte Reads - Erstellt einen K-mer Graph und führt eine Reihe von Operationen zur Vereinfachung des Graphens durch - Präfixe sind besser als Suffixe - erstellt zwei K-mer Graphen mit unterschiedlichen K s und vergleicht deren Kanten - Benutzt A-Bruijn Graph (De Bruijn Graph + Adjazenz Matrix) Velvet - zuverlässiger und einfacher Assembler - benutzt keinen pre-processing Filter wie Euler, sondern nur einen Parameter für min. Anzahl Vorkommen - besitzt zahlreiche Heuristiken zur Vereinfachung des Graphen SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 22 / 30
DBG ASSEMBLER ABySS (Assembly By Short Sequences) - entwickelt für große Genome (Parallelisierung) - verteilt den Graph und die Berechnung, das ermöglicht die Assemblierung von 3,5 Milliarden Solexa Reads - vereinfacht Graphen ähnlich wie Velvet und Euler - hat die üblichen Probleme aller Parallelalgorithmen (Aufgabenverteilung und Interprozesskommunikation) AllPaths - pre-processing Filter basierend auf QV s - erstellt unipaths - Erstellt Partitionen zu denen er DBG baut, die er dann später zusammenklebt (divide and conquer) SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 23 / 30
DBG ASSEMBLER SOAPdenovo ( Short Oligonucleotide Analysis Package) - entwickelt für große Genome vor allem Solexa Daten - DBG Implementierung ist speichereffizienter als die von Velvet oder Euler - Bildet contigs mit DBG - verwirft DBG um scaffolds zu bilden - erstellt contig Graph - vereinfacht diesen Graph und erstellt scaffolds SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 24 / 30
GEMEINSAME BESTANDTEILE DER ASSEMBLER Fehlerfindung und Korrektur Graphkonstruktion Reduktion von einfachen Pfaden zu Knoten Entfernung von Spurs, Bubbles Auflösen von Verwirrungen mit Hilfe von Informationen außerhlalb des Graphen Umwandlung von Pfaden in contigs und scaffolds Konsensussequenz SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 25 / 30
OUTLINE 1 EINFÜHRUNG 2 ASSEMBLIERUNG 3 ASSEMBLIERUNGSALGORITHMEN 4 ASSEMBLY SOFTWARE 5 ZUSAMMENFASSUNG SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 26 / 30
Der Erfolg eines Assemblers ist abhängig von dem wie gut der Assembler mit realen Daten umgehen kann Eine exakte Suche nach dem optimalen Pfad ist nicht praktikabel, da exponentiell viele Pfade existieren OLC und DBG Ansätze haben eine Menge von Reads als Eingabe Reads weden in einem gerichteten Graph repräsentiert Die beiden Graphen sind sehr ähnlich DBG braucht keine paarweisen Alignments DBG ist besser für Daten mit vielen, kurzen Reads geeignet OLC kommt besser mit längeren Reads und wenig Abdeckung zurecht Beide Ansätze besitzen pre- und post-proessing SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 27 / 30
typische Länge der Reads OLC: 100-800 bp DBG: 25-100 bp Reads in der nahen Zukunft irgendwo dazwischen Mit der Zeit werden auch längere Reads möglich, während die kürzeren Reads immer preisgünstiger werden Die Datenmengen werden weiter steigen, während die Kosten sinken werden Also werden die Assembly Algorithmen weiterhin gefordert sein SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 28 / 30
QUELLENANGABE J.R. Miller, et al., Assembly algorithms for next-generation sequencing data, Genomics (2010) M. Pop, Genome assembly reborn: recent computational challenges, Brief. Bioinform. 10 (2009) 354 366. E.R. Mardis, The impact of next-generation sequencing technology on genetics, Trends Genet. 24 (2008) 133 141. SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 29 / 30
VIELEN DANK FÜR DIE AUFMERKSAMKEIT! SERGEJ TSCHERNYSCHKOW (FSU JENA) ASSEMBLY ALGORITHMS FOR NGS DATA 03. MAI 2010 30 / 30