„Fortgeschrittene algorithmische Bioinformatik“ Thema: Profile HMMs ein Vortrag von Gunar Maiwald
Gliederung Einführung Profile HMMs in der Theorie 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 . : . * * . .
Profile HMMs – Grundidee Begin M1 End Mn Mj Mj+1 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 Begin End Mj Mj+1 Ij 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: M0 Begin ML+1 End Mj Ij Dj
Profile HMMs – Generierung bat V E V - - L rat - E - E V L cat L E V – E - gnat L - - L E L goat - E V - - L . 1 2 . . 3
Profile HMMs – Generierung match emissions: state transitons: 1 2 3 E 4 - L V ... 1 2 3 M - M 4 M – D - M – I 1 2 3 I – M - I – D I – I insert emissions: 1 2 3 E - L V ... 1 2 3 D– M - D– D D – I
Profile HMMs – Generierung match probabilities: eMj (xj) state transitons: tZj-1Zj 1 2 3 E - L V ... 1 2 3 M - M 0.4 0.75 0.67 M – D - 0.25 M – I 0.6 0.33 1 2 3 I – M 0.67 - 0.4 I – D 0.33 0.2 I – I insert probabilities: eIj (xj) 1 2 3 E - 0.6 L 0.67 0.2 V 0.33 ... 1 2 3 D– M - D– D D – I
Profile HMMs – Generierung D1 D2 D3 0.33 I0 I2 L 0.67 V 0.33 ... E 0.6 L 0.2 V 0.2 ... 0.67 0.4 M0 Begin M1 M2 M3 M4 End 0.6 E 1.0 ... V 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 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) eMj (a) = Vorkommen von AS a an Position j + 1*k Anzahl aller AS b an 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...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
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) VjI(i ) = log + max qxi Vj-1D(i) + log tMj-1Dj Vj-1D(i) + log tIj-1Dj Vj-1D(i) + log tDj-1Dj VjD(i) = max
Suche mit Profile HMMs Laufzeit: Platzkapazität: # 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 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 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