Hybridisierung (Hybridization)
Sequencing by Hybridization
SBH
Zentrum für Bioinformatik
der Universität des Saarlandes
WS 2002/2003
1
Hybridisierung (Hybridization)
• Zwei komplementäre DNA-Einzelstränge können durch Wasserstoffbrückenbildung eine Doppelhelix bilden. Diesen Vorgang nennt man Hybridisierung.
Adenin
Thymin
Guanin
Cytosin
• Durch Erwärmung auf Temperaturen über 80 Grad C oder durch Zugabe von organischen Lösungsmitteln (wie Formamid) können Doppelstränge in zwei Einzelstränge getrennt werden. Diesen
Vorgang nennt man Denaturierung.
2
Hybridisierung (Hybridization)
• Bestimmte DNA-Muster in Chromosomen oder mRNA kann man wie folgt nachweisen:
(1) Wohldefinierte DNA-Moleküle (Folgen von Basen) werden mit einer Oberfläche verlinkt:
(2) Die zu untersuchenden DNA-Moleküle werden mit einem Fluoreszenzfarbstoff markiert,
der durch eine geeignete Lichtquelle zur Fluoreszenz angeregt wird.
(3) Durch Hybridisierung werden die Moleküle mit komplementären Strängen gebunden.
3
4
Hybridisierung (Hybridization)
• Durch den Einsatz von photolithographischen Verfahren kann man zweidimensionale DNA-Arrays
erzeugen, die Tausende von verschiedenen DNA-Sequenzen an wohldefinierten Orten auf dem Chip
tragen.
• Zum Beispiel kann man Felder erzeugen, die alle möglichen Basenfolgen der Länge l (für kleines l)
auf der Oberfläche präsentieren.
AA
AC
AG
AT
CC
CG
CT
CA
GG
GC
GT
GA
TT
TC
TG
TA
5
Hybridisierung (Hybridization)
Gegeben ein unbekanntes DNA-Molekül, d.h., die Basenfolge ist unbekannt. Man möchte
die Basenfolge lesen (bestimmen).
A
T
C
?????????
?????????
ATGCAGGTCC
TACGTCCAGG
Gegeben sei ein DNA-Array mit allen möglichen potentiellen
Fragmenten (Strings) der Länge k. (k-Fragmente).
• Kopien des mit Fluoreszenzfarbstoff markierten DNAMoleküls werden in Lösung befindlich auf das Array
aufgetragen.
• Die Kopien des Moleküls binden durch Hybridisierung
an die Stellen des Arrays, wo komplementäre DNAEinzelstränge (Fragmente) vorhanden sind.
• Lokalisiere die k-Fragmente (k-Tupel) mittels
spektroskopischer Detektoren.
AA
AT
AG
AC
TA
TT
TG
TC
GA
GT
GG
GC
CA
CT
CG
CC
G
ATG
AGG
TGC
TCC
GTC
GGT
GCA
CAG
Definition [1]: k-Spektrum einer Sequenz = Menge aller k-Fragmente in der Sequenz
„Sequencing by Hybridization“ (SBH) Problem
Gegeben das k-Spektrum einer Sequenz. Bestimme die Sequenz (Reihenfolge der Buchstaben).
6
Hybridisierung (Hybridization)
In der vorhergehenden Vorlesung haben wir gelernt,
dass man das SBH-Problem unter gewissen „idealen“ Bedingungen
als ein Euler-Pfad-Problem interpretieren und lösen kann.
AA
AT
Euler-Pfad-Ansatz:
AG
AC
Wir betrachten die Teilstrings der Länge k-1 der k-Fragmente
TA
Diese Teilstrings der Länge k-1 sind die Knoten des Graphen G. TT
Für jedes k-Fragment führen wir eine Kante in den Graph ein.
TG
TC
Die Kante führt vom Knoten mit den ersten (k-1) Buchstaben
zum Knoten mit den letzten (k-1) Buchstaben des k-Fragments. GA
GT
GG
Berechne den (einen) Euler-Pfad des Graphen..
GC
CA
Definition [2]:
CT
Der im Euler-Pfad-Ansatz definierte Graph
CG
heißt der „de Bruijn“ Graph.
CC
A
T
C
G
ATG
AGG
TGC
TCC
GTC
GGT
GCA
CAG
• k-Spektrum S = { ATG, TGC, GCA, CAG, AGG, GGT, GTC, TCC }
AT
TG
GC
CA
AG
GG
GT
TC
7
Hybridisierung (Hybridization)
Ein Graph kann verschiedene Euler-Pfade besitzen, d.h., jeder Euler-Pfad repräsentiert dann einen
anderen Text T, aber nur ein Euler-Pfad repräsentiert den gesuchten Text.
• k-Spektrum S = { ATG, TGG, GGC, GCG, CGT, GTG, TGC, GCA }
AT
GT
CG
TG
GC
GG
T(1) = ATGCGTGGCA
T(2) = ATGGCGTGCA
CA
8
Hybridisierung (Hybridization)
Variante [1a]:
• Jedes Textfragment f  F hat Länge k.
• Die Textfragmente enthalten keine Sequenzierungsfehler.
• Alle Textfragmente f der Länge k von T sind in F enthalten.
• Es gibt keine Repeats länger als k-2 in T.
• T ist ein „echter“ Text (kein DNA Doppelstrang).
√
Leider funktioniert die Hybridisierung auf DNA-Arrays nicht perfekt.
Daten, die mittels DNA-Arrays gewonnen wurden, sind in der Regel
sehr stark „verrauscht“ und fehlerhaft.
Die realisierbare Länge k der Fragmente ist „zu klein“ (man benötigt für
k = 10 schon ein DNA-Array mit 410 = 1048576 Punkten).
SBH wurde Anfang der neunziger Jahre als mögliche Sequenzierungstechnik veröffentlicht und diskutiert. Diese Kombination von DNA-Arrays
und Euler-Pfad-Konstruktion hat sich aber aus verschiedenen Gründen
nicht als Sequenzierungstechnik durchgesetzt.
Diese Überlegungen haben jedoch die Entwicklung der DNA-Arrays
initiiert. DNA-Arrays spielen heutzutage in anderen Bereichen der Bioinformatik und der Biotechnologie eine zentrale Rolle.
9
Hybridisierung (Hybridization)
Variante [1a]:
• Jedes Textfragment f  F hat Länge k.
• Die Textfragmente enthalten keine Sequenzierungsfehler.
• Alle Textfragmente f der Länge k von T sind in F enthalten.
• Es gibt keine Repeats länger als k-2 in T.
• T ist ein „echter“ Text (kein DNA Doppelstrang).
Die heutige Sequenziertechnologie liefert in der Regel Fragmente,
sogenannte „Reads“, deren Längen im Bereich zwischen 400 und
700 Basen liegen.
Idury und Waterman haben 1995 die folgende Idee formuliert:
„Man imitiere das Fragment-Assembly-Problem als ein SBH-Problem.“
Man bestimme für ein vorgegebenes k (z.B. k = 20) alle k-Fragmente
in den Reads und verwende den Euler-Pfad-Ansatz für den Graphen
mit Knoten, die die k-1-Fragmente repräsentieren.
√
Hybridisierung (Hybridization)
Beispiel [1]: k = 10
Read [1] = ATGCGTCTACACTTGGACTGCGTACGTACGT................
ATGCGTCTAC
TGCGTCTACA
GCGTCTACAC
ATGCGTCTA
TGCGTCTAC
CGTCTACACT
GTCTACACTT
..........
Vorhandene Sequenzierungsfehler „zerstören“ den Euler-Pfad, d.h., der Graph
zerfällt eventuell in mehrere Zusammenhangskomponenten.
Pevzner, Tang und Waterman haben im Jahr 2001 eine Technik zur Fehlerkorrektur entwickelt, die in praktischen Tests bis zu 97,7 % der vorhandenen
Fehler korrigiert.
10
Hybridisierung (Hybridization)
Pevzner&Tang&Waterman (2001):
Sei F = { f1 , ... , fn } die Menge der Fragmente (Reads).
Sei Fk das k-Spektrum aller Reads von F .
Sei U eine obere Schranke für die Zahl der Fehler in jedem der Fragmente.
Idee: Man minimiere die Größe |Fk| des k-Spektrums, indem man in jedem
Fragment (Read) maximal U Korrekturen durchführt.
Jeder Fehler generiert k fehlerhafte k-Fragmente
(< k falls der Fehler am Rand eines Reads auftritt).
Fehler
11
Hybridisierung (Hybridization)
Definition [3]:
[a] Zwei k-Fragmente werden Nachbarn genannt, falls sie sich durch eine
Mutation (Substitution) unterscheiden, d.h., an einer Position stehen
verschiedene Buchstaben.
A T GC C
A A GC C
[b] Die Vielfachheit eines k-Fragments t ist die Zahl der Vorkommen von t
in allen Reads von F. Wir bezeichnen die Vielfachheit mit m(t).
Fehler
„korrekte“ Nachbar
(1) Fehlerhafte k-Fragmente haben in der Regel „korrekte“ Nachbarn.
(2) Die „korrekte“ Nachbarn haben in der Regel die größere Vielfachheit.
12
Hybridisierung (Hybridization)
Definition [4]:
[a] Ein k-Fragment heißt solide, wenn es in mehr als M Reads vorkommt.
[b] Ein k-Fragment t heißt Orphan (Waise), wenn
1. es nicht solide ist, d.h., m(t)  M,
2. es genau einen Nachbarn t‘ hat und
3. m(t)  m(t‘).
Prozedur für die Fehlerkorrektur:
bis zu 97.7 % Fehlerreduzierung
Für jedes Read f aus F führen wir die folgenden Operationen durch:
1. ZahlDerKorrekturen = 0;
2. Solange (ZahlDerKorrekturen < U)
a.
Suche Orphan t aus f mit Nachbar t‘ in Fk,
so dass MUTATION(f, t ->t‘) |Fk| um k verkleinert.
b.
ZahlDerKorrekturen++;
MUTATION(f, t->t) ersetzt in dem Read f einen Buchstaben, so dass an
dieser Stelle nicht mehr t sondern t‘ als k-Fragment auftaucht.
13
14
Hybridisierung (Hybridization)
Definition [5]:
Ein Knoten v in einem Graphen wird Quelle genannt, falls indegree(v) = 0 ist.
Ein Knoten v wird Senke genannt, falls outdegree(v) = 0 ist.
Ein Knoten v wird Verzweigung genannt , falls indegree(v) * outdegree(v) > 1.
Ein Pfad v1 , .... , vn in einem de Bruijn Graph heißt Repeat, falls
a.
b.
c.
v1
v2
indegree(v1) > 1
outdegree(vn) > 1
indegree(vi) = outdegree(vi) = 1
vn-1
für i  { 2, ..., n }
vn
Die Kanten, die in der Verzweigung v1 enden, heißen Eingänge.
Die Kanten, die in der Verzweigung vn starten, heißen Ausgänge.
15
Hybridisierung (Hybridization)
v1
v2
vn-1
vn
Ein de Bruijn Graph, der den obigen Teilgraphen (das Repeat)enthält, kann nur
dann einen Euler-Pfad besitzen, wenn die mittleren Kanten zweimal verwendet
werden dürfen, d.h., wenn wir die mittleren Kanten verdoppeln (Multi-Graph)
oder wir diesen Kanten eine Vielfachheit von zwei geben.
Man beachte: Falls Text-Repeats und damit auch Repeats im Graphen vorhanden
sind, muss zunächst für jede Kante die richtige Vielfachheit berechnet werden, so
dass der modifizierte Graph überhaupt einen Euler-Pfad besitzt.
In vielen Fällen ist dieses Problem nicht lösbar. In dem Originalpapier von Pevzner,
Tang und Waterman (RECOMB 2001) wird dieses Problem ignoriert.
Wir nehmen nun an, dass die Vielfachheit der Kanten bekannt ist und dass
mindestens ein Euler-Pfad existiert.
Frage: Wie findet man den richtigen Euler-Pfad?
16
Hybridisierung (Hybridization)
v1
v2
vn-1
vn
Jedes Vorkommen eines Text-Repeats besitzt einen Eingang und einen Ausgang.
Die Information, welcher Ausgang mit welchem Eingang gekoppelt ist (zu einem
Vorkommen eines Repeats gehört), geht im de Bruijn Graph verloren.
Idee: Jeder Read f (jedes Fragment) aus F entspricht einem Read-Pfad P(f)
in dem de Bruijn Graphen.
Falls es einen Read-Pfad gibt, der einen Eingang des Repeats, alle Kanten
in der Mitte des Repeats und einen Ausgang des Repeats enthält, dann liefert
uns dieser Read-Pfad eine Paarung von einem Eingang und einem Ausgang.
Definition [6]:
Existiert für ein Repeat kein Read-Pfad, der es enthält, so nennt man das
Repeat „Gewirr“ (tangle).
17
Hybridisierung (Hybridization)
Euler-Superpfad-Problem (Pevzner, Tang, Waterman 2001):
Gegeben ein de Bruijn Graph G und einem Menge von Pfaden
P = { P(f1), ... , P(fn) }
(Pfade, welche die Reads repräsentieren)
Finde einen Euler-Pfad in G, der alle Pfade in P als Teilpfade enthält.
pi
v1
v2
vn-1
vn
pj
Das Euler-Pfad-Problem ist ein Spezialfall des Euler-Superpfad-Problems:
(1) mit der leeren Menge als Pfadmenge oder
(2) oder jede Kante kann auch als eigener Pfad betrachtet werden.
18
Hybridisierung (Hybridization)
Lösungsansatz:
Führe eine Reihe von Äquivalenztransformationen aus,
(G,P)
(Gk,Pk)
(G1,P1)
so dass es eins-zu-eins Beziehung zwischen den Euler-Superpfaden
in den Gi gibt (so dass der Text der gesuchten Lösung beibehalten wird).
Ziel:
Ein Graph Gk, in dem jeder Pfad aus Pk aus einer Kante besteht, d.h.,
das Euler-Pfad-Problem in Gk liefert dann
eine Lösung des Superpfad-Problems in G.
Frage:
Welche Art von Transformation ermöglicht es, Pfade zu Kanten zu reduzieren.
vin
x=(vin,vmid)
A
vmid
AT
y=(vmid,vout)
T
vout
Hybridisierung (Hybridization)
19
Transformation:
Zwei aufeinander folgende Kanten können unter gewissen Vorraussetzungen
zu einer Kante verschmolzen werden.
Pfade, die im Graph Gi über beide Kanten direkt nacheinander gehen, gehen
nach der Transformation im Graph Gi+1 über die neue Kante. Ihre Pfadlänge
wird hierdurch (um 1) verkleinert.
Fragen:
Unter welchen Vorraussetzungen ist eine solche Transformation erlaubt?
Wann erhält eine solche Transformation die gesuchte Lösung und wann nicht?
Welche Pfade, die nicht beide Kanten verwenden, werden durch eine
Verschmelzung der beiden Kanten beeinflusst?
Wir diskutieren im folgenden die einfachen Fälle. Die vollständige Fallunterscheidung finden Sie in dem RECOMB 2001 Papier von Pevzner,
Tang und Waterman.
20
Hybridisierung (Hybridization)
Transformation bei einfachen Kanten (keine multiplen Kanten).
P->x = {p| p endet mit x}
Px,y = {p| p enthält x und y}
Py-> = {p| p startet mit y}
vin
x=(vin,vmid)
tx
vmid
y=(vmid,vout)
ty
vout
vor Transformation
Wir betrachten zunächst den Fall, dass zwei aufeinander folgende Kanten
x und y mit Vielfachheit 1 transformiert werden sollen.
Die Pfade in P, die weder die Kante x noch die Kante y enthalten, werden
durch die Transformation von x und y nicht beeinflusst und müssen deshalb
hier nicht betrachtet werden.
Drei Pfadmengen P->x , Px,y , Py-> (siehe Abbildung) müssen in diesem
Fall diskutiert werden.
21
Hybridisierung (Hybridization)
P->x = {p| p endet mit x}
Px,y = {p| p enthält x und y}
Py-> = {p| p startet mit y}
vin
x=(vin,vmid)
vmid
tx
y=(vmid,vout)
ty
vout
vor Transformation
1. Ersetze x und y in
allen Pfaden in Px,y
durch z.
z
tz = txty
vin
vmid
nach Transformation
vout
2. Ersetze y durch z
in allen Pfaden in
Py->
3. Ersetze x durch z in allen Pfaden in P->x
22
Hybridisierung (Hybridization)
Px,y1 = {p| p enthält x und y1}
y1 =(vmid,vout1)
vin
x=(vin,vmid)
vout1
vmid
P->x = {p| p endet mit x}
y2 =(vmid,vout2)
vout2
Beispiel mit mutiplen Kanten: vor Transformation
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
23
Hybridisierung (Hybridization)
Für jeden Pfad p  P->x muß entschieden werden, ob (1) x durch z ersetzt wird.
(2) er (weiter) mit x endet (Richtung y2).
Definition[6]: Zwei Pfade heißen konsistent, wenn ihre Vereinigung wieder ein Pfad ist.
Ein Pfad p ist konsistent mit einer Menge von Pfaden P,
wenn p zu jedem Pfad in P konsistent ist.
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
24
Hybridisierung (Hybridization)
Sei p  P->x : Fall 1:
p ist mit genau einer der Pfadmengen Px,y1 und Px,y2 konsistent
Px,y1
p
vout1
x=(vin,vmid)
vin
vmid
vout2
(1) x wird durch z in p ersetzt.
Px,y2
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
25
Hybridisierung (Hybridization)
Sei p  P->x : Fall 1:
p ist mit genau einer der Pfadmengen Px,y1 und Px,y2 konsistent.
Px,y1
vout1
x=(vin,vmid)
vin
p
vmid
vout2
(2) p endet (weiter) in x.
Px,y2
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
26
Hybridisierung (Hybridization)
Sei p  P->x : Fall 2:
p ist inkonsistent mit beiden Pfadmengen Px,y1 und Px,y2
Px,y1
vout1
x=(vin,vmid)
vin
vmid
Px,y2
p
vout2
Es existiert keine Lösung des Superpfad-Problem
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
27
Hybridisierung (Hybridization)
Sei p  P->x : Fall 3:
p ist konsistent mit beiden Pfadmengen Px,y1 und Px,y2
Px,y1
p
vout1
x=(vin,vmid)
vin
vmid
Existiert ein p  P->x mit dieser Eigenschaft, so nennt man x nicht-auflösbar.
Nicht-auflösbare Kanten x werden zum Schluss behandelt.
vout2
Problem:
Wie enden die
Pfade in P->x ?
vout1
z
vin
P->x
x=(vin,vmid)
vmid
tz=txty1
y2 =(vmid,vout2)
vout2
Beispiel mit multiplen Kanten: nach Transformation
Px,y2
28
Hybridisierung (Hybridization)
Sei x eine nicht-auflösbare Kante (siehe Beispiel unten).
In diesen Situationen wendet man Cut-Techniken an.
Px->
P->x
vin
vout1
x=(vin,vmid)
vmid
P->x
vout2
Px->
Man kürze die Pfade um x.
vout1
vin
x=(vin,vmid)
vmid
vout2
Hybridisierung (Hybridization)
Euler-Schema:
Gegeben eine Fragmentmenge F (Menge von Reads).
• Führe Fehlerkorrektur durch.
• Konstruiere den de Bruijn Graphen G von F mit der Read-Pfadmenge P.
• Führe Äquivalenztransformationen durch und berechne Gk.
• Berechne den (einen) Euler-Pfad von Gk.
• Bestimme mittels des Euler-Pfades die gesuchte Sequenz T.
29
Hybridisierung (Hybridization)
Neisseria Meningitidis
What is meningitis?
Meningitis is an infection of the fluid of a person's spinal cord and the fluid that
surrounds the brain. People sometimes refer to it as spinal meningitis. Meningitis
is usually caused by a viral or bacterial infection. Knowing whether meningitis is
caused by a virus or bacterium is important because the severity of illness and the
treatment differ. Viral meningitis is generally less severe and resolves without
specific treatment, while bacterial meningitis can be quite severe and may result in
brain damage, hearing loss, or learning disability. For bacterial meningitis, it is also
important to know which type of bacteria is causing the meningitis because
antibiotics can prevent some types from spreading and infecting other people.
Before the 1990s, Haemophilus influenzae type b (Hib) was the leading cause of
bacterial meningitis, but new vaccines being given to all children as part of their
routine immunizations have reduced the occurrence of invasive disease due to
H. influenzae. Today, Streptococcus pneumoniae and Neisseria meningitidis
are the leading causes of bacterial meningitis.
30
Hybridisierung (Hybridization)
Resultate von Pevzner&Tang&Waterman für „Neisseria Meningitidis“:
• Länge des Genoms: 2,184,406 bp.
• 53263 Fragmente mit durchschnittlicher Länge 400 bp.
• 126 perfekte Repeats bis zu einer Länge von 3832bp.
• 255631 Fehler in den Fragmenten (4.8 per Fragment, 1.2 % Fehlerrate).
• 234410 Fehler wurden durch die „Waisenprozedur“ (M=2) eliminiert.
• 1452 Fehler wurden durch die „Waisenprozedur“ produziert.
• l = 20 Tuple-Größe wurde verwendet.
• 4,081,857 = Zahl der Knoten im de Bruijn Graph vor den Äquivalenztransformationen.
• 999 = Zahl der Knoten im de Bruijn Graph nach den Äquivalenztransformationen.
• 1023 = Zahl der Kanten im de Bruijn Graph nach den Äquivalenztransformationen.
• 122 Zusammenhangskomponenten
• 5 Stunden Laufzeit auf einer Sun Enterprise E4500/5500
31

Problem - Universität des Saarlandes