Gensuche mit Hidden Markov Modellen Zentrum für Bioinformatik

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Stochastik und Markovketten
Statistische Aspekte der PSG
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Seminar Textmining WS 06/07 Themen Übung 11 unsupervised vs. supervised Symbolfolgen, Kunstsprachen Page Rank.
Genetische Algorithmen für die Variogrammanpassung
Seminar „Extrapolationsmethoden für zufällige Felder“
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 1 Algorithm. Grundlagen des Internets 24. Juni 2002 Christian Schindelhauer.
Alignments mit Hidden Markov Modellen. Wofür sind HMMs gut? Gehört eine Sequenz zu einer bestimmten Familie? Falls eine Sequenz aus einer Familie stammt,
Übersicht DIALIGN = DIagonal ALIGNment
Sortierverfahren Richard Göbel.
Algorithmentheorie 04 –Hashing
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 7 – Bin Packing
Seminar parallele Programmierung SS 2003
Produktform der Inversen 1
Klausur „Diskrete Mathematik II“
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Algorithmen und Komplexität
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Minimum Spanning Tree: MST
Berechnung des Osterdatums
Hauptseminar Automaten und Formale Sprachen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Hidden Markov Modelle (HMM) (Rabiner Tutorial)
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
...ich seh´es kommen !.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
Minimal spannende Bäume
Gene Prediction Marco Block Jonas Heise Nima Keshvari Michael Schreiber.
Der A*-Algorithmus.
Gliederung der Vorlesung
 Präsentation transkript:

Gensuche mit Hidden Markov Modellen Zentrum für Bioinformatik der Universität des Saarlandes WS 2002/2003

Worum geht es? In der enormen Datenmenge eines Genoms sollen die kodierenden Regionen bestimmt werden ... CAT ATG TTT CCA AGT ACA TGG TAT GTA TAA GGG CAT ... Startkodon Stopkodon Kodierender Bereich

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 Exon 2 Exon 1 Intron 1 Gen 1 Zwischengen. Bereich Gen 2

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

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)

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.

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

Die Modelldefinition von VEIL VEIL ist ein modular aufgebautes Hidden-Markov-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

Das Gesamtmodell von VEIL Upstream Startkodon Exon Stopkodon Downstream 3´Splice Site Intron 5´Splice Site

Das Intron-Modul von VEIL c g t 5´Splice Site 3´Splice Site 16 Backedges Anpassung des Reading Frames Eine beliebige Folge von Codons

Das Exon-Modul von VEIL Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream

Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start)

Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) A

Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) ACC

Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) ACC T

Beispiel 1 – ein 1-Exon Gen Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) ACC TAA (Downstream) Stopkodon

Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) CTT

Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC

Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC AT Beliebig, zur Anpassung des Reading Frames

Beispiel 2 – ein initiales Exon Startkodon 16 Backedges a a c g t a c g t c g t 5´Splice Site 3´Splice Site Downstream (Start) CTT ACC AT (Übergang zum 1. Intron) Beliebig, zur Anpassung des Reading Frames

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

Der EM-Algorithmus 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

Anwenden des Modells Da nun das Modell vollständig ist, können wir es auf unbekannte Sequenzen anwenden. 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! 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

Der Viterbi-Algorithmus Um die Laufzeit zu reduzieren, verwendet man einen Algorithmus, der an dynamische Programmierung angelehnt ist 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) Paradigma: Speichern und Wiederverwerten bereits berechneter Informationen

Der Viterbi-Algorithmus Wir verwenden den Trellis, um die folgenden Informationen zu berechnen: 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)) di+1(qj) := max1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] Yi+1(qj):= argmax1kN[di(qk)·P(Si+1|qj)·P(qj|qk)]

Der Viterbi-Algorithmus di+1(qj) := max1kN[di(qk)·P(Si+1|qj)·P(qj|qk)] Yi+1(qj):= argmax1kN[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

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! Dies liegt daran, daß die Übergangswahrscheinlichkeiten einer Markovkette unabhängig von der Geschichte des Pfades sind! 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!

Euch allen Frohe Weihnachten und erholsame Ferien zu wünschen! Jetzt fehlt nur noch... Euch allen Frohe Weihnachten und erholsame Ferien zu wünschen!