G - Dipartimento di Matematica e Informatica

Download Report

Transcript G - Dipartimento di Matematica e Informatica

Bioinformatica
Corso di Laurea Specialistica in Informatica
Analisi della
struttura dell’RNA
27/04/2011
Analisi della struttura dell’RNA
• La struttura dell’RNA
• Struttura dell’RNA mediante analisi
comparativa
• Predizione della struttura secondaria:
L’algoritmo di Nussinov
• Predizione della struttura secondaria:
Minimizzazione dell’energia
• Un tool per la predizione della struttura
secondaria: Mfold
L'RNA
• L’RNA (Acido Ribonucleico) è un polimero
organico costituito da ribonucleotidi.
• E’ sintetizzato da enzimi detti RNA polimerasi,
solitamente sulla base di uno stampo di DNA.
• Esistono diversi tipi di RNA, ognuno dei quali
svolge una determinata funzione.
• L’mRNA (RNA Messaggero) trasporta
l’informazione per la sintesi delle proteine dal
nucleo al citoplasma. L’informazione principale
sta nella sua sequenza, ma studi recenti hanno
rivelato l’importanza della sua struttura nella
regolazione dell’espressione genica.
tRNA
• I tRNA (RNA Transfer) sono
in grado di riconoscere i
codoni nelle sequenze di
mRNA e di trasportare gli
aminoacidi corrispondenti
nei ribosomi, durante la
sintesi proteica.
• La loro struttura secondaria
è ben determinata ed è
fondamentale per la loro
funzione.
rRNA e ribozimi
• L’rRNA (RNA Ribosomiale) è un
costituente dei ribosomi ed ha funzione
catalitica assieme alle proteine
ribosomiali.
• Gli RNA con funzione di catalizzatore
sono generalmente chiamati Ribozimi
(RNA-Enzimi) e tale funzione gli viene
conferita dalla loro struttura
tridimensionale.
• Quindi questo tipo di RNA sono simili
alle proteine, in quanto devono
assumere una struttura particolare per
poter svolgere la loro funzione.
• Data la loro capacità di immagazzinare
informazione e di partecipare alle
reazioni chimiche, gli RNA sono
considerati tra le molecole più antiche,
ancor più di DNA e proteine.
Il Backbone dell’RNA
• La catena di RNA ha un backbone
(scheletro) formato da gruppi
zucchero-fosfato aventi come
catene laterali le basi Adenina
(A), Guanina (G), Citosina (C) e
Uracile (U).
• Le catene di RNA hanno
lunghezza che varia solitamente
tra le 100 e le 10000 basi, molto
inferiore quindi a quella del DNA.
• Esistono RNA a doppio e a singolo
filamento; questi ultimi sono
particolarmente interessanti, data
la loro capacità di assumere
strutture tridimensionali anche
molto complesse.
L’appaiamento delle basi
• Appaiamenti canonici di Watson-Crick
– Legami idrogeno A=U e GC
• Wobbles
– Legami idrogeno G=U (virtualmente stabili come A=U)
I Wobble G=U
• I legami G=U introducono una deformazione nella
struttura dell’RNA. Tale deformazione produce un
adattamento della struttura che promuove l’attività
catalitica.
• Esperimenti effettuati su molecole di tRNA, mostrano
come i legami G=U siano indispensabili per lo
svolgimento della funzione.
• Infatti, la “correzione” di tali appaiamenti ad
appaiamenti canonici di W/C, inattiva il tRNA
impedendogli di funzionare correttamente.
• Le coppie G=U sono meno stabili delle coppie
canoniche e questo rende le molecole più reattive.
La struttura secondaria dell’RNA
• Si definisce struttura secondaria di una molecola di RNA il
preciso ripiegamento bidimensionale adottato in seguito
alla formazione di legami idrogeno tra coppie di basi
complementari.
• La struttura secondaria dell’RNA è considerata come una
combinazione di diversi elementi strutturali, ciascuno dei
quali contribuisce in modo indipendente all’energia libera
della struttura complessiva.
• La struttura secondaria di una molecola di RNA è definita
come l’insieme di appaiamenti di basi, sij, tra i nucleotidi i
e j, sempre con i<j.
• Per una coppia di basi (i,j) si ha sempre j-i>3, ovvero ci
sono sempre tre basi tra una coppia di basi appaiate.
Questo perché lo scheletro dell’RNA non può ripiegarsi e
tornare indietro in meno di 3 basi.
La struttura secondaria dell’RNA
La struttura secondaria dell’RNA
• Due coppie di basi (i,j) e (h,k) con i<h
possono essere:
– Annidate, se i<h<k<j
– Non correlate, se i<j<h<k
– Collegate, se i<h<j<k
• Due coppie di basi collegate formano uno
collegamento incrociato detto pseudoknot:
La struttura secondaria dell’RNA
• Una struttura secondaria di RNA è un insieme di
coppie di basi annidate o non correlate, privo quindi
di basi collegate (pseudoknot).
• Quindi una struttura secondaria di RNA può essere
rappresentata mediante un grafo lineare senza
intersezioni tra archi:
• Ovviamente non tutti gli
insiemi di coppie di basi
rappresentano una struttura
secondaria valida dal punto di
vista dei vincoli chimico-fisici.
Elementi strutturali
• Oltre alle regioni duplex (a doppio filamento) dette
stem, gli elementi base della struttura di un RNA
sono:
–
–
–
–
–
–
Regioni a singolo filamento
Hairpins (forcine)
Bulge loops (protuberanze)
Mismatch
Internal loops
Giunzioni
Le regioni “single-stranded”
• Le regioni a singolo filamento consistono di
nucleotidi non appaiati, alle estremità 5’ o 3’
della molecola o tra regioni “duplex” della
struttura secondaria.
Hairpins
• Una forcina consiste in un
duplex collegato da un loop.
• Gli hairpin sono spesso siti di
legame per le proteine e
sono coinvolti nelle strutture
terziarie di RNA.
• La dimensione minima di un
loop è di 3 basi, ma i loop di
4 o 5 nucleotidi sono i più
stabili.
• E’ possibile avere loop anche
molto grandi.
Bulge loops
• Una protuberanza consiste di nucleotidi non
appaiati su un filamento di un duplex nel
quale il filamento opposto ha tutti i
nucleotidi appaiati.
• I bulge loops creano delle pieghe nella
struttura della doppia elica del duplex, che
dipendono dal tipo di nucleotidi coinvolti e
da quelli nelle immediate vicinanze.
• La distorsione introdotta dalle protuberanze
può estendersi alle regioni duplex vicine.
Mismatches
• I mismatch consistono di due nucleotidi che
non possono formare un legame canonico ma
che instaurano un qualche tipo di legame o
formano un loop di due nucleotidi (si
“respingono”).
• I wobble G=U possono essere classificati
come dei “mismatch”. Tuttavia le
deformazioni introdotte da tali legami non
formano pieghe significative nello scheletro.
Internal loops
• I loop interni contengono 3 o più
nucleotidi che non sono in grado di
formare legami di W/C e contengono
almeno un nucleotide spaiato su ciascun
filamento.
• I loop possono chiudersi instaurando
legami non canonici o restare aperti,
permettendo la formazione di interazioni
terziarie con altre parti della molecola.
• I loop possono essere simmetrici o
asimmetrici; questi ultimi sono
termodinamicamente meno stabili.
Giunzioni
• Le giunzioni contengono 3 o più
regioni duplex con un numero
variabile di nucleotidi spaiati che
congiungono le eliche.
• I nucleotidi spaiati nelle
giunzioni controllano i legami tra
le eliche e determinano la
struttura tridimensionale della
molecola.
Rappresentazione a parentesi
• La struttura secondaria di RNA può essere
rappresentata attraverso stringhe
nell’alfabeto {(, ., )}:
• Nel caso evidenziato si avrà:
UCCUAACAAGAGGA
((((......))))
Rappresentazione a parentesi
• Sia dato:
UCCUAACAAGAGGA
((((......))))
• Ogni parentesi aperta corrisponde ad una
parentesi chiusa, secondo una logica a
“stack”. Le parentesi più interne si chiudono
prima di quelle più esterne.
• La parentesi relativa alla quarta base U si
chiude con la parentesi relativa alla
quart’ultima base C, e così via.
• I punti indicano nucleotidi non appaiati.
Analisi della struttura dell’RNA
• La struttura dell’RNA
• Struttura dell’RNA mediante analisi
comparativa
• Predizione della struttura secondaria:
L’algoritmo di Nussinov
• Predizione della struttura secondaria:
Minimizzazione dell’energia
• Un tool per la predizione della struttura
secondaria: Mfold
L’Evoluzione dell’RNA è vincolata dalla
struttura
• Molti RNA omologhi possiedono strutture simili senza
tuttavia condividere una similarità di sequenza
significativa.
• Cambiamenti nella sequenza sono spesso tollerati
purché delle mutazioni compensatorie mantengano
la complementarietà delle basi appaiate.
• La struttura rappresentata in figura
è il consenso di un sito di legame
per una proteina del fago R17.
• Nella struttura rappresentata in
figura, solo 4 nucleotidi sono
specificati e 2 di essi sono
degenerati (R = Purina, Y =
Pirimidina).
L’Evoluzione dell’RNA è vincolata dalla
struttura (2)
• Se volessimo ricercare tale regione in sequenze
nucleotidiche, non avrebbe senso utilizzare un
metodo di allineamento di sequenze standard.
• Se cercassimo infatti la sequenza
NNNNNNNRNNANYANNNNNNN
nel genoma del fago MS2 (correlato ad R17)
troveremmo ben 38 corrispondenze!
• Tuttavia, aggiungendo informazioni sulle coppie
appaiate nella struttura secondaria, troveremmo un
solo match, nella regione di legame autentica.
Ricavare la struttura dal confronto di
sequenze
• In un allineamento multiplo di RNA strutturalmente
corretto, le coppie di basi conservate sono spesso
rivelate dalla presenza di mutazioni compensatorie
correlate frequenti.
• E’ pertanto possibile predire in maniera abbastanza
affidabile la struttura secondaria mediante analisi
comparativa di sequenze correlate.
• Le due posizioni evidenziate covariano mantenendo
la complementarietà. Questa covariazione implica
una coppia di basi.
Raffinamenti iterativi
• Ricavare la struttura corretta attraverso analisi
comparativa
richiede
un
allineamento
multiplo
strutturalmente corretto.
• Ma ricavare un allineamento multiplo strutturalmente
corretto richiede la conoscenza della struttura corretta!
• La struttura viene dunque determinata mediante un
processo di raffinamento iterativo.
• Inizialmente viene eseguito un allineamento di sequenze
senza informazioni strutturali e tale allineamento viene
utilizzato per ricavare una struttura.
• Tale struttura viene dunque utilizzata per riallineare le
sequenze e ricavare una nuova struttura.
• Il processo viene iterato finché la struttura si stabilizza.
Analisi della struttura dell’RNA
• La struttura dell’RNA
• Struttura dell’RNA mediante analisi
comparativa
• Predizione della struttura secondaria:
L’algoritmo di Nussinov
• Predizione della struttura secondaria:
Minimizzazione dell’energia
• Un tool per la predizione della struttura
secondaria: Mfold
Predizione della struttura secondaria
dell’RNA
• A partire da una certa sequenza di RNA, si possono
ricavare molte strutture secondarie plausibili, ed il
numero
di
possibili
strutture
cresce
esponenzialmente con la lunghezza della sequenza.
• Una sequenza di sole 200 basi ha circa 1050 possibili
strutture!
• Occorre
dunque
distinguere
tra
strutture
biologicamente corrette e strutture non corrette:
– Attraverso una funzione di scoring che assegni alle
strutture corrette il punteggio più alto;
– Attraverso un algoritmo che permetta di valutare gli
score di tutte le strutture possibili.
L’algoritmo di Nussinov per la
massimizzazione delle coppie di basi
• L’algoritmo di Nussinov è un algoritmo di
programmazione
dinamica
che
determina
la
struttura con il maggior numero di basi appaiate.
• Si tratta di un criterio troppo semplicistico in quanto
non è detto che la struttura reale sia quella con il
maggior numero di basi appaiate, tuttavia questo
algoritmo è alla base di altri algoritmi più sofisticati
di minimizzazione energetica e basati su probabilità.
• L’algoritmo di Nussinov è ricorsivo; esso calcola la
struttura migliore della sequenza in input a partire
dalle strutture migliori di piccole sottosequenze.
L’algoritmo di Nussinov
• L’idea chiave dell’algoritmo è basata sull’osservazione che ci
sono solo 4 possibili modi di ottenere la migliore struttura per
la sequenza i, j a partire dalle migliori strutture delle
sottosequenze più piccole:
– Aggiungi la posizione non appaiata i alla struttura migliore per la
sottosequenza i+1, j;
– Aggiungi la posizione non appaiata j alla struttura migliore per la
sottosequenza i, j-1;
– Aggiungi la coppia i,j alla struttura migliore per la sottosequenza
i+1, j-1;
– Combina due sottostrutture ottimali i, k e k+1, j.
L’algoritmo di Nussinov (2)
• Sia data una sequenza x di lunghezza L x1,
x2, …, xL.
• Si definisce la funzione di scoring (i,j) tale
che (i,j)=1 se xi e xj sono basi
complementari e (i,j)=0 altrimenti.
• Si calcolano ricorsivamente gli score (i,j),
che rappresentano il numero massimo di
coppie di basi possibili per la sottosequenza
xi, …, xj.
L’algoritmo di Nussinov (3)
• Passo iniziale:
 (i, i  1)  0
 (i, i)  0
per i  2...L
per i  1...L
• Passo ricorsivo (a partire dalle sottosequenze
di lunghezza 2 fino ad L):
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
L’algoritmo di Nussinov: Esempio (1)
• Applichiamo l’algoritmo di Nussinov alla sequenza
GGGAAAUCC.
• Consideriamo una matrice LxL, in questo caso 9x9:
G G G A A A U C C
G 0
G 0
0
G
0
A
A
A
U
C
C
0
0
0
0
0
0
0
0
0
0
0
0
0
 (i, i  1)  0
 (i, i)  0
per i  2...L
per i  1...L
L’algoritmo di Nussinov: Esempio (2)
G G G A A A U C C
G 0
0
G 0
0
G
0
A
A
A
U
C
C
0
0
0
0
0
0
0
0
0
0
0
0
0
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
 (2,2)  0
 (1,1)  0

 (1,2)  max
 (2,1)   (1,2)  0
max1 k  2 [ (1, k )   (k  1,2)]  /
L’algoritmo di Nussinov: Esempio (3)
G G G A A A U C C
G 0
0
G 0
0
0
G
0
0
A
A
A
U
C
C
0
0
0
0
0
0
0
0
0
0
0
0
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
 (3,3)  0
 (2,2)  0

 (2,3)  max
 (3,2)   (2,3)  0
max2 k 3 [ (2, k )   (k  1,3)]  /
L’algoritmo di Nussinov: Esempio (4)
G G G A A A U C C
G 0
0
G 0
0
0
G
0
0
0
0
0
0
0
0
0
0
0
1
0
0
A
A
A
U
C
C
0
0
0
0
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
 (7,7)  0
 (6,6)  0

 (6,7)  max
 (7,6)   (6,7)  1
max2 k 3 [ (2, k )   (k  1,3)]  /
L’algoritmo di Nussinov: Esempio (5)
• Gli score per sottosequenze di lunghezza 2:
G G G A A A U C C
G 0
0
G 0
0
0
G
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
A
A
A
U
C
C
L’algoritmo di Nussinov: Esempio (6)
G G G A A A U C C
G 0
0
0
0
G 0
0
0
0
0
G
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
 (5,7)  1
 (4,6)  0

 (5,6)   (4,7)  1

 (4,7)  maxmax4 k 7 [ (4, k )   (k  1,3)] 
max[( (4,5)   (6,7)),

( (4,6)   (7,7))] 

max[0  1,0  0]  1
L’algoritmo di Nussinov: Esempio (7)
G G G A A A U C C
G 0
0
0
0
0
0
1
G 0
0
0
0
0
0
1
2
G
0
0
0
0
0
1
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
 (i  1, j )
 (i, j  1)

 (i, j )  max
 (i  1, j  1)   (i, j )
maxi  k  j [ (i, k )   (k  1, j )]
 (3,8)  2
 (2,7)  1

 (3,7)   (2,8)  2

max2 k 8 [ (2, k )   (k  1,8)] 
max[( (2,3)   (4,8)),
 (2,8)  max
( (2,4)   (5,8)),
( (2,5)   (6,8)),

( (2,6)   (7,8)),
( (2,7)   (8,8))] 

max[1,1,1,0,1]  1
L’algoritmo di Nussinov: Esempio (8)
• Il valore in posizione (1,L), in questo caso (1,9)=3 è lo score
massimo, ovvero il numero di coppie di basi nella struttura col
maggior numero di basi appaiate.
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
• Ci
sono
spesso
diverse
strutture
con
lo
stesso
numero di basi appaiate.
• Per trovarle eseguiamo il
traceback a partire dalla
entry (1,L).
L’algoritmo di Nussinov: Traceback (1)
• Inizializzazione:
– Push (1,L) onto stack (pila);
• Ricorsione
–
Ripeti
finchè lo stack non è
vuoto:
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
L’algoritmo di Nussinov: Traceback (2)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(1,9)=3
L’algoritmo di Nussinov: Traceback (3)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(2,9)=3
(i,j)=(1,9)=3
L’algoritmo di Nussinov: Traceback (4)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(3,8)=2
(i,j)=(2,9)=3
2::G-C::9
L’algoritmo di Nussinov: Traceback (5)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(4,7)=1
(i,j)=(3,8)=2
3::G-C::8
2::G-C::9
L’algoritmo di Nussinov: Traceback (6)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(5,6)=0
(i,j)=(4,7)=1
4::A-U::7
3::G-C::8
2::G-C::9
L’algoritmo di Nussinov: Traceback (7)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(6,6)=0
(i,j)=(5,6)=0
4::A-U::7
3::G-C::8
2::G-C::9
L’algoritmo di Nussinov: Traceback (8)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
(i,j)=(6,6)=0
4::A-U::7
3::G-C::8
2::G-C::9
L’algoritmo di Nussinov: Traceback (9)
• Inizializzazione:
– Push (1,L) onto stack (pila);
G G G A A A U C C
G 0
0
0
0
0
0
1
2
3
G 0
0
0
0
0
0
1
2
3
G
0
0
0
0
0
1
2
2
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
A
A
A
U
C
C
pop (i,j) (Estrai dalla pila)
if i>=j continue;
else if (i+1,j)= (i,j) push(i+1,j)
else if (i,j-1)= (i,j) push(i,j-1);
else if (i+1,j-1)+i,j= (i,j):
record i,j base pair;
push (i+1,j-1);
else for k=i+1 to j-1:
if (i,k)+ (k+1,j)= (i,j):
push (k+1,j);
push (i,k);
break.
5::A A::6
4::A-U::7
3::G-C::8
2::G-C::9
1::G
Analisi della struttura dell’RNA
• La struttura dell’RNA
• Struttura dell’RNA mediante analisi
comparativa
• Predizione della struttura secondaria:
L’algoritmo di Nussinov
• Predizione della struttura secondaria:
Minimizzazione dell’energia
• Un tool per la predizione della struttura
secondaria: Mfold
Folding dell’RNA e minimizzazione
dell’energia libera
• Il folding dell’RNA è determinato dalla biofisica piuttosto
che dal conteggio e dalla massimizzazione delle coppie di
basi.
• La stabilità termodinamica di una molecola di RNA
ripiegata in una particolare struttura secondaria può
essere misurata in termini di Energia Libera G che viene
liberata passando da una molecola lineare a singolo
filamento a una molecola che ha assunto la sua struttura
secondaria più stabile.
• Molecole di RNA di piccole dimensioni si ripiegano con
alta probabilità nella struttura di minima energia, ma non
è noto se molecole di dimensioni maggiori, a causa del
numero elevato di strutture possibili, adottino una
struttura di minimo energetico locale piuttosto che
assoluto.
Folding dell’RNA
• Secondo Tinoco et al., la diminuzione complessiva di
energia libera è pari alla somma dei contributi
indipendenti di ogni motivo elementare presente nella
struttura.
• Quindi, se è noto il valore di energia libera di ogni motivo
elementare di struttura secondaria, è possibile calcolare
con buona approssimazione il valore globale di energia
libera.
• La
diminuzione
di
energia
libera
prodotta
dall’appaiamento delle basi può essere calcolata
sommando i contributi indipendenti di ogni possibile
coppia di basi, G-C, A-U o G-U, dove
GGC< GAU< GGU
Folding dell’RNA
• In realtà è stato osservato che la stabilizzazione
energetica della doppia elica è dovuta in gran
parte alle interazioni delle basi adiacenti impilate
lungo l’asse dell’elica (energia di stacking).
• Per questa ragione, dato che il contributo
energetico di ciascuna coppia di basi dipende
dalla coppia di basi adiacenti, la diminuzione di
energia
libera
può
essere
stabilita
più
correttamente per ciascuna combinazione di
coppie di paia di basi.
• In questo modo l’energia libera di uno stem di N
basi può essere calcolato dalla somma dei
contributi delle N-1 coppie di basi appaiate.
Tabelle di Freier dei contributi energetici
• Stacking
5’-
GU
AU
UA
CG
GC
GU
-0,5
-0,5
-0,7
-1,5
-1,3
AU
-0,5
-0,9
-1,1
-1,8
-2,3
UA
-0,7
-0,9
-0,9
-1,7
-2,1
CG
-1,9
-2,1
-2,3
-2,9
-3,4
GC
-1,5
-1,7
-1,8
-2
-2,9
3’-
• Bulge loop (in funzione della lunghezza)
1
2
3
4
5
6
7
8
9
10
12
14
16
18
20
25
30
3,2
5,2
6
6,7
7,4
8,2
9,1
10
10,5
11
11,8
12,5
13
13,6
14
15
15,8
Tabelle di Freier dei contributi energetici
• Hairpin loop (in funzione della lunghezza)
Closing
1
2
3
4
5
6
7
8
9
10
12
14
16
18
20
25
CG
99,9
99,9
7,4
5,9
4,4
4,3
4,1
4,1
4,2
4,3
4,9
5,6
6,1
6,7
7,1
8,1
AU
99,9
99,9
7,4
5,9
4,4
4,3
4,1
4,1
4,2
4,3
4,9
5,6
6,1
6,7
7,1
8,1
• Internal loop (in funzione della lunghezza)
Closing
1
2
3
4
5
6
7
8
9
10
12
14
16
18
20
25
CG-CG
99,9
0,8
1,3
1,7
2,1
2,5
2,6
2,8
3,1
3,6
4,4
5,1
5,6
6,2
6,6
7,6
CG-AU
99,9
0,8
1,3
1,7
2,1
2,5
2,6
2,8
3,1
3,6
4,4
5,1
5,6
6,2
6,6
7,6
AU-AU
99,9
0,8
1,3
1,7
2,1
2,5
2,6
2,8
3,1
3,6
4,4
5,1
5,6
6,2
6,6
7,6
Gli appaiamenti “closing” sono quelli alla base del loop.
Calcolo dell’energia libera
• Utilizzando i valori riportati nelle tabelle di Freier,
calcoliamo l’energia libera della struttura in figura,
relativa alla sequenza:
5’- AAGAUGCUACGGUGAAGCAUCA -3’
G = GGC/AU + GAU/UA + GUA/GC + GGC/CG + GCG/UA
+ Ghairpin_loop = (-2,3) + (-0,9) + (-1,8) + (-3,4) + (-1,7) +
4,1 = -6.0 Kcal/mol
L’algoritmo di Zuker ed Mfold
• La struttura a minima energia può essere calcolata
ricorsivamente mediante l’algoritmo di Zuker, un
algoritmo di programmazione dinamica molto simile
a quello di Nussinov.
• Una variante efficiente dell’algoritmo di Zuker è
implementata all’interno del pacchetto Mfold,
disponibile su web e in versione scaricabile per l’uso
locale.
• Data una sequenza di RNA, Mfold restituisce le
strutture secondarie a minima energia più probabili,
dato che la struttura biologicamente corretta è di
solito sub-ottimale, piuttosto che quella a minima
energia.
Analisi della struttura dell’RNA
• La struttura dell’RNA
• Struttura dell’RNA mediante analisi
comparativa
• Predizione della struttura secondaria:
L’algoritmo di Nussinov
• Predizione della struttura secondaria:
Minimizzazione dell’energia
• Un tool per la predizione della struttura
secondaria: Mfold
Mfold
• Il
tool
Mfold
è
disponibile
all’indirizzo:
http://frontend.bioinfo.rpi.edu/applications/mfold/cgibin/rna-form1.cgi
Output di Mfold