360 likes | 657 Views
„Fortgeschrittene algorithmische Bioinformatik“ Thema: Profile HMMs ein Vortrag von Gunar Maiwald. Gliederung. Einführung Biologischer Hintergrund Multiples Sequenzalignment Profile HMMs in der Theorie Grundidee Parameterabschätzung Suche mit Profile HMMs Profile HMMs in der Praxis PFAM
E N D
„Fortgeschrittene algorithmische Bioinformatik“Thema: Profile HMMsein Vortrag von Gunar Maiwald
Gliederung • Einführung • Biologischer Hintergrund • Multiples Sequenzalignment • Profile HMMs in der Theorie • Grundidee • Parameterabschätzung • Suche mit Profile HMMs • Profile HMMs in der Praxis • PFAM • Fazit
Biologischer Hintergrund • verschiedene Organismen haben Proteine mit ähnlichen Funktionen • Funktionen in Merkmalsregionen (Domänen) konserviert • Domänen: • Alpha-Helices und Beta-Faltblätter • 50 Aminosäuren und mehr • in Domänen-Familien gruppierbar • Frage: Gegeben ein Protein - lassen sich Domänen entdecken (... und damit Funktionen ableiten) ?
Biologischer Hintergrund • verschiedene Organismen haben Proteine mit ähnlichen Funktionen • Proteine mit ähnlichen Funktionen in Protein-Familien gruppierbar • Frage: Gegeben ein Protein - kann man es einer Protein-Familie zuordnen ?
Profile HMMs - Begriffsklärung • Definition: probabilistisches Modell zur Charakterisierung von Merkmalsregionen • Bestandteile: • 3 verschiedene Zustände (M, I, D) an jeder Position sowie Start- und Endzustand • Emissionswahrscheinlichkeiten • Übergangswahrscheinlichkeiten • Voraussetzung: korrektes MSA dient der Generierung des Profile HMMs
Multiples Sequenzalignment • MSA ist (optimale) Anordnung mehrerer (Protein)sequenzen • MSA zeigt Merkmalsregion(en) einer Domäne • Merkmalsregionen sind stark konserviert mit wenigen Gaps (Helices, Faltblätter) • dazwischen Regionen mit vielen Gaps (Loops)
111111111111111111 HBA_HUMAN ---------------VLSPADKTNVKAAWGKVG-- HBB_HUMAN --------------VHLTPEEKSAVTALWGKV--- GLB5_PETMA -----PIVDTGSV-APLSAAEKTKIRSAWAPVY-- MYG_PHYCA ---MACRCEPHALUSVLSEGEWQLVLHVWAKVE-- GLB1_GLYDI ---------BLDWRMGLSAAQRQVIAATWKDIAGA GLB3_CHITP THUMMIPIGERMIDGELSADQISTVQASFDKVK-- LGB2_LUPLU ---------LUPINGALTESQAALVKSSWEEFN-- *: : . : .: 222222222222222233333333333 HBA_HUMAN AHAGEYGAEALERMFLSFPTTKTYFPHF-DLSH-- HBB_HUMAN -NVDEVGGEALGRLLVVYPWTQRFFESFGDLSTPD GLB5_PETMA STYETSGVDILVKFFTSTPAAQEFFPKFKGLTTAD MYG_PHYCA ADVAGHGQDILIRLFKSHPETLEKFDRFKHLKTEA GLB1_GLYDI DNGAGVGKDCLIKFLSAHPQMAAVFGFSGASDP-- GLB3_CHITP ----GDPVGILYAVFKADPSIMAKFTQFAGKDLES LGB2_LUPLU ANIPKHTHRFFILVLEIAPAAKDLFSFLKGTSEVP . : . * * . .
Begin M1 Mj Mj+1 Mn End Profile HMMs – Grundidee • Ideal: MSA ohne Gaps • Sequenz x „matcht“ mit Konsensussequenz an allen Positionen x1...xn • Länge des HMM = Länge d. Konsensussequenz • Emissonswahrscheinlichkeiten für alle AS a: eMj (a) • Transitionswahrscheinlichkeiten: tMjMj+1 = 1
Ij Mj Begin Mj+1 End Profile HMMs – Grundidee • Insert: in Sequenz x wird Buchstabe xj an Position jeingefügt • Emissonswahrscheinlichkeiten für alle AS a: eIj(a) • Transitionswahrscheinlichkeiten: tMjIjtIjIjtIjMj+1
Mj Profile HMMs – Grundidee Begin End • Delete: Teile aus Sequenz x werden gelöscht • Realisierung durch Sprung von Mj nach Mj+k • Problem: zu viele Übergänge nötig
Profile HMMs – Grundidee Dj Begin Mj Mj+1 End • „silent states“: Zustände ohne Emission • ermöglichen Gaps variabler Länge in Sequenz x • Transitionswahrscheinlichkeiten: tMj-1Dj tDjDj+1tDjMj+1
Dj Ij M0 Begin Mj ML+1 End Profile HMMs – Grundidee • Insgesamt:
Profile HMMs – Generierung batVE V - - L rat-E - E V L catLE V – E - gnat L - - L E L goat-E V - - L . 1 2 . . 3
Profile HMMs – Generierung state transitons: match emissions: insert emissions:
Profile HMMs – Generierung state transitons: tZj-1Zj match probabilities: eMj (xj) insert probabilities: eIj (xj)
Profile HMMs – Generierung D1 D2 D3 0.33 I2 I0 E 0.6 L 0.2 V 0.2 ... L 0.67 V 0.33 ... 0.67 0.4 M0 Begin M2 M4 End M3 M1 0.6 V 1.0 ... E 1.0 ... L 1.0 ...
Parameterabschätzung • Frage: Wie werden Emissions- und Transitions-wahrscheinlichkeiten abgeschätzt ? • einfacher Ansatz: „Maximum Likelihood“: eMj (a) =Vorkommen der AS a an Position j Anzahl aller AS b an Position j • Problem: Kommt AS a’ an Position j im MSAnicht vor, so ist eMj (a‘) = 0 • Grund: Trainingsdaten überdecken nicht alle in der Realität existierenden Fälle
Parameterabschätzung • Pseudocounts: häufig verwendet Laplace (k=1) eMj (a) = Vorkommen von AS a an Position j + 1*k Anzahl aller AS ban Position j + 20*k • kleine Trainingsmenge: Wahrscheinlichkeit nicht gesehener Ereignisse überschätzt • grosse Trainingsmenge: Angleichung an Maximum Likelihood Werte • Problem: grosser Aufwand nötig, um k gut abzuschätzen (50 und mehr Beispiele)
Parameterabschätzung • Mixmodell: Berechnung der Pseudocounts durch Einbeziehen einer Substitutionsmatrix • Umrechnung von Matrixeintrag s(b,a) nach P(a|b) • positionsspez.Pseudocount: αja = beMj(b)*P(a|b) eMj (a) = Vorkommen von AS a an Position j + αja Anzahl aller AS b an Position j + αjb • Problem: heuristisches Modell ohne statistisch fundierte Erklärung der Herangehensweise
Suche mit Profile HMMs • Suche: Hauptanwendung von Profile HMMs • 1. Entdecken von Merkmalsregionen in Proteinen • 2. Zuordnung von Proteinen zu Familien • zwei unterschiedliche Algorithmen: • Viterbi-Algorithmus • Forward-Algorithmus • dynamische Programmierung
Suche mit Profile HMMs • Gegeben: Sequenz x1...xn, Profile-HMM λ • Frage: Wie wahrscheinlich ist es, dass x1...xndurchλmodelliert wird ? • Brute-Force: • Durchlaufe alle potentiellen Pfade π1 ... πm für x1...xn und berechne die Wahrscheinlichkeiten p1 ... pm • Summiere alle Wahrscheinlichkeiten auf • Wenn Schwellwert überschritten, dann Treffer • Problem: • # potientieller Pfade: m >> 3n • # Rechenschritte pro Pfad: 2n
Suche mit Profile HMMs • Viterbi: • ermittelt die wahrscheinlichste Abfolge π*von versteckten Zuständengegeben eine Beobachtungsfolge xund ein HMM λ • Beobachtungsfolge ist die Sequenz des Proteins • versteckte Zustände sind Mj, Ij und Dj • Falls P( x, π* | λ) einen Schwellwert übersteigt, gehört x der durch λbeschriebenen Familie an • Hier: Variante des Viterbi-Algorithmus speziell für Profile-HMMs
Suche mit Profile HMMs • dynamische Programmierung: • Sei M0 = Anfangszustand mit einem „Viterbi-Score“ V0M(0) = 0 • Sei ML+1 = Endzustand mit einem „Viterbi-Score“ VL+1M(n),für einen optimalen Pfad von Zuständen z0,...,zL+1 mit der Ausgabe x0,...,xn
Suche mit Profile HMMs • dynamische Programmierung: • Sei z0,...,zj-1 eine „optimale“ Zustandsfolge für die Ausgabe x1...xi-1 • VjM(i) istder „Viterbi-Score“ für die Zustandsfolge z0...zj-1,Mj mit der Ausgabe x1...xi-1,xi • VjI(i) ist„Viterbi-Score“ für z0...zj-1,Ij und x1...xi-1,xi • VjD(i-1) ist„Viterbi-Score“ für z0...zj-1,Dj undx1...xi-1
Vj-1M(i-1) + log tMj-1Mj Vj-1I(i-1) + log tIj-1Mj Vj-1D(i-1) + log tDj-1Mj eMj (xi) VjM(i) = log + max qxi VjM(i-1) + log tMjIj VjI(i-1) + log tIjIj VjD(i-1) + log tDjIj eIj (xi) + max VjI(i) = log qxi Vj-1D(i) + log tMj-1Dj Vj-1D(i) + log tIj-1Dj Vj-1D(i) + log tDj-1Dj max VjD(i) =
Suche mit Profile HMMs • Laufzeit: • # möglicher „Viterbi-Scores“: 3i*j • # Rechenschritte pro „Viterbi-Score“: 4 • Platzkapazität: • Backtracking erfordert die Speicherung aller Viterbi-Scores
Suche mit Profile HMMs • Forward: • ermittelt für jedenBuchstaben xj aus Sequenz x den wahrscheinlichsten Zustand • Zustandsfolge = Aneinanderreihung der wahrscheinlichsten Zustände und eventueller Zwischenzustände • Viterbi:wahrscheinlichste Abfolge von Zuständen • Forward: Abfolge wahrscheinlichster Zustände
PFAM • DB mit Vielzahl an MSAs und Profile HMMs • analysiert Proteine • ermöglicht Domänen-Organisation von Proteinen zu betrachten • 75% alle Proteine mit mind.1 Match in PFAM
FAZIT • Profile HMMs aus MSA erzeugbar • Wahrscheinlichkeiten für Emission und Transition werden abgeschätzt • Suche findet Proteindomänen und -familien • Viterbi- und Forward-Algorithmus mit dynamischer Programmierung • Realisierung in PFAM