(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