„Fortgeschrittene algorithmische Bioinformatik“ Thema: Profile HMMs ein Vortrag von Gunar Maiwald Gliederung Einführung Profile HMMs in der Theorie Grundidee Parameterabschätzung Suche mit Profile HMMs Profile HMMs in der Praxis Biologischer Hintergrund Multiples Sequenzalignment 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 ProteinFamilien 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) HBA_HUMAN HBB_HUMAN GLB5_PETMA MYG_PHYCA GLB1_GLYDI GLB3_CHITP LGB2_LUPLU 111111111111111111 ---------------VLSPADKTNVKAAWGKVG---------------VHLTPEEKSAVTALWGKV-------PIVDTGSV-APLSAAEKTKIRSAWAPVY----MACRCEPHALUSVLSEGEWQLVLHVWAKVE----------BLDWRMGLSAAQRQVIAATWKDIAGA THUMMIPIGERMIDGELSADQISTVQASFDKVK----------LUPINGALTESQAALVKSSWEEFN-*: : . : .: HBA_HUMAN HBB_HUMAN GLB5_PETMA MYG_PHYCA GLB1_GLYDI GLB3_CHITP LGB2_LUPLU 222222222222222233333333333 AHAGEYGAEALERMFLSFPTTKTYFPHF-DLSH--NVDEVGGEALGRLLVVYPWTQRFFESFGDLSTPD STYETSGVDILVKFFTSTPAAQEFFPKFKGLTTAD ADVAGHGQDILIRLFKSHPETLEKFDRFKHLKTEA DNGAGVGKDCLIKFLSAHPQMAAVFGFSGASDP-----GDPVGILYAVFKADPSIMAKFTQFAGKDLES ANIPKHTHRFFILVLEIAPAAKDLFSFLKGTSEVP . : . * * . . Profile HMMs – Grundidee Begin M1 Mj Mj+1 Mn End 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 Profile HMMs – Grundidee Ij Begin Mj Mj+1 End Insert: in Sequenz x wird Buchstabe xj an Position j eingefügt Emissonswahrscheinlichkeiten für alle AS a: eIj(a) Transitionswahrscheinlichkeiten: tMjIj tIjIj tIjMj+1 Profile HMMs – Grundidee Begin Mj 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+1 tDjMj+1 Profile HMMs – Grundidee Insgesamt: Dj Ij M0 Begin Mj ML+1 End Profile HMMs – Generierung bat rat cat gnat goat V L L . E E E E 1 V V V 2 E – L . V E E . L L L L 3 Profile HMMs – Generierung state transitons: match emissions: 0 1 2 3 0 1 2 3 E 4 - - M-M 2 3 2 4 L - - 4 M–D - 1 - V - 3 - M–I 3 - 1 - ... - - 0 1 2 3 I–M 2 - 2 - I–D 1 - 1 I–I - - 2 - 0 1 2 3 D– M - - 1 D– D 1 - D–I - 2 insert emissions: 0 1 2 3 E - - 3 - L 2 - 1 - V 1 - 1 - - - - ... - Profile HMMs – Generierung state transitons: tZj-1Zj match probabilities: eMj (xj) 0 1 2 3 0 1 2 3 E 1 - - M-M 0.4 0.75 0.67 1 L - - 1 M–D - 0.25 - V - 1 - M–I 0.6 - 0.33 - ... - - 0 1 2 3 I–M 0.67 - 0.4 - I–D 0.33 - 0.2 I–I - - 0.4 - 0 1 2 3 D– M - - 1 D– D 1 - D–I - 1 insert probabilities: eIj (xj) 0 1 2 3 E - - 0.6 - L 0.67 - 0.2 - V 0.33 - 0.2 - - - - ... - Profile HMMs – Generierung D1 D2 D3 0.33 I0 0.4 M0 Begin L 0.67 V 0.33 ... I2 E 0.6 L 0.2 V 0.2 ... 0.67 M2 M1 0.6 E 1.0 ... M4 End M3 V 1.0 ... L 1.0 ... Parameterabschätzung Frage: Wie werden Emissions- und Transitionswahrscheinlichkeiten 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 MSA nicht 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) Vorkommen von AS a an Position j + 1*k + 20*k eMj (a) = Anzahl aller AS b an Position j 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) Vorkommen von AS a an Position j + αja + αjb eMj (a) = Anzahl aller AS b an Position j 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...xn durch λ 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änden gegeben eine Beobachtungsfolge x und 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) ist der „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 VjM(i ) eMj (xi) = log qx + max i Vj-1M(i-1) + log tMj-1Mj Vj-1I(i-1) + log tIj-1Mj Vj-1D(i-1) + log tDj-1Mj eIj (xi) VjI(i ) = log qxi + max VjM(i-1) + log tMjIj VjI(i-1) + log tIjIj VjD(i-1) + log tDjIj Vj-1D(i) + log tMj-1Dj VjD(i) = max Vj-1D(i) + log tIj-1Dj Vj-1D(i) + log tDj-1Dj Suche mit Profile HMMs Laufzeit: # möglicher „Viterbi-Scores“: 3i*j # Rechenschritte pro „Viterbi-Score“: 4 Platzkapazität: Backtracking erfordert die Speicherung aller ViterbiScores Suche mit Profile HMMs Forward: ermittelt für jeden Buchstaben 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 Suche findet Proteindomänen und -familien Wahrscheinlichkeiten für Emission und Transition werden abgeschätzt Viterbi- und Forward-Algorithmus mit dynamischer Programmierung Realisierung in PFAM