Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEQUENZE BIOLOGICHE
TRAMITE MODELLI DI
MARKOV NASCOSTI
1. INTRODUZIONE
La bioinformatica sta emergendo come una
disciplina alla frontiera tra la biologia e
linformatica: in questo ambiente, caratterizzato dalla presenza di grandi quantit di dati
rumorosi e dallassenza di teorie generali per
la loro analisi, lidea fondamentale di imparare la teoria automaticamente dai dati. Infatti, la maggior parte dei dati biologici riguardanti gli acidi nucleici e le proteine sono sotto
forma di sequenze biologiche. Una caratteristica fondamentale di tali sequenze che possono essere descritte come stringhe di simboli
scelti da un alfabeto di piccole dimensioni. Il
rumore presente in ambito biologico si ripercuote in questo modello e gli algoritmi di addestramento ne devono tenere conto. Pertanto,
tra i vari paradigmi di apprendimento,
lambiente di lavoro probabilistico appare essere il pi promettente per questa tipologia di
dati fornendo una solida base teorica ai metodi di apprendimento automatico. In questo
contributo sar presentata una tecnica basata
su un ambiente bayesiano per lallineamento
delle sequenze.
programmazione dinamica [2,3]: la complessit di tale tecnica, detto K il numero di sequenze da allineare ed N la lunghezza media
delle sequenze, dellordine di O(NK). Gli algoritmi qui illustrati hanno invece una complessit di O(KN2). La programmazione dinamica utilizza una matrice di sostituzione
per misurare lallineamento delle sequenze
che stabilisce un insieme di costi sij per la sostituzione di una lettera dellalfabeto con
unaltra. Date quindi due sequenze X1,,XN e
Y1,,YM che si sono evolute nel tempo,
lallineamento consiste nel minimizzare un
certo costo indotto dalla matrice di sostituzione. Saranno qui illustrate altre tecniche per
misurare lallineamento.
3. IL MODELLO DI MARKOV
Un modello di Markov nascosto o HMM [1,2]
discreto del 1 ordine definito da:
un insieme finito di stati S
un alfabeto discreto di simboli A
una matrice delle probabilit di transizione
T = (P(i | j))
una matrice delle probabilit di emissione
E = (P(X | i))
dove P(i | j) indica la probabilit di transizione dal nodo j verso il nodo i e P(X | i) indica
la probabilit che il nodo i emetta il simbolo
X. La scelta di unarchitettura per lHMM dipende fortemente dal problema. Nel caso di
sequenze biologiche, laspetto lineare delle
sequenze ben rappresentato dalla cosiddetta
architettura left-right [1].
2. LALLINEAMENTO
Lallineamento un metodo per riuscire a trovare caratteristiche funzionali o strutturali comuni ad un insieme di sequenze biologiche: lo
scopo di determinare quando le similarit
sono sufficientemente grandi, in modo da inferire una certa somiglianza strutturale o funzionale delle sequenze. La misura di quanto
due sequenze sono allineate non la stessa attraverso lintero dominio delle sequenze e le
corrispondenze prodotte dagli algoritmi di allineamento dipendono da vari fattori. I classici algoritmi di allineamento sono basati sulla
Start
t =1
P( S , | w)
(i, t ) = P( N t = i, S1 ,..., S t 1 | w)
dove Nt = i indica levento di trovarsi nel nodo i al tempo t, mentre S1,,St -1 indicano i
simboli della sequenza al tempo 1,,t - 1. Si
pu osservare che:
P ( S | w) = ( End , T + 1).
Il generico elemento (i, t) pu essere calcolato ricorsivamente nel seguente modo, distinguendo i nodi di emissione da quelli di
cancellazione:
( j , t ) P (i | j ) se i D
jG ( i )
( j, t ) P( j | i)
jF ( i ) D
P( S , | w) = P( j | i ) P(S t | i )
P ( S | w) =
( j , t + 1) P( j | i ) P ( S t | j ) +
jF ( i ) E
( j , t 1) P (i | j ) P( S t 1 | i ) se i E
jG ( i )
dove E indica linsieme di tutti i nodi di emissione, D quello dei nodi di cancellazione, G(i)
linsieme dei genitori del nodo i. Definiamo
adesso la probabilit (i, t) di aver osservato i
simboli della sequenza da St a ST dato lo stato
(i, t ) = max P ( (i , t ) | w)
( i ,t )
3.2.2. EM
Questo algoritmo si propone di adattare il
modello allinsieme di sequenze considerato,
massimizzando una certa funzione di energia.
un algoritmo di tipo batch in quanto esegue
laggiornamento ad ogni epoca, dopo aver osservato tutte le sequenze. Il passo di aggiornamento dellalgoritmo comporta la sostituzione di certe probabilit con la loro stima ottenuta massimizzando lenergia libera [1] del
modello:
P ( X | i ) = f ( X , i ) / f (i )
P ( j | i ) = f ( j , i ) / f (i )
dove X un simbolo della sequenza. La complessit dellalgoritmo EM la stessa di quello di discesa lungo il gradiente.
3.2.3. Viterbi
Il precedente algoritmo di discesa lungo il
gradiente utilizza tutti i percorsi relativi ad
una sequenza per laggiornamento. Lidea generale dellalgoritmo di Viterbi sostituire i
calcoli relativi a tutti i percorsi con altri che
riguardano solo un piccolo numero di percorsi, tipicamente uno solo [1]. In questa versione dellalgoritmo, si ignorano tutti i percorsi
tranne il pi probabile: viene dunque sfruttata
solo parte dellinformazione disponibile. Apportando le opportune modifiche, lalgoritmo
di aggiornamento lo stesso del gradiente, ma
dovremmo verificare un peggiore allineamento.
4. RISULTATI E TEST
Per poter misurare quanto allineato un insieme di sequenze, definiamo innanzitutto
delle metriche che quantifichino il concetto di
allineamento. Confronteremo poi i vari algoritmi di apprendimento su un insieme di sequenze di proteine, con particolare riguardo al
problema della generalizzazione.
w ji = ( f ( j , i ) f (i ) P( j | i ) )
dove indica il tasso di apprendimento o learning rate. La complessit di questo algoritmo dellordine di O(N). Concludendo,
interessante chiedersi se non si possa utilizzare una misura o un insieme di misure che
prescindano dalla natura delle sequenze trattate: daltra parte chiunque ha unidea di allineamento e quindi vogliamo capire come tradurre in numero questo concetto. Per questo, abbiamo introdotto alcuni criteri per pesare le
caratteristiche risultanti dallallineamento e
definito la misura come la media della somma
di tali pesi.
Misura A. Una prima possibilit di contare
in ogni colonna come si ripartiscono in percentuale i vari simboli dellalfabeto. In questo
modo possiamo dividere in due classi le colonne prodotte dellallineamento: quelle allineate e quelle non allineate, dove si considerano allineate tutte quelle colonne in cui esiste
un simbolo X che appare con una percentuale
molto elevata, per esempio il 95%. Questo
perch alla comune esperienza appare ragionevole chiamare allineata una colonna in cui
compare sempre lo stesso simbolo. In genere
si dir che una colonna allineata al tot% se
esiste un simbolo che compare almeno con
quella frequenza.
Misura B. La precedente suddivisione tuttavia abbastanza drastica: si potrebbe pensare
che esistano casi in cui questo numero sempre 0 perch le colonne sono allineate al 94%.
Perci appare naturale definire una seconda
misura che tenga conto di questa sfumatura.
Perci utile considerare un criterio che a colonne meno allineate faccia corrispondere pesi
pi piccoli fino ad una certa soglia minima di
allineamento sotto la quale il peso nullo. Nei
nostri esperimenti abbiamo adottato come soglia minima l80% ed assegnato i seguenti valori: 0,25 se la colonna allineata ad un valore compreso tra 80% e 90%; 0,5 se compreso tra 90% e 95%; 1 se compreso tra 95% e
100%. Sotto lo 80% possiamo ragionevolmente affermare che la colonna non affatto
allineata in quanto su 5 simboli ce ne uno
differente.
Misura C. Unaltra possibilit per misurare
lallineamento di fare riferimento ad una sequenza reale se nota oppure ad una verosimile, cos definita rispetto ad un insieme di se
Per ognuna di queste misure inoltre interessante considerare, oltre al valore medio, anche
il valore massimo ed il numero di sequenze
comprese tra la (media + massimo) / 2 ed il
massimo che rappresentano il numero di sequenze che non sono state allineate, qualora la
differenza tra massimo e media sia rilevante;
altrimenti un numero abbastanza casuale.
120,000
AAACTGTTGGGCCCC
AAACTTTGTTGGCCCC
AAACTTTGGGCCACC
AACTTTGGGCCCC
AAACTTTGTTGGGCCCC
AAACTTTGGAAGCCACC
AATGACTTTGGGCCCC
AAACTTTGGGCCCC
AAACTTTGACGGCCCC
AACACTTTGGGCCCC
AACTTTGGCCC
AAACTTTGGGCGGCCC
AGAACTTTGGGCCCC
AAACTTTGGGCCATGCC
AAACTATTGGGCCCC
AAACTTTGGGCCCC
AAAGCTTTGGGCCCC
A A A CTgTTG G G C
CC
C
A A A CT TTGttG G C
CC
C
A A A CT TTG G G C
CA
Cc
A Ac
T TTG G G C
CC
C
A A A CT TTGttG GGC
CC
C
A A A CT TTG GaaG C
CA
Cc
A AtgA CT TTG G G C
CC
C
A A A CT TTG G G C
CC
C
A A A CT TTGacG G C
CC
C
A Ac A CT TTG G G C
CC
C
A Ac
T TTG G
C
CC
A A A CT TTG G G Cggcc
C
AgA A CT TTG G G C
CC
C
A A A CT TTG G G C
CAtgcC
A A A CTaTTG G G C
CC
C
A A A CT TTG G G C
CC
C
A A AgCT TTG G G C
CC
C
AAACTTTGGGCCCC
AAACTTTGGGCCCC
AAATCTTGGGCCCC
AAACTTTGGGCCCC
A
A
A
A
A
A
A
A
A CT
A CT
AtCT
A CT
TTG
TTG
T G
TTG
G
G
G
G
G
G
G
G
C
C
C
C
CC
CC
CC
CC
100,000
80,000
60,000
40,000
20,000
0,000
Media
57,283
52,232
50,784
Massimo
101,235
97,235
95,824
Seq.max
19,471
10,588
11,706
Numero di epoche
C
C
C
C
35,000
30,000
25,000
20,000
0.150
10,000
5,000
0,000
6,498
6,938
25,735
30,794
31,000
Seq.max
19,000
9,706
10,647
Numero di epoche
0.100
6,000
4,000
Gradiente
0.105
0.092
0.076
Gradiente
0.123
0.118
0.106
Viterbi
0.167
0.115
0.087
Viterbi
0.128
0.129
0.121
Numerodi epoche
1
5,563
Massimo
Media
0.120
0.115
0.110
0.105
0.100
0.050
15,000
0.135
0.130
0.125
0.200
2,000
0,000
Numerodi epoche
N.col.all.
1,824
2,706
3,118
Mis.col.all.
4,706
6,588
7,500
Numerodi epoche
0,6000
0,0800
0,5500
0,0700
0,5000
0,0600
0,4500
0,0500
0,4000
0,0400
0,0300
0,3500
0,3000
0.100
3,50%
2,50%
0.060
2,00%
0.040
1,50%
1,00%
0.020
0,50%
0,00%
0.080
3,00%
0.000
Gradiente
2,87%
3,58%
3,75%
Gradiente
0.059
0.078
0.090
Viterbi
0,48%
1,41%
1,31%
Viterbi
0.024
0.046
0.048
Numero di Epoche
Numero di epoche
65,0
9,0
60,0
8,0
55,0
7,0
50,0
6,0
45,0
40,0
5,0
4,0
Gradiente
53,5
48,7
46,9
Gradiente
6,4
7,1
7,9
Viterbi
60,7
62,3
61,0
Viterbi
4,8
6,7
6,8
Numero di epoche
Numero di epoche
0,5796
0,5035
0,4618
E.M.
0,0296
0,0417
0,0555
Gradiente
0,4555
0,3952
0,3868
Gradiente
0,0568
0,0730
0,0739
Viterbi
0,4607
0,4610
0,4610
Viterbi
0,0544
0,0510
0,0510
0.080
3.00%
2.50%
0.060
2.00%
0.040
1.50%
1.00%
0.020
0.50%
0.00%
0.000
1
E.M.
0.52%
0.69%
2.07%
Gradiente
1.87%
3.30%
Viterbi
2.16%
2.73%
Numero di epoche
Numero di epoche
E.M.
0.009
0.024
0.047
3.59%
Gradiente
0.050
0.082
0.086
2.73%
Viterbi
0.057
0.059
0.059
0.100
3.50%
E.M.
BIBLIOGRAFIA
4.00%
5. CONCLUSIONI
0,0200
Numero di epoche
4,00%
Numero di Epoche