Profile HMMs

Werbung
„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
Herunterladen