Gensuche mit Hidden Markov Modellen 1 Gensuche mit Hidden Markov Modellen Zentrum für Bioinformatik der Universität des Saarlandes WS 2002/2003 Gensuche mit Hidden Markov Modellen Worum geht es? • In der enormen Datenmenge eines Genoms sollen die kodierenden Regionen bestimmt werden Startkodon Stopkodon ... CAT ATG TTT CCA AGT ACA TGG TAT GTA TAA GGG CAT ... Kodierender Bereich 2 3 Gensuche mit Hidden Markov Modellen Suche nach Genen • Aufgabenstellung: gegeben eine DNA-Sequenz, klassifiziere jede einzelne Base als Teil eines – Exons (kodierender Bereich) – Introns (nichtkodierender Bereich innerhalb eines Gens) – Zwischengenetischen Bereichs (nichtkodierender Bereich zwischen zwei Genen) Exon 1 Intron 1 Gen 1 Exon 2 Zwischengen. Bereich Exon 1 Intron 1 Gen 2 Gensuche mit Hidden Markov Modellen Wie stellen wir das an? • Idee: Suche nach Startkodon/Stopkodon – Paaren. Alles dazwischen ist kodierend. Nachteil: Funktioniert nicht! u.A. werden überlappende Gene und Introns nicht berücksichtigt • Statt dessen: verwende statistische Informationen um Teilsequenzen zu klassifizieren • Analogie: Automatische Erkennung der Sprache eines Textes. In einem typischen deutschen Text macht der Buchstabe ‚e‘ ca. 16,55% aller Buchstaben aus, in einem schwedischen nur ca. 9.77%. zähle die e‘s im Text, um zu berechnen mit welcher Wahrscheinlichkeit es sich um einen deutschen Text handelt 4 Gensuche mit Hidden Markov Modellen Hidden Markov Modelle In ähnlichen Fragestellungen (z.B. in der Spracherkennung) haben sich Hidden Markov Modelle als sinnvoll erwiesen Kurzwiederholung: Eine Markovkette ist ein stochastischer Prozess, der nacheinander eine Reihe von Zuständen mit einer gewissen Wahrscheinlichkeit durchläuft. Dabei hängt die Wahrscheinlichkeit für den jeweils nächsten Zustand nur vom aktuellen Zustand ab: P(ti+1|ti, ti-1,...,tj) = P(ti+1|ti) 5 Gensuche mit Hidden Markov Modellen Hidden Markov Modelle • Ein Hidden Markov Modell besteht aus einer Markovkette, bei der jedoch einige Zustände versteckt sind, d.h. wir können nicht genau angeben, in welchem Zustand sich das System befindet. • In diesem Fall können wir nur von den Effekten die wir beobachten auf die Wahrscheinlichkeit jedes Zustands zurückschließen • Ein Hidden Markov Modell lässt sich als Graph darstellen, dessen Knoten die Zustände und dessen Kanten die Übergänge darstellen. Die Kanten sind mit den Übergangswahrscheinlichkeiten gewichtet. 6 Gensuche mit Hidden Markov Modellen VEIL – The Viterbi Exon-Intron Locator • Ein einfaches Beispiel für ein solches Hidden Markov Modell zur Gensuche ist VEIL • VEIL wurde vorgestellt in: Henderson, Salzberg and Fasman: „Finding Genes in DNA with a Hidden Markov Model“, J. Comp. Biol. (1996) • Der Aufbau von VEIL besteht aus 3 Schritten: – Definition des Modells – Training des Modells mit dem EM-Algorithmus – Klassifizieren von Sequenzen mittels Viterbi-Algorithmus 7 Gensuche mit Hidden Markov Modellen Die Modelldefinition von VEIL • VEIL ist ein modular aufgebautes HiddenMarkov-Modell • Es besteht aus einzelnen Komponenten (selber wieder vollständige HMM‘s), die zu einem Gesamtmodell verdrahtet werden • Jedes Modul repräsentiert eine bestimmte Klassifikation der DNA 8 9 Gensuche mit Hidden Markov Modellen Das Gesamtmodell von VEIL Upstream Startkodon Exon Stopkodon 3´Splice Site Intron 5´Splice Site Downstream 10 Gensuche mit Hidden Markov Modellen Das Intron-Modul von VEIL 16 Backedges Anpassung des Reading Frames a a a c c c g g g t t t Eine beliebige Folge von Codons 5´Splice Site Anpassung des Reading Frames 3´Splice Site 11 Gensuche mit Hidden Markov Modellen Das Exon-Modul von VEIL Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream 12 Gensuche mit Hidden Markov Modellen Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) 13 Gensuche mit Hidden Markov Modellen Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) A 14 Gensuche mit Hidden Markov Modellen Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) ACC 15 Gensuche mit Hidden Markov Modellen Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) ACC T 16 Gensuche mit Hidden Markov Modellen Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) ACC TAA (Downstream) Stopkodon 17 Gensuche mit Hidden Markov Modellen Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) CTT 18 Gensuche mit Hidden Markov Modellen Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC 19 Gensuche mit Hidden Markov Modellen Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC AT Beliebig, zur Anpassung des Reading Frames 20 Gensuche mit Hidden Markov Modellen Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a a c c c g g g t t t a a g g 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC AT (Übergang zum 1. Intron) Beliebig, zur Anpassung des Reading Frames Gensuche mit Hidden Markov Modellen Das Training des Modells • Die Topologie des HMM ist nun bekannt. Es fehlen „nur“ noch die Übergangswahrscheinlichkeiten Pij • Für einige Pij haben wir Schätzungen, z.B. aus biologischen Modellen. Diese verwenden wir dann als Ausgangsbelegung für die jeweiligen Kanten. • Die restlichen Kanten belegen wir mit zufälligen Startwerten zwischen 0 und 1. • Anschließend werden mit diesem initialen Modell bekannte Trainingssequenzen untersucht, und die Kantengewichte rekursiv angepasst, um die Vorhersagequalität zu optimieren 21 Gensuche mit Hidden Markov Modellen Der EM-Algorithmus 1. 2. Klassifiziere eine bekannte Sequenz s1 vom Typ M mit dem HMM. Dies liefert P(s1|M). Wiederhole dies für alle Trainingssequenzen si Passe die Pij iterativ an, so dass P(S|M) := Pi P(si|M) maximal wird. Dazu werden die Pij in jedem Iterationsschritt so verändert, dass Pnew(si|M)¸ Pold(si|M) i Laufzeit pro Iteration: O(ne), wobei n:= Gesamtlänge aller Trainingssequenzen und e := Anzahl Kanten im HMM 22 Gensuche mit Hidden Markov Modellen Anwenden des Modells • Da nun das Modell vollständig ist, können wir es auf unbekannte Sequenzen anwenden. Problemstellung: Für eine Eingabesequenz Si der Länge N, bestimme den Pfad qi durch die Zustände der HMM , der Si am wahrscheinlichsten generiert hat, d.h. den Pfad, der P(q1,..,qN|S1,...SN,) maximiert • Naiver Brute-Force-Ansatz: berechne alle Pfade der Länge N, überprüfe, welche davon Si generieren können, und wähle denjenigen mit maximaler Wahrscheinlichkeit exponentielle Laufzeit! 23 Gensuche mit Hidden Markov Modellen Der Viterbi-Algorithmus • Um die Laufzeit zu reduzieren, verwendet man einen Algorithmus, der an dynamische Programmierung angelehnt ist Paradigma: Speichern und Wiederverwerten bereits berechneter Informationen • Dazu bauen wir rekursiv eine Datenstruktur (Trellis) auf, die alle Pfade der Länge i enthält. • Der Trellis besteht aus i Schichten, die jeweils alle N Zustände des HMM enthalten. • Gibt es im HMM eine Kante von i nach j, dann gibt es in jeder Schicht S(t) eine Kante von i zum Knoten j in der Schicht S(t+1) 24 Gensuche mit Hidden Markov Modellen Der Viterbi-Algorithmus • Wir verwenden den Trellis, um die folgenden Informationen zu berechnen: di+1(qj) := max1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] Yi+1(qj):= argmax1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] di+1(qj) ist die WK des wahrscheinlichsten Pfades, der beim (i+1)ten Eingabezeichen in qj endet. Yi+1(qj) ist der Vorgängerknoten von qj auf diesem wahrscheinlichsten Pfad. • Die Formeln erklärt man so: um bei i+1 in qj zu enden, mußte man zuvor einen anderen Knoten qk erreichen (di(qk)), von qk nach qj übergehen (P(qj|qk)) und schließlich in qj Si+1 ausgeben (P(Si+q|qj)) • 25 Gensuche mit Hidden Markov Modellen Der Viterbi-Algorithmus di+1(qj) := max1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] Yi+1(qj):= argmax1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] • Initialisierung: - d1(qj) = Anfangswahrscheinlichkeit von qj j - Y1(qj) = 0 j • Terminierung: - P* = maxi[dT(qi)] - q*T = argmaxi[dT(qi)] • Backtracking: - q*t = Yt+1(q*t+1), t = T-1,...,1 26 Gensuche mit Hidden Markov Modellen Der Viterbi-Algorithmus • Nachteil: der Trellis benötigt für ein HMM mit e Kanten und eine Eingabesequenz der Länge n O(ne) Speicherplatz • Idee: benutze die Markoveigenschaft, um den Trellis zu verkleinern! Ein Knoten, der auf keinem optimalen Pfad von der Schicht i in die Schicht i+1 liegt, kann aus der Schicht i+1 und allen darauffolgenden Schichten gestrichen werden! • Dies liegt daran, daß die Übergangswahrscheinlichkeiten einer Markovkette unabhängig von der Geschichte des Pfades sind! 27 Gensuche mit Hidden Markov Modellen Jetzt fehlt nur noch... Euch allen Frohe Weihnachten und erholsame Ferien zu wünschen! 28