Curs 3

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 13

CURS 3

Lanţuri Markov şi modele HMM (Hidden Markov Models)


folosite în alinierea multisecvenţială.

1. Introducere
În teoria probabilității și în domeniile conexe, un proces stochastic sau aleator este un obiect
matematic definit de obicei ca o colecție de variabile aleatoare (random). Din punct de vedere
istoric, variabilele aleatoare au fost asociate sau indexate printr-un set de numere, de obicei
văzute ca puncte în timp, oferind interpretarea unui proces stochastic reprezentând valori
numerice ale unui sistem care se schimbă aleatoriu în timp, cum ar fi creșterea unei populații
bacteriene, un curent electric care fluctuează datorită zgomotului termic sau mișcării unei
molecule de gaz.
Procesele stochastice sunt folosite pe scară largă ca modele matematice ale sistemelor și
fenomenelor care se potrivesc variaţiilor în mod aleatoriu. Acestea au aplicații în multe
discipline, inclusiv în științe precum biologie, chimie, ecologie, neuroscience, fizică, precum și
domeniile tehnologiei și ingineriei, cum ar fi prelucrarea imaginilor, procesarea semnalelor,
teoria informațiilor, știința calculatoarelor, criptografia și telecomunicațiile.
Un lanț Markov este un model stochastic care descrie o succesiune de posibile evenimente în
care probabilitatea fiecărui eveniment depinde numai de starea atinsă în precedentul eveniment.

2. Lanţuri Markov
Pentru un lanţ Markov, procesul stohastic poate fi descris prin secvenţa de stări discrete pe
care pe care o parcurge sistemul: X(1), X(2), ....X(k)... unde X(k) reprezintă starea sistemului
după k paşi (X(k) este numită variabilă aleatoare discretă), iar k este argumentul şi reprezintă
momentele discrete de timp la care pot avea loc tranziţiile dintr-o stare în alta. Se consideră un
sistem care poate avea un număr finit de stări Si, i=1...n, adică X (k ) {Si | i  1  n}, k  n .
Se notează cu pi(k) probabilitatea ca sistemul să se afle în starea Si după exact k paşi şi cu pij
probabilitatea ca de trecere din starea i în starea j (SiSj). Toate probabilităţile se reunesc într-o
matrice de tranziţie patrată nn, P  ( pij )i, j 1...n , suma elementelor pe fiecare linie e 1.
 
 p11 p12 ... p1n 
 
P   p21 p22 ... p2 n 
... ... ... 
 
 pn1 pn 2 ... pnn 

Probabilitatea ca sistemul să parcurgă un anumit şir de stări este data de probilitatea


producerii unui şir de evenimente independente, Si0, Si1, ..., Sij adică
P{X (0)  Si 0 , X (1)  Si1,..., X ( j )  Sij}  pi 0 (0)  pi 0i1  pi 0i 2  ...  pijij
Un lanţ Markov este convenabil să fie reprezentat sub forma unui graf orientat, în care
nodurile reprezintă stările sistemului, iar arcele reprezintă tranziţiile posibile de la o stare la alta.

 Două stări: ’Ploaie’ şi ’Uscat’


 Matricea de tranziţie este dată de probabilităţile de tranziţie: P(’Ploaie’|’Ploaie’)=0.3,
P(’Uscat’|’Ploaie’)=0.7, P(’Ploaie’|’Uscat’)=0.2, P(’Uscat’|’Uscat’)=0.8.

Ploaie Uscat
Ploaie 0.3 0.7

Uscat 0.2 0.8

 Probabilităţile iniţiale, să spunem P(‘Ploaie’)=0.4 , P(‘Uscat’)=0.6 (Pot fi şi alte


valori, de exemplu (1.0, 0.0)) .

Calcularea unei probabilităţii de producere a unei secvenţe


Pe baza proprietăţii lanţului Markov, probabilitatea de producere a unei secvenţe poate fi găsită
pe baza formulei

De exemplu, să presupunem că vrem să calculăm probabilitatea unei secenţe de stări în condiţiile


grafului orientat de mai sus S = {‘Uscat’, ‘Uscat’, ‘Ploaie’, ‘Ploaie’}.

P({‘Uscat’, ‘Uscat’, ‘Ploaie’, ‘Ploaie’})=


P(‘Ploaie’|‘Ploaie’)P(‘Ploaie’|‘Uscat’)P(‘Uscat’|‘Uscat’)P(‘Uscat’)=
0.30.20.80.6=0.0288
Reamintim câteva formule importante pentru calculul probabilităţilor (discrete) pentru două
evenimente aleatoare A şi B:
P( A  B)  P( A)  P( B)  P( A  B)

P( A )  1  P( A)

Dacă două evenimente sunt independente P( A  B)  P( A)  P( B) . Teorema lui Bayes afirmă că


probabilitatea condiţionată de a se realiza A ştiind că s-a realizat B este:
P( A  B)
P ( A | B) 
P ( B)

3. Lanţuri Markov Ascunse (HMM – Hidden Markov Models)


În modelul Markov o stare corespunde unui eveniment observabil. Să considerăm observaţia
ca ofuncţie probabilistică de stare. Modelul este al unui proces stochastic pe două nivele, dintre
care unul nu este direct observabil, ci poate observat doar printr-un alt set de procese stochastice
care produc şirul de observaţii.
Stări ascunse: toate stările sistemului care pot fi descrise printr-un proces Markov
Stări observabile: stările sistemului care sunt ‘vizibile‘

Un proces HMM este descris de:

 Un set de stări {s1, s2, ..., sN}, N – numărul de stări


 Procesul de tranziţie dintr-o stare în alta se face prin generarea unei secvenţe de stări
si1, si2, ..., sik, ...
 Se aplică proprietatea lanţului Markov: probabilitatea de tranziţie în starea următoare
depinde numai de ceea ce caracterizează starea precedentă
P(sik| si1, si2, ..., sik-1)= P(sik| sik-1)
 Stările nu sunt vizibile dar fiecare stare generează aleator una din cele M observaţii
(sau stări vizibile) {v1, v2, ...,vM}
 Pentru a defini un model Markov ascuns, M = (A,B,) este necesar să definim
următoarele probabilităţi:
 matricea de tranziţie a probabilităţilor A =(aij), aij = P(si|sj);
 matricea de observaţie a probabilităţilor B = (bi(vm)), bi(vm) = P(vm|si)
 un vector de probabilităţi iniţiale  = (i), i = P(si)

Exemplu:

 Două stări:presiune atmosferică ‘nivel scăzut‘ şi ‘nivel ridicat‘cu notaţiile ‘L‘ şi ‘H‘,
din engleză Low şi High
 Două observaţii: ‘Ploaie‘ şi ‘Uscat‘ cu notaţiile ‘R‘ şi ‘D‘, din engleză Rain şi Dry
 Probabilităţi de tranziţie P(‘L‘ |‘L‘) = 0.3, P(‘H‘ |‘L‘) = 0.7, P(‘L‘ |‘H‘) = 0.2,
P(‘H‘ |‘H‘) = 0.8
 Probabilităţi de observaţie: P(‘R‘ |‘L‘) = 0.6, P(‘D‘ |‘L‘) = 0.4, P(‘R‘ |‘H‘) = 0.4,
P(‘D‘ |‘H‘) = 0.6.
 Probabilităţi iniţiale: P(‘L‘)= 0.4 şi P(‘H‘) = 0.6.

Să presupunem că dorim să calculăm probabilitatea unei secvenţe de observaţii {‘R’, ‘D’}.


Se consideră toate secvenţele posibile din stările ascunse:
P({‘D’, ‘R’}) = P({‘D’, ‘R’}, {‘L‘,‘L‘})+ P({‘D’, ‘R’}, {‘L‘,‘H‘})+
P({‘D’, ‘R’}, {‘H ‘,‘L ‘})+ P({‘D’, ‘R’}, {‘H ‘,‘H ‘})

În total, în partea dreaptă sunt patru termeni, şi pentru primul calculul este:

P({‘D’, ‘R’}, {‘L‘,‘L‘})=P({‘D’, ‘R’}|{‘L‘,‘L‘})P({‘L‘,‘L ‘})=P(‘D’|‘L‘)


P(‘R’|‘L‘)P(‘L‘)P(‘L‘|‘L‘)=0.40.60.40.3=0.0288

Principalele problematici HMM sunt


 Probleme evaluării. Fiind dat un HMM, M=(A, B, ) şi o secvenţă de observaţii
O=o1o2...ok, să se calculeze probabilitatea ca modelul M să genereze secvenţa O.
 Problema decodării. Fiind dat un HMM, M=(A, B, ) şi o secvenţă de observaţii
O=o1o2...ok, să se calculeze secvenţa de stări ascunse Si cea mai probabilă care produce
această secvenţă de observaţii O.
 Problema învăţării. Fiind dată o secvenţă de observaţii de învăţare (antrenare)
O=o1o2...ok şi o structură generală de HMM (cu un număr de stări ascunse şi un număr de
stări vizibile) se se determine parametrii HMM, M=(A, B, ) care se potrivesc cel mai
bine cu datele de antrenare.

O=o1o2...ok este notaţia pentru o secvenţă de observaţii ok{v1, v2, ..., vM}

Algoritmi utilzaţi în bioinformatică


 Drumul cel mai probabil – Algoritmul Viterbi
 Învăţare parametri – Algoritmul Baum-Welch (seamănă cu algoritmul distanţei minime de
editare – minimum distance edit)

Computational Gene Finding using HMMs, GENSCAN web server at MIT


Exemplu 1, Lanţ Markov

P(cggt) = P(c)P(g|c)P(g|g)P(t|g)

Exemplul 2:
În chimie, metilarea reprezintă procesul chimic de adiție a unei grupe alchilice de tip metil la un
substrat sau de substituție a unui atom sau grupe de atomi cu o grupă metil. Metilarea este un tip
particular de alchilare, fiind cel mai simplu proces de acest tip.
Dinucleotidele CG sunt mai rare în genomul eucariot decât se așteaptă având în vedere
probabilitățile independente ale C, G
Descoperirea de Insule CpG în secvenţe genetice este o problemă de rezolvat.
La mamifere, regiunile bogate în dinucleotide CpG sunt numite insule CpG; în genomul uman
cel puțin 60% din regiunile promotoare ale genelor care codifică proteine sunt asociate cu o
insulă CpG.
Studiul insulelor CpG in secvenţele ADN; estimarea maximului Likelihood a parametrilor
folosind date reale („+”-creştere, „-„-descreştere)

Cel mai probabil drum, Algoritm Viterbi.


Exemplu 3, HMM

Un posibil model HMM pentru proteina ACCY, proteină reprezentată ca o secvenţă de


probabilităţi. Numerele din dreptunghiuri arată probabilitatea ca un aminoacid să se afle într-o
stare particulară şi numărul de pe un arc orientat arată probabilitatea cu care este conectată
starea- Probabilitatea ACCY este arătată pe model. Cele trei tipuri de stări sunt reprezentate de:
stări de potrivire, amino-acizii emişi de ele formează structura primară conservată a proteinei şi
sunt aceiaşi ca în strămoşii comuni sau dacă nu, sunt rezultat al substituţiilor (pătrate); stări de
inserţie, care emit amino-acizii ce rezultă din inserţii (romburi); stări de tăcere, cunoscute ca
stări de ştergere, şi modele de ştergere (cercuri).

Probabilitatea de a parcurge calea de mai sus este dată de:


P = .4  .3  .46  .6  .97  .5 .015  .73 .01  1 = 1.76x10-6.

4. HMM, algoritm Viterbi de aliniere a unei perechi de secvențe (alinere locală)


Să analizăm mai întâi automatul cu un număr finit de stări utilizabil la alinierea perechilor de
secvențe cu penalitate pentru gap-uri. Se folosesc trei stări, M corespunzătoare la o potrivire și
două stări corespunzătoare inserțiilor, pe care le numim X și Y așa cum se arată în figură.

Stări „ascunse”
 Potrivire - match (M)
 Inserare în x (X)
 Inserare în y (Y)
Se notează d penalizare de gap, e – penalizare exitinsa de gap (cumva mai mică decât d,
permițând ca inserțiile și stergerile lungi să fie mai puțin penalizate decât gap/urile deschise d),
(g)=-d-(g-1)∙e, g- număr de gap-uri.

În figură în stânga este automatul iar în dreapta modelul probabilistic. δ = probabilitatea pentru
primul gap,  = probabilitatea pentru gap-ul extins.
Probabilități de emisie

, inițializare
Versiunea completă a modelului este

Se introduce o nouă probabilitate, , probabilitatea de a ajunge în starea de terminare a


algoritmului, End. Desigur că este introdusă în acest caz și o stare se start, Begin.
Exemplul 2: Studiul insulelor CpG in secvenţele ADN; estimarea maximului Likelihood a
parametrilor folosind date reale („+”-creştere, „-„-descreştere)

Pentru găsirea celei mai bune secvențe, se păstrează pointeri și matricea de drum invers, ca și în
algoritmii de alinere a secvenței local și global.
Exemplul 8: Se consideră secvenţele: S1=HEAGAWGHEE, S2=PAWHEAE. Să se determine o
aliniere optimă a acestor secvenţe.
În urma studiilor de laborator şi a altor algoritmi de aliniere globală sau locală se cunosc 6 tipuri
de aliniere. Ne punem întrebarea care din acestă varintă este optimă?

Folosind metoda HMM obţinem următoarea aliniere globală:

Obţinută în urma studiere după cele 3 direcţii:


Exemplul 9: Folosirea mediului de programare Matlab în alinierea genei pf00002
'7 transmembrane receptor (Secretin family)' folosind HMM:
Folosind matricea BLOSUM30 obţinem un scor de aliniere:
sc_aa_affine = 82
https://www.mathworks.com/help/bioinfo/examples/using-hmms-for-profile-analysis-of-a-protein-family.html

Motivații

 Secvențele biologice funcționale apar în familii.


 Evoluția și împărțirea in specii  secvențele primare diver una față de cealaltă
 Cu toate acestea, ele mențin aceeași structură/funcție similară  secvențe omoloage

S-ar putea să vă placă și