Der Celera Assembler

Transcription

Der Celera Assembler
Der Celera Assembler
Christian Brandt
Alexander Fehr
Seminar Fortgeschrittene Algorithmische Bioinformatik
Sommersemester 2005
Inhaltsverzeichnis
1 Einführung
1.1 Aufbau des Papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
2 Theoretische Betrachtungen
2
3 Celera und der Assembler
3.1 Eingabedaten . . . . .
3.2 Screener . . . . . . . .
3.3 Overlapper . . . . . .
3.4 Unitigger . . . . . . .
3.5 Scaffolder . . . . . . .
3.6 Repeat Resolution . .
3.7 Consensus . . . . . . .
3.8 Zusammenfassung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
. 3
. 3
. 3
. 5
. 8
. 14
. 14
. 14
4 Statistiken
15
5 Fazit
15
i
1 Einführung
Im Februar 2001 veröffentlichte das Human Genome Project (HGP) eine erste Sequenzierung und Analyse des menschlichen Genoms auf Basis des Clone-by-Clone Ansatzes.
Zeitgleich veröffentlichte Celera Genomics unter der Führung von Craig Venter ihr Assembly des menschlichen Genoms, welches mit Hilfe der Whole Genome Shotgun Methode gewonnen wurde.
Beiden Verfahren ist gemein, daß längere DNA-Sequenzen nur durch das Zusammensetzen kürzerer Sequenzen, dem sogenannten Assembly, ermittelt werden können. Dies
folgt aus der, beiden Strategien zu Grunde liegenden, DNA-Sequenziermethode nach
Sanger, welche maximal 1000 aufeinanderfolgene Basenpaare liefert.
Bei der Clone-by-Clone Methode wird die DNA zunächst in größere Fragmente zerlegt, aus welchen dann eine physikalische Karte erstellt wird. Anschließend erfolgt die
Auswahl einer minimalen, das Genom überdeckenden Teilmenge und die entsprechenden
Fragmente werden shotgunsequenziert.
Im Vergleich dazu erfolgt beim Whole Genome Shotgun (Abbildung 1) ein Zerlegen
des gesamten Genoms bzw. eines gesamten Chromosoms in kürzere Fragmente, welche
daraufhin (an)sequenziert werden. Die Einzelsequenzen werden dann beim Assembly zu
einer Konsensussequenz zusammengefügt. Auf Grund der hohen Anzahl von Einzelsequenzen wird dafür ein leistungsfähiger Assembler benötigt.
Abbildung 1: Whole Genome Shotgun Sequenzierung
1
1.1 Aufbau des Papers
Dieses Paper umreißt das Problem des Assembly zunächst theoretisch. Anschließend
beschreibt es den Assembler der Firma Celera, welcher sich in mehrere Phasen einteilen
läßt. Dabei wird besonders ausführlich auf das Overlapping, Unitigging und Scaffolding
eingegangen. Es werden mehrere Heuristiken und verschiedene Graphen vorgestellt. Die
Erklärungen werden, wenn angebracht, von Beispielen begleitet. Anschließend folgt noch
etwas Statistik am Beispiel des menschlichen Genoms. Die Darstellung des Verfahrens
und viele der Abbildungen sind aus [Hus04] entlehnt.
2 Theoretische Betrachtungen
Assembly läßt sich durch folgendes Problem beschreiben. Es sei eine Menge
F = {f1 , f2 , . . . , fn } von Strings gegeben. Gesucht ist ein String S mit folgenden Eigenschaften:
1. Jedes fi ist Substring von S, ∀fi ∈ F : fi ∈ S
2. S ist minimal, ∀S 0 mit 1. gilt |S| ≤ |S 0 |
Dieses Problem ist als Shortest Common Superstring bekannt. Es ist NP-vollständig.
Im biologischen Kontext kommt verschärfend hinzu, daß die Sequenzen fehlerhaft sein
können und stets zwei mögliche Orientierungen eines Fragmentes zu berücksichtigen
sind. Außerdem ist es aus biologischer Sicht nicht immer sinnvoll eine minimale Sequenz
zu ermitteln, da Fragmente aus repeathaltigen Regionen zu überkomprimierten“ Er”
gebnissen führen können.
Das und die kombinatorische Komplexitiät bewirken, daß das hier vorgestellte Verfahren stark heuristisch ist.
3 Celera und der Assembler
Die Firma Celerea Genomics verfolgt, wie oben erwähnt, konsequent den Whole-Genome
Shotgun Ansatz. Der dabei verwendete Assembler lässt sich nach [MSD+ 00] in mehrere,
aufeinander aufbauende Stufen (Abbildung 2) einteilen, welche alle heuristisch sind. Das
Abbildung 2: Die Phasen des Celera Assemblers
Herzstück des Assemblers bildet der Greedy Path-Merging Algorithmus.
2
3.1 Eingabedaten
Die Gewinnung der Sequenzfragmente geschieht mit Hilfe der Double Barrel“ Shot”
gun Sequenzierung (Abbildung 3). Dabei wird ein Klon von beiden Seiten ansequenziert
Abbildung 3: Double Barrel“ Shotgun Sequenzierung
”
und man erhält ein sogenanntes Mate-Pair von Reads. Dabei verwendete Klone haben typische Längen von 2kb, 10kb, 50kb und 150kb und die sequenzierten Reads eine
Durchschnittslänge von 550 Basen.
Die ursprünglichen Reads werden daraufhin auf ein Intervall mit Basen 98%iger Sicherheit gekürzt. Die den gelesenen Basen zugeordneten Qualitätswerte werden im weiteren
Prozeß nicht berücksichtigt. In den Reads enthaltene Teile von Klonierungs- oder Sequenzierungsvektoren werden ebenfalls radikal entfernt. Die verbleibenden Stücke hoher
Qualität sind die Eingabe des Assemblers. Diese werden im folgenden als Fragmente“
”
oder Reads“ bezeichnet.
”
3.2 Screener
Die Sequenzfragmente werden zunächst nach bekannten Repeats durchsucht. Fragmente,
welche Repeatmuster enthalten, werden maskiert und später gesondert betrachtet. Die
bereinigten Fragmente bilden die Eingabe für den nächsten Schritt.
3.3 Overlapper
Der Overlapper sucht Überlappungen zwischen Fragmenten. Eingabe dieser Phase sind
die beim Screening bereinigten Fragmente. Ausgegeben werden alle signifikanten Überlappungen zwischen den Reads.
Für jedes Fragment fi ist also zu bestimmen, wie es mit irgendeinem anderen Fragment
fj oder dessen reversen Komplement fj überlappt. Zwei beliebige Fragmente fi und fj
können auf verschiedene Weise überlappen (Abbildung 4).
Abbildung 4: Mögliche Überlappungen von Fragmenten
3
Das heißt sie überlappen an den Enden, eines ist im anderen enthalten oder sie überlappen nicht.
Alignment durch dynamische Programmierung ist bei dieser großen Anzahl Fragmente
zu langsam. Beim humanen Genom wären rund 27 Mio Reads paarweise zu vergleichen.
Hier sind außerdem nur Überlappungen mit einem hohen Alignmentscore, das heißt mit
mehr als 96% Identität, relevant. Daher wird ein BLAST-ähnlicher Seed-and-Extend“
”
Ansatz verfolgt (Abbildung 5).
Abbildung 5: Suche nach Seeds
Alle Fragmente werden zunächst konkateniert, sei also H = f1 f2 . . . fn . Anschließend
sucht man für alle Fragmente fi exakte Matches der k-mere von fi auf der Sequenz H,
die sogenannten Seeds. Der Parameter k wird hier zwischen 18 und 22 gewählt. Nun
versucht man die Seeds durch Banded Alignment zu erweitern. Die Laufzeit ist linear
und nur wirklich gute Überlappungen zwischen fi und dem entsprechenden fj werden
gefunden (Abbildung 6).
Abbildung 6: Erweiterung eines Seeds durch Banded Alignment
Wurde eine Überlappung zwischen fi und fj gefunden, kann das drei Ursachen haben.
Die Fragmente überlappen tatsächlich auf der Originalsequenz wie f1 und f2 in Abbildung 7, die Enden der Fragmente stammen aus sich wiederholender Sequenz (Repeat)
wie f3 und f4 in Abbildung 7 oder die Sequenzgleichheit ist rein zufällig. Letzteres wird
dadurch vermieden, daß nur Überlappungen einer Länge von mindestens 40bp betrachtet
werden.
Die durch Repeats erzeugten Overlaps können vermieden werden, indem man vorher
die Fragmente penibel nach bekannten Repeats screent und maskiert oder indem man k
fest wählt, für jedes k-mer die Häufigkeit bestimmt und extrem oft auftretende k-mere
ignoriert.
Die berechneten Überlappungen zwischen den Fragmenten werden nun in einem Gra-
4
Abbildung 7: Wahre und falsche Overlaps
phen repräsentiert. Der Overlap Graph wird wie folgt definiert: für jedes Fragment fi
gibt es zwei Knoten, einen Startknoten si , einen Endknoten ei und eine gerichtete Kante (si , ei ), um die Orientierung des Reads darzustellen. Jede Überlappung wird durch
eine ungerichtete Kante dargestellt. Die Overlap-Kanten inzidieren mit Knoten an den
Enden, an denen die entsprechenden Fragmente überlappen (Abbildung 8).
Abbildung 8: Overlap und Overlap-Kante
Die Länge einer Kante ist die negative Länge der Überlappung. Das heißt, große
Überlappungen bedeuten kurze Kanten.
Im folgenden Beispiel sei F = {f1 , f2 , . . . , f7 } die Menge der Fragmente mit Überlappungen wie in Abbildung 9.
Abbildung 9: Overlaps im Beispiel
Hier überlappen die ersten 40 Basen von Read f1 mit den ersten 40 Basen von f4 , die
letzten 300 Basen von f1 mit den ersten von f6 und so fort. Mit der Definition ergibt
sich daraus der Overlap Graph in Abbildung 10.
3.4 Unitigger
Der Unitigger nutzt den Overlap Graph, um die Fragmente zunächst anzuordnen, das
heißt allen Knoten Koordinaten zuzuweisen (Layout). Als Eingabe dienen die Überlappungen zwischen Fragmenten aus der Overlap-Phase.
Eine einfache, auch hier verwendete Heuristik ist die des spannenden Waldes. Zunächst
werden alle Read-Kanten markiert. Die Overlap-Kanten sortiert man aufsteigend nach
Länge und fügt solange die kürzesten Kanten hinzu, bis in jeder Zusammenhangskom-
5
Abbildung 10: Overlap Graph im Beispiel
ponente ein spannender Baum entstanden ist. Overlap-Kanten, die einen Kreis schließen
würden, werden ignoriert.
Im Graph aus dem vorigen Beispiel beginnt man mit der Kante (e3 , e4 ), die mit -420
die kürzeste“ ist. Die Kanten der Längen -300, -280, -260 und -200 kommen dazu. Die
”
Kante mit l = −180 würde einen Kreis schließen. Mit der Kante der Länge -140 ist der
Spannbaum fertig (Abbildung 11).
Abbildung 11: Spannbaum im Beispiel
Aus dieser Teilmenge der Kanten ergibt sich eine relative Anordnung der Reads dieser
Zusammenhangskomponente. An der Achse in Abbildung 12 stehen die, den Start- und
Endknoten zugeordneten, Koordinaten. Solch ein vermeintliches Multialignment heißt
Contig.
Abbildung 12: Anordnung der Fragmente im Beispiel
Durch Repeats erzeugte falsche Overlap-Kanten können zum falschen Zusammensetzen eines Contig (Misassembly) führen. Aus folgender Situation:
6
ergibt sich dieser Overlap Graph:
Ein Spannbaum, der die falsche Kante e enthält, würde eine falsche Anordnung der
Reads erzeugen.
Läßt man die falschen Kanten außer Acht ergibt sich natürlich die richtige Anordnung.
Es gibt aber in diesem Fall kein Layout, das mit allen gefundenen Überlappungskanten
konsistent ist.
Daher definiert man: Ein Unitig (unique contig) ist ein Contig, das mit allen Kanten
des Overlap Graphen konsistent ist. Reads, die nicht zu einem Unitig gehören, werden
im folgenden nicht verwendet.
Nun kann es vorkommen, daß ein längeres Stück Sequenz wiederholt auftritt. Das führt
dazu, daß ein Contig mit allen Überlappungskanten des Overlap Graphen konsistent ist,
dessen Fragmente aber nicht aus einer einzigartigen Region der Ursequenz stammen.
Man definiert weiterhin: Ein U-Unitig (unique unitig) ist ein Unitig, das einzigartig
auf der Ursequenz ist, also nicht teilweise oder vollständig in einer sich wiederholenden
Region liegt.
U-Unitigs werden mit Hilfe statistischer Betrachtungen identifiziert. Es wird angenommen, die Ankunft der Fragmente wäre poissonverteilt. Sei R die Anzahl Reads,
G die Länge der Ursequenz und u die Länge eines Unitigs. Dann ist R/G die durchschnittliche Anzahl Reads pro Base und λ = u·R
G die erwartete Anzahl Reads pro Unitig
(Erwartungswert). Die Wahrscheinlichkeit, daß ein Unitig k Fragmente enthält, ist mit
k
der Poisson-Verteilung P (X = k) = λk! e−λ (linke Kurve in Abbildung 13). Entstand
das Unitig aus den Reads zweier Repeats, verdoppelt sich der Erwartungswert und die
k
−(2λ) (rechte Kurve in Abbildung 13).
Wahrscheinlichkeit ist P = (2λ)
k! e
Der natürliche Logarithmus des Quotienten dieser beiden Wahrscheinlichkeiten heißt
Ankunftsstatistik.
!
λk −λ
e
= ln(2−k eλ ) = λ − k ln(2)
ln (2λ)k!k
−(2λ)
e
k!
Ein Unitig wird U-Unitig genannt, wenn seine Ankunftsstatistik einen Wert größer
10 annimmt. In Abbildung 14 heißt das, daß ein Unitig aus höchstens 140 Fragmenten bestehen darf, um noch als U-Unitig zu gelten. Besteht es aus mehr Reads, ist es
wahrscheinlich nicht einzigartig.
Für die Abbildungen wurde angenomen R = 27 Mio, G = 3Gb und u = 12kb.
7
Abbildung 13: Zwei Poisson-Verteilungen
Abbildung 14: Ankunftsstatistik
3.5 Scaffolder
Der Scaffolder verbindet mehrere Unitigs zu sogenannten Scaffolds. Eingabe dieser Phase
sind die gerade identifizierten Unitigs und die Mate-Pair-Informationen.
Ein Mate-Pair sind zwei Fragmente, die beim Double Barrel“ Shotgun Sequenzieren
”
eines Klons gewonnen werden. Ihre ungefähre Distanz µ ist mit Standardabweichung σ
aus der Länge des Klons (2kb, 10kb, 50kb bzw. 150kb) bekannt. Weiterhin kennt man
die relative Orientierung der Reads (Abbildung 15).
Abbildung 15: Ein Mate-Pair
Beim Whole Genome Shotgun reicht es wegen der hohen Anzahl Fragmente nicht
aus, nur Überlappungen zu betrachten. Um die Contigs anzuordnen und zu orientieren,
werden Mate-Pairs genutzt, die diese Contigs überspannen. Aus ihrem näherungsweise bekannten Abstand und der Position des jeweiligen Reads im Contig kann auf den
Abstand der Contigs geschlossen werden.
Ein Scaffold ist eine Anordnung der Contigs mit Hilfe von Mate-Pairs (Abbildung 16).
Abbildung 16: Ein Scaffold
Die Abstände zwischen Contigs können mit Hilfe der sie verbindenden Mate-Pairs
berechnet werden. Seien zwei Contigs c1 und c2 durch die Mate-Pairs m1 , m2 , . . . , mk
verbunden. Jedes Mate-Pair mi = (li , σi ) kann als Abstandsmessung zwischen den Contigs mit Standardabweichung verstanden werden. Der Abstand l zwischen den Contigs
ergibt sich dann als das gewogene Mittel der Einzelmessungen:
8
l=
k
X
i=1
!
gi li
/
k
X
i=1
!
gi
v
u k
uX
1
mit der Standardabweichung σ = 1/t
gi , wobei gi = 2 .
σi
i=1
Es ist möglich, daß aus den Mates zwischen zwei Contigs Abstände gefolgert werden
können, die sich stark unterscheiden. Man sagt, zwei Mate-Pairs bestätigen sich, wenn sie
gleiche Orientierung und ähnlichen Abstand der Contigs zur Folge haben. Die Abstände
ähneln sich, wenn beide in der 3σ-Umgebung des jeweiligen Partners liegen.
Ein einzelnes Mate-Pair zwischen zwei Contigs, nicht notwendigerweise Unitigs, kann
fehlerhaft sein und ist nicht signifikant. Bei der Sequenzierung des Drosophila-Genoms
[MSD+ 00] waren 10 - 20% der Mate-Pair-Informationen wegen lane tracking“ Proble”
men in den Sequenziermaschinen fehlerhaft. Bestätigen sich mehrere Mate-Pairs zwischen U-Unitigs, so erzeugen diese allerdings ein verläßliches Scaffolding.
Ein weiterer Graph wird eingeführt, um die Anordnung zu repräsentieren. Im ursprünglichen Contig-Mate-Graph gibt es für jedes Contig ci die zwei Knoten si und
ei und eine gerichtete Kante dazwischen. Jedes Mate-Pair wird durch eine ungerichtete Mate-Kante repräsentiert. Mit welchen Knoten der Contigs die Kante inzident ist,
hängt von der durch das Paar induzierten Ausrichtung der Contigs zueinander ab (Abbildung 17).
Abbildung 17: Mate-Kanten im Contig-Mate-Graph
Das Gewicht einer Kante entspricht hier der Evidenz, die für diese Kante spricht. Die
Anzahl Mate-Kanten, die eine Kante bestätigen, wird als Gewicht gewählt. Außerdem
ist jeder Kante e eine Länge l(e) mit Standardabweichung σ(e) zugeordnet, die dem
berechneten Abstand der Contigs entspricht.
Der Contig-Mate-Graph wird nun noch ein wenig vereinfacht. Beim Edge-Bundling
werden heuristisch Mate-Kanten verschmolzen. Bestätigen sich zwei Mates, das heißt
sind die Längen in ihrer gegenseitigen 3σ-Umgebung, so können sie durch eine neue
Kante mit der Summe der beiden alten Gewichte ersetzt werden. Die Länge und Standardabweichung werden wieder über das gewogene Mittel berechnet. In Abbildung 18
links sind sich bestätigende Mate-Kanten nahe beieinander gezeichnet. Jede Kante habe
hier das Gewicht w = 1. Rechts sieht man den Graphen nach dem Edge-Bundling mit
den neuen Gewichten.
Bei der transitiven Kantenreduktion werden bestimmte lange Mate-Kanten auf alternierende Pfade aus Contig- und Mate-Kanten reduziert. In Abbildung 19 links wird die
Mate-Kante m1 durch die Kanten m3 , m4 und das Contig der Länge l = 2000 dazwi-
9
Abbildung 18: Edge-Bundling
schen bestätigt. Die Kantengewichte seien die selben wie in Abbildung 18. Rechts ist der
Graph nach der Reduktion mit neuen Gewichten zu sehen.
Abbildung 19: Transitive Kantenreduktion
Im folgenden wird angenommen, daß der Contig-Mate-Graph wie beschrieben modifiziert wurde.
Die Reihenfolge und Orientierung der Contigs wird durch eindimensionale Koordinaten für jeden Knoten festgelegt. Es gibt also eine Funktion Φ : V → N, die jedem
Anfangs- und Endknoten eine Zahl zuordnet, die seiner Position im Scaffold entspricht.
Dabei muss die Länge der Contigs erhalten bleiben |Φ(si ) − Φ(ei )| = l(ci ). Der Graph
in Abbildung 20 links ermöglicht beispielsweise die Anordnung rechts.
Abbildung 20: Contig-Mate-Graph mit möglichen Koordinaten
Eine Mate-Kante heißt happy, wenn sie die richtige Orientierung, Länge und Abstand
der Contigs in Bezug auf Φ bedingt. Für eine happy Mate-Kante e = (v, w) mit den
inzidenten Contig-Kanten c1 = (v 0 , v) und c2 = (w, w0 ) (siehe Abbildung 21) muß also
entweder gelten:
1. Φ(v 0 ) ≤ Φ(v) ∧ |Φ(w) − Φ(v) − l(e)| ≤ 3σ(e) ∧ Φ(w) ≤ Φ(w0 ) oder
2. Φ(w0 ) ≤ Φ(w) ∧ |Φ(v) − Φ(w) − l(e)| ≤ 3σ(e) ∧ Φ(v) ≤ Φ(v 0 ) .
Sonst heißt sie unhappy. Analog dazu sind happy Mate-Pairs definiert.
10
Abbildung 21: Eine glückliche Mate-Kante?
Das Contig-Matepair Ordering Problem (oder Contig Scaffolding Problem) besteht
darin, eine Reihenfolge und Orientierung der Contigs zu finden, welche die Summe der
Gewichte der happy Mate-Edges maximiert. Es ist NP-vollständig, wie man durch Reduktion auf BANDWIDTH zeigen kann [Hus04].
Eine Spanning-Tree Heuristik, wie im Overlap Graph, arbeitet hier sehr schlecht, da
falsche Mate-Kanten zu einer fehlerhaften Verschränkung von Contigs aus möglicherweise
weit entfernen Regionen führen können (siehe Abbildung 22).
Abbildung 22: Falsche Mate-Kante
Hier wird eine andere Heuristik bemüht, der Greedy Path-Merging Algorithmus. Da
anfangs nicht die exakten Koordinaten der Knoten interessieren, können Reihenfolge und
Orientierung auch wie folgt dargestellt werden. Sei G = (V, E) der Contig-Mate-Graph,
dann ist eine Menge S ⊆ E ein Scaffolding, wenn jede Contig-Kante in S markiert ist
und jeder Knoten von Kanten in S mit höchstens zwei Kanten inzidiert. Das Scaffolding
ist also eine Sammlung markierter Pfade, die sich nicht schneiden.
Der Greedy Path-Merging Algorithmus löst heuristisch das Contig-Matepair Ordering
Problem. In einem bottom up“-Verfahren wird ein stets gültiges Scaffolding S ⊆ E
”
verwaltet und modifiziert. Am Anfang sind lediglich alle Contig-Kanten c1 , c2 , . . . , ck
markiert. Der Graph besteht aus k markierten Pfaden P1 = (c1 ), . . . , Pk = (ck ). Die
Mate-Kanten werden nach Gewicht sortiert und in absteigender Reihenfolge bearbeitet.
Liegen die Knoten der Mate-Kante e = (v, w) auf dem selben Pfad, ist nichts zu tun.
Liegen v und w auf verschiedenen Pfaden Pi und Pj , wird versucht die Pfade zu verschmelzen (merge), um so einen neuen Pfad P zu erhalten. Das Verschmelzen ist nur
erfolgreich, wenn die Zahl der happy Mate-Kanten H(G) dabei stärker wächst als die
der unhappy Mate-Kanten U (G). Während des Algorithmus wird die Reihenfolge der
Contigs teilweise durch neue, gefolgerte“ Kanten repräsentiert.
”
Eingabe des Algorithmus ist der Contig-Mate-Graph G. Ausgabe ist eine Menge markierter disjunkter Pfade, die eine Anordnung der Contigs definiert.
Der hier wiedergegebene Pseudocode ist vollständig aus [HRM02] entnommen.
11
begin
Select all contig edges
for each mate-edge e in descending order of weight:
if e is not selected:
Let v, w denote the two nodes connected by e
Let P1 be the selected path incident to v
Let P2 be the selected path incident to w
if P1 6= P2 and we can merge P1 and P2 (guided by e) to obtain P :
if H(P ) − (H(P1 ) + H(P2 )) ≥ U (P ) − (U (P1 ) + U (P2 )):
Replace P1 and P2 by P
end
Für zwei markierte Pfade P1 und P2 und eine nicht markierte Kante e läuft das
Verschmelzen wie folgt ab. Betrachte zunächst Kante e im ersten Bild. Es wird versucht
die Pfade erst in die eine und dann ab Kante h in die andere Richtung zu verschränken.
Die Länge der Kante e suggeriert, daß c13 Contig c13 passt zwischen c23 und c24 .
zwischen c23 und c24 liegt.
Gefolgerte“ Kanten werden eingeführt. Sie Den neuen Kanten wird l und σ zugewiesen.
”
verbinden c13 mit seinen neuen Nachbarn. Es geht weiter mit der markierten Kante.
Am rechten Ende angekommen, wird jetzt Das Reißverschlußverfahren war erfolgversucht die Pfade mit Hilfe von Kante h reich. Die Contigs aus P1 und P2 wurden
nach links zu verschränken.
im neuen Pfad P integriert.
Die Methode merge ist also erfolgreich, wenn ein neuer Pfad ohne Widersprüche gebildet werden konnte. Sie schlägt fehl, wenn aus der berechneten Position eines Contigs
ci folgt, daß es mit einem anderen Contig cj überlappt, aber zwischen ci und cj kein
Alignment ausreichender Qualität existiert.
Im folgenden soll der gesamte Algorithmus an einem Beispiel angewandt werden.
12
Contig-Mate-Graph nach EdgeBundling und transitiver Kantenreduktion.
Alle Contig-Kanten werden markiert.
Die Kante mit dem höchsten Gewicht (w = 5) verbindet c2 und c3 .
Die nächste Kante mit w = 5 verbindet c1 und c4 . Es gibt jetzt zwei
Pfade.
Die Kante mit w = 4 ordnet c1 zwischen c3 und c2 an. Eine neue Kante
der Länge -200 wird gefolgert.
Es geht mit der Kante des Gewichtes w = 2 weiter. Sie bestätigt die
bisherige Anordnung.
Im Beispiel erhält man am Ende das Scaffolding (c4 , c2 , c1 , c3 ). Es wird angenommen,
daß der Anfang von c1 mit dem reversen Komplement des Anfangs von c2 ausreichend
gut überlappt. Die Koordinaten könnten dann wie in Abbildung 23 zugewiesen werden.
Abbildung 23: Endanordnung der Contigs im Beispiel
13
3.6 Repeat Resolution
Die Scaffolds enthalten nach dem vorherigen Schritt noch Lücken zwischen den Contigs.
In diesem Schritt wird versucht diese Gaps zu schließen. Als Eingabe werden neben den
Scaffolds auch beim Screening maskierte Fragmente, non-unique Unitigs, ungenutzte
Überlappungen und Mate-Pairs verwendet.
Seien u1 und u2 Unitigs, die durch eine sichere Mate-Kante m miteinander verbunden
sind. Man versucht nun mit verschiedenen Heuristiken u1 und u2 in Richtung der Lücke
zu erweitern. Alle Fragmente, die mit u1 oder u2 überlappen, und alle Mate-Pairs, die in
die Lücke hineinreichen, werden in Betracht gezogen, um sie zu schließen (Abbildung 24).
Abbildung 24: Repeat Resolution
Findet man eine Kette von sich überlappenden Fragmenten, welche die Lücke überspannt und in sich nicht widersprüchlich ist, das heißt kann man das Gap erfolgreich
schließen, so werden die Unitigs verschmolzen.
Es enstehen bessere“ Scaffolds, da sie größere Contigs enthalten und die Gaps kleiner
”
sind.
3.7 Consensus
Mit den gewonnenen Informationen über die Lage der Reads wird heuristisch ein Multialignment ermittelt. Die Konsensussequenz ist das Ergebnis dieser Phase und, zusammen
mit den Scaffolds, das Ergebnis des gesamten Assembly-Prozesses.
3.8 Zusammenfassung
Mit einem Seed-and-Extend Ansatz werden Überlappungen zwischen den bereinigten
Fragmenten gesucht. Daraus wird der Overlap Graph konstruiert. Eine Spanning-Forest
Heuristik setzt die Fragmente zu Unitigs zusammen. Diese wiederum werden vom Greedy Path-Merging Algorithmus mit Hilfe der Mate-Pair-Informationen und dem ContigMate-Graph zu Scaffolds arrangiert. Die Lücken zwischen den Contigs können eventuell
mit bisher ungenutzten Fragmenten und Mate-Pairs heuristisch gefüllt werden. Am Ende
wird die Konsensussequenz durch ein Mulialignment aller Fragmente über den gefundenen Scaffolds berechnet.
14
4 Statistiken
Laut [Hus04] ergaben sich 2001 folgende Werte für ein Whole Genome Shotgun Assembly des menschlichen Genoms bei Celera. Die Eingabe bilden 27 Mio Fragmente, welche
eine durchschnittliche Länge von 550bp haben und wovon 70% Mate-Pairs sind. Davon stammen 5 Mio Paare aus Klonen der Länge 2kb, 4 Mio aus 10kb-Klonen, 0,9 Mio
aus 50kb-Klonen und 0,35 Mio aus 150kb-Klonen. Der Celera Assembler benötigt die in
Tabelle 1 angegebenen Ressourcen.
Screener
Overlapper
Unitigger
Scaffolder
Repeat Res.
Consensus
Total
CPU-Stunden
4800
12000
120
120
50
160
≈18000
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
Max. Speicher
2GB
4GB
32GB
32GB
32GB
2GB
Tabelle 1: Ressourcen beim Assembly des menschlichen Genoms
Die Größe des menschlichen Genoms beträgt 3Gb. Das Assembly besteht aus 6500
Scaffolds und umfasst 2,8Gb Sequenz. Die Gesamtsequenz enthält 150000 Gaps, welche
insgesamt 148Mb ausmachen.
Das menschliche Genom besteht nach [Cas01] aus mindestens 50% nichtkodierenden,
repetetiven Sequenzen.
5 Fazit
Assembly ist schon in der Theorie ein sehr schwieriges Problem, insbesondere jedoch
unter Berücksichtigung der biologischen Wahrheit. Dem kann man sich, wie am Beispiel
des Celera Assemblers gezeigt wurde, durch Heuristiken nähern. Eine Garantie für die
Richtigkeit der gefundenen Lösung gibt es nicht. Die zahlreich vorhandenen Repeats mit
ihren verschiedenen Größen und Häufigkeiten stellen während des gesamten Prozesses
ein nicht zu unterschätzendes Problem dar. Sie sind auch der Grund für die vielen Gaps
in der Endsequenz.
Es bleibt noch zu erwähnen, daß die tatsächliche Implementation des Celera Assemblers in Wirklichkeit um einiges komplizierter und trickreicher ist, als hier dargestellt
wurde.
15
Literatur
[Cas01]
Denise Casey. Human Genome Working Draft: First-Edition Travel Guides.
Human Genome News, 11(3-4):3–4, 2001.
[HRM02] Daniel H. Huson, Knut Reinert, and Eugene W. Myers. The Greedy PathMerging Algorithm for Contig Scaffolding. Journal of the ACM, 49(5):603–
615, 2002.
[Hus04]
Daniel Huson. Vorlesungsskript Algorithms in Bioinformatics II: Kapitel Genome Assembly. http://www-ab.informatik.uni-tuebingen.de/
teaching/ss04/abi2/welcome.html, 2004.
[MSD+ 00] Eugene W. Myers, Granger G. Sutton, Art L. Delcher, Ian M. Dew,
Dan P. Fasulo, et al. A Whole-Genome Assembly of Drosophila. Science,
287(5461):2196–2204, 2000.
16