an annealing mutation operator in the genetic algorithms for rna folding bruce a.shapiro and jin chu...

30
An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Upload: costantino-pisani

Post on 02-May-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

An annealing mutation operator in the genetic algorithms for RNA folding

Bruce A.Shapiro and Jin Chu Wu

Page 2: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

RNA Struttura secondaria

Stem Stem :coppie contigue di nucleotidi :coppie contigue di nucleotidi complementari complementari

Loop Loop :sottosequenze singole racchiuse da :sottosequenze singole racchiuse da stemstem

Page 3: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Struttura secondariaStruttura secondaria-l’RNA tende a “conservare” nel tempo la struttura

secondaria più che la struttura primaria in se;è relativamente comune trovare esempi di RNA omologhi

che hanno una struttura secondaria molto simile ma la cui sequenza non è simile per nulla.

Cambiamenti drastici della sequenza sono quindi tollerati, purchè venga mantenuta la complementarietà delle basi accoppiate;

-se ne deduce che l’evoluzione di una sequenza di RNA èvincolata dalla struttura.Questo rende l’analisi delle sequenze di RNA più difficile,rispetto all’analisi del DNA o delle proteine. Infatti, per laricerca di RNA omologhi è necessario analizzare lasimilarità in termini di struttura secondaria conservata

oltre che di sequenza.

Page 4: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Problema biologico Problema biologico

L’obbiettivo primario è riuscire a trovare una L’obbiettivo primario è riuscire a trovare una struttura stabile e biologicamente funzionale struttura stabile e biologicamente funzionale

La stabilità è data dall’energia di legame degli stem in maniera opposta i loop destabilizano la struttura per la repulsione delle basi non complementari

Page 5: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Algoritmo geneticoAlgoritmo genetico

Utilizzando una architettura parallela (mas par Utilizzando una architettura parallela (mas par 2) con 16384 processori si è implementato 2) con 16384 processori si è implementato un algoritmo genetico per la predizione del un algoritmo genetico per la predizione del folding del RNAfolding del RNA

Che utilizza come parametro di fitness la Che utilizza come parametro di fitness la energia libera procedendo attraverso 4 fasi energia libera procedendo attraverso 4 fasi

PreprocessingPreprocessing Selezione Selezione Mutazione Mutazione Crossing over Crossing over

Page 6: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Preprocessing Preprocessing

L’algoritmo Genera una L’algoritmo Genera una popolazione iniziale di popolazione iniziale di possibili stem dalla possibili stem dalla sequenza data sequenza data

Page 7: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

SelezioneSelezione

Ad ogni generazione ogni processore Ad ogni generazione ogni processore seleziona 2 sequenze da se stesso e seleziona 2 sequenze da se stesso e dai suoi 8 processori vicini usando dai suoi 8 processori vicini usando come parametro di selezione come parametro di selezione l’energia libera l’energia libera

Page 8: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

MutazioneMutazione

Delle 2 sequenze selezionate, l’algoritmo genera Delle 2 sequenze selezionate, l’algoritmo genera delle mutazioni nelle strutture selezionando stem delle mutazioni nelle strutture selezionando stem random in accordo con l’operatore di mutazione random in accordo con l’operatore di mutazione dalle sequenze generate inizialmente formando 2 dalle sequenze generate inizialmente formando 2 strutture figlie strutture figlie

Page 9: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Crossing overCrossing over

Ultimo passo di ogni iterazione è una Ultimo passo di ogni iterazione è una funzione di incrocio tra strutture funzione di incrocio tra strutture padre e strutture figlie eliminando padre e strutture figlie eliminando eventuali interazioni terziarieeventuali interazioni terziarie

Da queste due nuove strutture il G.A. Da queste due nuove strutture il G.A. sceglie la struttura che ha l’energia sceglie la struttura che ha l’energia libera minore cosi da diventare la libera minore cosi da diventare la struttura della generazione successiva struttura della generazione successiva

Ottenendo ad ogni iterazione un totale Ottenendo ad ogni iterazione un totale di 16384 nuove strutture in parallelo di 16384 nuove strutture in parallelo

Page 10: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Problema Problema computazionale computazionale

L’algoritmo genetico cosi come L’algoritmo genetico cosi come progettato non riesce a raggiungere progettato non riesce a raggiungere risultati significativi anche dopo risultati significativi anche dopo migliaia di generazioni in quanto migliaia di generazioni in quanto genera molte strutture diverse fra genera molte strutture diverse fra loro specialmente per lunghe loro specialmente per lunghe sequenzesequenze

Page 11: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Problema Problema computazionale computazionale

Soluzione: Soluzione: si cerca d’implementare un si cerca d’implementare un nuovo operatore di mutazione in nuovo operatore di mutazione in quanto il vecchio operatore permette quanto il vecchio operatore permette poche mutazioni all’inizio del poche mutazioni all’inizio del processo aumentandole linearmente processo aumentandole linearmente al crescere della dimensione della al crescere della dimensione della struttura secondaria, rendendo struttura secondaria, rendendo difficile la convergenza delle difficile la convergenza delle strutture strutture

Page 12: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Operatore di mutazione Operatore di mutazione

Il numero di mutazioni in tutti i Il numero di mutazioni in tutti i processori ad ogni generazione è dato processori ad ogni generazione è dato da:da:

N N = numero totale di mutazioni ad ogni = numero totale di mutazioni ad ogni generazione generazione

S S = grandezza media della struttura 2°= grandezza media della struttura 2° P P = probabilità di mutazione= probabilità di mutazioneN = (16000*s*p)N = (16000*s*p)

Page 13: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Vecchio operatoreVecchio operatore

Nel vecchio operatore di mutazione il Nel vecchio operatore di mutazione il parametro “p” veniva mantenuto costante parametro “p” veniva mantenuto costante cosi che il numero di mutazioni totali ad ogni cosi che il numero di mutazioni totali ad ogni generazione dipendeva da “s” generazione dipendeva da “s”

permetteva poche mutazioni all’inizio del permetteva poche mutazioni all’inizio del processo e incrementava il numero totale di processo e incrementava il numero totale di mutazioni ad ogni generazione al crescere mutazioni ad ogni generazione al crescere della dimensione della struttura secondaria della dimensione della struttura secondaria

Ottenendo come risultato per lunghe sequenze Ottenendo come risultato per lunghe sequenze strutture secondarie molto diverse fra di strutture secondarie molto diverse fra di loro anche dopo molte generazioni loro anche dopo molte generazioni

Page 14: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Vecchio operatoreVecchio operatore

Batteriofago t4 32 con 1340 nucleotidi

Dopo 3000 iterazioni solo 3 processori contenevano una struttura con energia minima di -207,2kcal/mol

Page 15: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Nuovo operatoreNuovo operatore

Il nuovo operatore si comporta in modo Il nuovo operatore si comporta in modo opposto al vecchio, permettendo un largo opposto al vecchio, permettendo un largo numero di mutazioni su tutti i processori numero di mutazioni su tutti i processori all’inizio del processo per poi ridurle ad all’inizio del processo per poi ridurle ad ogni generazione all’aumentare della ogni generazione all’aumentare della dimensione della struttura secondaria dimensione della struttura secondaria

Facendolo dipendere quindi dallo stem Facendolo dipendere quindi dallo stem pool iniziale generato dalla fase di pool iniziale generato dalla fase di inizializzazione e dalla dimensione della inizializzazione e dalla dimensione della struttura secondaria ad ogni generazione struttura secondaria ad ogni generazione

Page 16: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Nuovo operatoreNuovo operatore

p =(α/s)+β

α = P1-s1 β S1<S2 e P1>P2

β = P1-P2/s1-s2

P = P = rapporto tra numero totale di mutazioni fratto i rapporto tra numero totale di mutazioni fratto i processori totali processori totali

P = N/16000 P=s*pP = N/16000 P=s*p

S1= 1 stem all’inizio del processo

P1= dipende dalla popolazione iniziale generata dalla sequenza

La probabilità di mutazione “p” è stata progettata La probabilità di mutazione “p” è stata progettata per discendere lungo una curva iperbolica al per discendere lungo una curva iperbolica al crescere della struttura secondaria secondo la crescere della struttura secondaria secondo la relazionerelazione

Page 17: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Operatori a confronto Operatori a confronto

Il numero totale di mutazioni è sostanzialmente più alto usando il vecchio operatore di mutazione rispetto al nuovo cosi come il numero di mutazioni ad ogni generazione con grandi struttura secondarie

Page 18: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Relazioni quantitativeRelazioni quantitative

La relazione empirica tra la lunghezza di sequenza e lo stem pool è di 0.026n2 cosi che avendo lo stem pool iniziale e la grandezza della struttura secondaria dal quale dipendono il numero totale di mutazioni permesse si ottiene un comportamento differenziale per sequenze corte e sequenze lunghe

Page 19: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Terminazione Terminazione

Per una rapida convergenza su lunghe Per una rapida convergenza su lunghe sequenze è stato implementato un sequenze è stato implementato un criterio di terminazione basato su criterio di terminazione basato su metodi statistici che usa come indice la metodi statistici che usa come indice la distribuzione dell’energia libera su tutti distribuzione dell’energia libera su tutti i processorii processori

viene presa in considerazione l’energia il viene presa in considerazione l’energia il cui rapporto fra i processori che la cui rapporto fra i processori che la posseggono fratto il totale dei posseggono fratto il totale dei processori supera una certa soglia processori supera una certa soglia fissata fissata

Page 20: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Terminazione Terminazione

Da questa energia ottenuta si calcola la Da questa energia ottenuta si calcola la media ponderata usata poi per il calcolo media ponderata usata poi per il calcolo dell’errore relativo ottenuto dal rapporto dell’errore relativo ottenuto dal rapporto tra la deviazione standard fratto il valore tra la deviazione standard fratto il valore assoluto della media ponderata cosi che assoluto della media ponderata cosi che ad ogni generazione la media ad ogni generazione la media dell’energia diventerà stabile dell’energia diventerà stabile

Il programma termina quando l’errore Il programma termina quando l’errore relativo diviene minore d’un valore di relativo diviene minore d’un valore di incertezza empiricamente fissato come incertezza empiricamente fissato come 1010-4-4

Page 21: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Comparazione sul Comparazione sul batteriofago t4batteriofago t4

Su 5 processi di una sequenza lunga 1340 nucleotidi il nuovo operatore di mutazione termina con un massimo di 937 iterazioni contro le 3000 fissate come limite superiore di terminazione per la vecchia versione dell’algoritmo

Page 22: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Con una sequenza di 1542 nucleotidi il numero di generazioni decresce

Comparazione sul 16sComparazione sul 16s

Page 23: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Struttura del 16sStruttura del 16sDalla struttura pubblicata il 16s conta 4 domini e 1542 nucleotidi, 98 stem totali che coinvolgono 448 coppie di basi

1° con 40 stem 1-560

2° con 20 stem 561-920

3° con 31 stem 921-1400

4° con 7 stem 1401-1542

Tra gli stem si conta uno psedoknots

Page 24: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Algoritmi a confrontoAlgoritmi a confronto

I risultati del algoritmo genetico con il vecchio I risultati del algoritmo genetico con il vecchio e nuovo operatore e un algoritmo e nuovo operatore e un algoritmo deterministico DPA(dinamic programming deterministico DPA(dinamic programming algorithm Zuker e Stiegler 1989) che da un algorithm Zuker e Stiegler 1989) che da un risultato univoco, vengono messi a confronto risultato univoco, vengono messi a confronto con la struttura pubblicata con la struttura pubblicata

Ottenendo un energia libera dal G.A. di -359.9 Ottenendo un energia libera dal G.A. di -359.9 kcal/molkcal/mol

Mentre il risultato del DPA è di -443.4 kcal/molMentre il risultato del DPA è di -443.4 kcal/mol

La struttura pubblicata ha un energia libera di La struttura pubblicata ha un energia libera di -307.4 kcal/mol-307.4 kcal/mol

Page 25: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Algoritmi a confronto Algoritmi a confronto Nel trattare i risultati si devono eliminare gli stem Nel trattare i risultati si devono eliminare gli stem

che non sono considerati dagli algoritmi come che non sono considerati dagli algoritmi come quelli formati da una sola coppia di basi o gli quelli formati da una sola coppia di basi o gli pseudoknotspseudoknots

G.A. con il nuovo operatore ha il 28% di 93 stemG.A. con il nuovo operatore ha il 28% di 93 stem G.A. con il vecchio operatore ha il 25% di 93 G.A. con il vecchio operatore ha il 25% di 93

stemstem DPA non trovando singole coppie e pseudoknots DPA non trovando singole coppie e pseudoknots

ha una percentuale del 20 % ha una percentuale del 20 %

Page 26: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Distribuzione degli stemDistribuzione degli stem

Distribuzione degli stem positivi e dei 26 corrispondenti alla struttura pubblicata è da notare che i risultati del G.A. sono un sottoinsieme degli stem trovati dagli altri algoritmi con in più strutture ramificate su più domini

Page 27: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Risultati e discussioni Risultati e discussioni

L’algoritmo genetico con il nuovo L’algoritmo genetico con il nuovo operatore di annealing migliora le operatore di annealing migliora le prestazioni in termini di tempo prestazioni in termini di tempo d’esecuzione e convergenza d’esecuzione e convergenza migliorando anche la predizione in migliorando anche la predizione in termini di struttura secondaria termini di struttura secondaria

Page 28: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Ulteriori variazioni Ulteriori variazioni Si prova a variare il numero di mutazioni Si prova a variare il numero di mutazioni

ad ogni generazione rispetto alla ad ogni generazione rispetto alla dimensione della struttura secondaria dimensione della struttura secondaria non più con una relazione lineare come non più con una relazione lineare come descritto precedentemente ma descritto precedentemente ma utilizzando funzioni che descrivono utilizzando funzioni che descrivono parabole concave e convesse su parabole concave e convesse su strutture con diversa dimensione strutture con diversa dimensione

26 sequenze corte26 sequenze corte batteriofago T4batteriofago T4 16s 16s

Page 29: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

RisultatiRisultati

Comparando i Comparando i risultati per il risultati per il 16s non si sono 16s non si sono riscontrate riscontrate differenze differenze sostanziali sostanziali differentementdifferentemente dal T4 e le e dal T4 e le sequenze corte sequenze corte predette predette meglio dalla meglio dalla curva concava curva concava

Page 30: An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu

Work in progressWork in progress

Il lavoro si focalizza verso una precisa Il lavoro si focalizza verso una precisa correlazione tra la lunghezza di correlazione tra la lunghezza di sequenza, la dimensione delle sequenza, la dimensione delle strutture generate inizialmente nella strutture generate inizialmente nella fase di preprocessing e la fase di preprocessing e la dimensione della struttura dimensione della struttura secondaria cosi da relazionarle con secondaria cosi da relazionarle con una nuova funzione che descrive la una nuova funzione che descrive la probabilità di mutazioneprobabilità di mutazione