RICERCA DI MOTIVI FUNZIONALI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RICERCA DI MOTIVI FUNZIONALI"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI URBINO CARLO BO Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Applicata Tesi di Laurea RICERCA DI MOTIVI FUNZIONALI IN SEQUENZE DI DNA MEDIANTE ALGORITMI GENETICI Relatore: Chiar.mo Prof. Valerio Freschi Candidato: Danilo Casaccia Anno Accademico

2 Indice 1 Introduzione Ricerca di motivi funzionali in sequenze di DNA Algoritmi genetici come strumento di ottimizzazione Organizzazione del lavoro Fondamenti di biologia molecolare DNA e proteine: elementi base per la vita Il Genoma, patrimonio genetico di ogni essere vivente Il processo di espressione genica Algoritmi genetici Struttura canonica di un algoritmo genetico Beneci e limiti Approccio proposto Presentazione del software sviluppato Rappresentazione del problema in ambito informatico Popolazione di individui Funzione di tness Meccanismo di selezione Crossover e mutazione Implementazione Risultati sperimentali Datasets sintetici Datasets biologici YDR02c binding sites CRP binding sites E2F binding sites ERE binding sites LSF binding sites Kruppel binding sites Bicoid binding sites AZF1 binding sites ii

3 6 Conclusioni Sintesi del lavoro svolto e dei risultati ottenuti Sviluppi futuri A Frammento di codice della classe geneticalgorithm.java 41 Bibliograa 48 iii

4 Elenco delle gure 2.1 Struttura 3D del DNA Processo di Splicing Regolazione della Trascrizione [6] Roulette Wheel Selection Single/Double Point Crossover Bitwise Mutation Diagramma di usso GA Software: nestra principale Software: logo sequenza/graco tness medie Schema di principio Funzione di tness Tournament Selection Curve di Gauss Relazioni varianza, intensità e diversità Crossover e mutazione Diagramma di usso generatore di sequenze Confronto logo sequenza CRP Logo sequenza CRP iv

5 Elenco delle tabelle 1.1 Esempio di motivi allineati File nel formato Fasta Classe java: individuo Intensità selettiva Varianza selettiva Parametri utilizzati Test datasets sintetici (Roulette Wheel) Test datasets sintetici (Tournament Selection) YDR02c dataset CRP dataset CRP dataset - posizioni iniziali E2F dataset ERE dataset LSF dataset Kruppel dataset Bicoid dataset AZF1 dataset v

6 Capitolo 1 Introduzione 1.1 Ricerca di motivi funzionali in sequenze di DNA I motivi funzionali (Transcription Factor Binding Site motifs) o siti di binding sono piccoli frammenti nucleotidici, situati nella regione promotrice di ciascun gene; questi segmenti di DNA vengono conservati, seppur debolmente a seguito di mutazioni genetiche, attraverso i processi evolutivi, in virtù della loro importanza strutturale e funzionale. Sono infatti dei componenti cruciali che inuenzano e innescano i processi di espressione genica, trascrizione e che determinano il fenotipo di ogni organismo, ovvero l'eettiva e totale manifestazione sica del genotipo (l'insieme dei geni che costituiscono il corredo genetico di ogni individuo/essere vivente). In particolare, certe proteine chiamate fattori di trascrizione, in risposta a determinati stimoli biologici, si legano ai siti di binding compatibili da dove poi regolano i processi cellulari a cui sopra si è accennato e che verranno trattati meglio nel capitolo seguente. Per ora basti sapere che l'espressione genica è il processo con il quale ciascun gene viene regolato e che consegue la sintesi delle proteine, costituenti fondamentali e insostituibili per la sopravvivenza di ogni essere vivente. L'individuazione di un motivo funzionale, seppur indispensabile nella comprensione di questi processi, è in realtà una sda quanto mai dicile a seguito delle mutazioni che investono il DNA e con esso, i siti di binding. Questo che potremmo denire come un problema di pattern discovery è un processo che si articola generalmente ricercando all'interno di sequenze multiple di DNA dei frammenti quanto più simili ed omogenei tra di loro. Tipicamente non si conosce ciò che si sta cercando (problema di pattern recognition) ma si dispone solamente di frammenti di sequenze rispondenti agli stessi stimoli biologici; è quindi auspicabile che tali sequenze contengano gli stessi motivi funzionali, ovvero frammenti nucleotidici con il più alto grado di similarità. Se consideriamo un insieme, composto da 15 sequenze di lunghezza variabile e vogliamo cercare

7 1.2 Algoritmi genetici come strumento di ottimizzazione 2 un sito di binding di lunghezza k, al termine della ricerca otterremo un allineamento di 15 possibili motifs. Il motivo ancestrale, ottenuto dai k nucleotidi con il più alto numero di occorrenza su ciascuna posizione dell'allineamento, viene denito consenso (Tabella 1.1); non conoscendo quale sia il pattern antenato, quello non soggetto a mutazioni evolutive, si tende a considerare il consenso come pattern reale. A C T A G T A G A C T G A G T Tabella 1.1: Un esempio di motivi allineati; in grassetto il consenso 1.2 Algoritmi genetici come strumento di ottimizzazione La ricerca del consenso all'interno di un dataset biologico è un problema che nel corso degli anni è stato arontato in diversi modi, con risultati più o meno incoraggianti. Le tecniche senza dubbio migliori, che danno i risultati più adabili sono quelle sperimentali arontate su datasets reali; la DNA footprinting e la gel electrophoresis appartengono a questa categoria, ma sono tecniche particolarmente esigenti dal punto di vista delle risorse e che richiedono tempi di ricerca elevati. Così sono state sviluppate in campo informatico (da qui nasce la bioinformatica) delle tecniche che prestassero soccorso ai biologi, facilitandone il compito. La prima classe di algoritmi che venne sviluppata, anni orsono, sfruttava la cosiddetta ricerca esaustiva, ma ci si accorse ben presto che questo tipo di algoritmi mal si adattava ad un problema di tale complessità. Esplorare l'intero spazio di ricerca signica, infatti, dover comprovare tutte le possibili soluzioni; in altri termini se si deve cercare un pattern di lunghezza k occorre vericare la presenza di 4 k (4, numero di nucleotidi) possibili patterns all'interno di tutte le sequenze, con una complessità che tende a crescere esponenzialmente all'aumentare della lunghezza del pattern. Inoltre come già accennato, non è suciente trovare un'occorrenza esatta all'interno di ciascuna sequenza e questo peggiora notevolmente le cose dal punto di vista della complessità. Un approccio euristico o probabilistico, al contrario, comporta beneci indiscussi sulla complessità della ricerca ma introduce un errore non stimabile deterministicamente sull'accuratezza della predizione. In pratica la ricerca esaustiva qualora porti all'individuazione della soluzione da la certezza assoluta della sua correttezza; lo stesso non lo si può dire utilizzando un approccio probabilistico. Dunque questa seconda categoria ha punti di forza evidenti ma anche limiti

8 1.3 Organizzazione del lavoro 3 indiscutibili. Il terzo approccio, più recente, prevede l'utilizzo di un algoritmo genetico quale strumento di ottimizzazione, che consente di raggiungere la maggior parte delle volte un buon livello di accuratezza e una soglia di errore sostenibile. Questo tipo di algoritmi sono particolarmente potenti in quanto la complessità non dipende in maniera così determinante dalla lunghezza del pattern; inoltre per loro natura riescono ad esplorare lo spazio di ricerca meglio di altri algoritmi che utilizzano approcci diversi, minimizzando l'errore della soluzione proposta. Dunque l'informatica può esser di grande aiuto ai biologi ma purtroppo non suciente; i motivi funzionali predetti utilizzando questo tipo di algoritmi devono necessariamente essere comprovati sperimentalmente per certicarne la veridicità. Certamente per un biologo aver una traccia da cercare e vericare è sicuramente meglio che dover brancolare nel buio. Questo consente di diminuire il volume di esperimenti abbattendo notevolmente tempi e costi. 1.3 Organizzazione del lavoro Arontare un lavoro di questo tipo signica prima di tutto aver assimilato preliminarmente delle conoscenze basilari di biologia molecolare; non occorre essere dei biologi, ma conoscere i fondamenti di questa scienza è indispensabile al ne di muoversi all'interno di un campo poco conosciuto con la dovuta disinvoltura. Così il secondo capitolo, quello prossimo all'introduzione, ha l'obiettivo di fornire il bagaglio di conoscenza minimale per poter arontare l'intero iter progettuale di questa tesi. Nel terzo capitolo si è voluta invece descrivere la struttura canonica di un algoritmo genetico, evidenziarne le assolute qualità come strumento di ottimizzazione algoritmica ma anche i limiti dovuti alla rappresentazione del problema in esame e alla molteplicità dei parametri in gioco. Questi due capitoli hanno più che altro una valenza descrittiva e forniscono le conoscenze necessarie per comprendere quanto fatto realmente in questo lavoro; il quarto capitolo introduce ed aronta da vicino il problema oggetto di questa tesi, spiegando come viene rappresentato in ambito informatico, analizzando gli aspetti tecnici e quelli pratici del software sviluppato e proposto come soluzione. Nel quinto capitolo vengono riportati i risultati dei molteplici test eettuati, sia su datasets biologici che sintetici. Inne il sesto capitolo contiene le considerazioni conclusive sul lavoro svolto, i beneci derivanti dall'approccio proposto e gli sviluppi futuri per migliorare l'ecienza e l'ecacia del software.

9 Capitolo 2 Fondamenti di biologia molecolare 2.1 DNA e proteine: elementi base per la vita Gli organismi viventi si dierenziano in relazione alla loro complessità cellulare, in particolare si distinguono i procarioti dagli eucarioti; i procarioti sono organismi unicellulari (e.g. batteri) caratterizzati da una cellula la cui dimensione è dell'ordine del micrometro, senza membrana nucleare o altre suddivisioni interne. Gli eucarioti, invece, sono organismi pluricellulari (e.g. animali, piante) caratterizzati da cellule più complesse, con nucleo ben denito e isolato dal resto della cellula tramite involucro nucleare. Ciò che accomuna queste due categorie di organismi è la presenza di materiale genetico, organizzato in sequenze di DNA. Negli organismi procarioti questo si trova dislocato nel citoplasma, mentre negli eucarioti viene gelosamente custodito all'interno del nucleo, sotto forma di cromosomi (aggregati di DNA e proteine). Il nucleo (negli eucarioti) è quindi una delle strutture più importanti della cellula ed è il luogo dove ha inizio il processo di espressione genica. Esternamente al nucleo vi sono strutture dierenti, ma non per questo di minore importanza, tra cui si possono citare i ribosomi poiché sono le strutture dove si protraggono le fasi nali della sintesi proteica, che verrà analizzata più avanti. Il DNA e le proteine sono gli elementi costituenti di ogni organismo vivente; il primo è l'acronimo di acido desossiribonucleico e contiene le informazioni genetiche necessarie alla biosintesi di RNA e proteine; l'rna, acido ribonucleico, è simile al DNA in tutto e per tutto, eccezion fatta per la Timina che viene rimpiazzata dall'uracile. Le proteine, invece, sono composti organici complessi nonché componenti fondamentali di tutte le cellule animali e vegetali. Dal punto di vista chimico sono polimeri (o macromolecole) di residui amminoacidici, uniti mediante legami peptidici. Per quanto concerne la sua struttura, il DNA può essere visto come una

10 2.2 Il Genoma, patrimonio genetico di ogni essere vivente 5 catena di 4 unità fondamentali chiamate nucleotidi: Adenina, Citosina, Guanina e Timina. Queste formano tra di loro, mediante legami ad idrogeno, delle coppie complementari, ancorate a un doppio lamento elicoidale di zucchero e fosfato (Figura 2.1); in particolare l'adenina si lega sempre e solo con la Timina e di conseguenza la Citosina solo con la Guanina. Figura 2.1: Struttura 3D del DNA Le proteine, al contrario, sono composte da 20 unità dierenti chiamate amminoacidi, che sono semplicemente triple di nucleotidi aggregati. Se pensiamo al numero di possibili amminoacidi ottenibili combinando tra di loro i 4 nucleotidi, ci accorgiamo che in natura viene adottata una codica ridondante; in eetti si potrebbero ottenere 4 3, quindi 64, diversi amminoacidi quando in realtà ne vengono utilizzati solo 20. Questo spiega perché il processo di sintesi proteica è un processo irreversibile. 2.2 Il Genoma, patrimonio genetico di ogni essere vivente L'intero patrimonio genetico di un essere vivente, contenuto nel DNA, viene denito genoma; questo è organizzato in sotto unità chiamate geni, che altro non sono frammenti di DNA con una diversa specica funzionale. Il genoma umano, ad esempio, è composto da un numero ancora non del tutto confermato, ma superiore di poco ai geni (secondo i dati raccolti dal Progetto Genoma Umano). Negli organismi eucarioti, ciascun gene è solitamente costituito da regioni non codicanti chiamate introni, che si contrappongono a quelle codicanti denite esoni. Quest'ultime sono frammenti di DNA che

11 2.3 Il processo di espressione genica 6 contengono parte delle informazioni necessarie per codicare le proteine. Nel processo di espressione genica le regioni non codicanti, gli introni, vengono eliminate mediante un processo chiamato splicing (Figura 2.2), mentre gli esoni vengono riassemblati correttamente per poter procedere nella sintesi proteica. Figura 2.2: Processo di Splicing Occorre precisare che questo ha successo solo se gli introni e gli esoni sono privi di mutazioni che potrebbero impedire la corretta saldatura tra le parti residue. 2.3 Il processo di espressione genica L'espressione genica è il processo mediante il quale l'informazione contenuta in un gene viene convertita in una macromolecola funzionale (una proteina, ma anche trna o rrna). Tecnicamente si articola in due fasi distinte: la trascrizione e la traduzione, nel mezzo delle quali possiamo collocare la fase di splicing introdotta nel paragrafo precedente. Nella fase di trascrizione ha luogo la cosiddetta replicazione del DNA, dove frammenti di materiale genetico vengono duplicati e sintetizzati in particolari molecole di RNA, chiamate mrna (messenger RNA). Dapprima, la struttura elicoidale del DNA viene slegata ottenendo due lamenti separati che, in un secondo momento, grazie ad un enzima chiamato RNA polimerasi, vengono utilizzati come stampo per ricostruire la doppia elica, complementando le basi nucleotidiche una dopo l'altra. Negli organismi eucarioti, una volta duplicato il materiale genetico, questo deve essere trasportato fuori dal nucleo no ai ribosomi, per poter ultimare la successiva fase di traduzione; questo avviene mediante l'ausilio di particolari molecole di RNA, chiamate trna (transfer RNA) Nelle strutture ribosomali ha dunque inizio la seconda fase, quella di traduzione o sintesi proteica, dove le triplette nucleotidiche di mrna vengono tradotte nei rispettivi amminoacidi, successivamente aggregati in modo da poter formare la proteina oggetto della sintesi. In questo processo sono coinvolte oltre a molecole di trna, anche un terzo tipo di molecole chiamate rrna (ribosomal RNA). Ma come si attiva il processo di espressione genica? Come spiegato nell'introduzione a questa tesi, quando un fattore di trascrizione riesce a legarsi a

12 2.3 Il processo di espressione genica 7 un sito di binding, questo consente alla RNA polimerasi di conuire nel DNA e iniziare (Figura A) la trascrizione di un gene in molecole di mrna. Il processo cessa con la separazione della RNA polimerasi dalla sequenza di DNA (Figura B). Figura 2.3: Regolazione della Trascrizione [6]

13 Capitolo 3 Algoritmi genetici 3.1 Struttura canonica di un algoritmo genetico Gli algoritmi genetici sono una famiglia di modelli computazionali ispirati alla teoria evoluzionistica darwiniana, introdotti per la prima volta da John Holland e dai suoi studenti nel 1975 [5]. Sono in genere utilizzati per risolvere problemi di ricerca e ottimizzazione. La base di partenza di un algoritmo genetico è senza ombra di dubbio la rappresentazione del problema, ovvero stabilire come rappresentare un problema reale in un modello verosimile, che sia di facile riproduzione all'interno di un elaboratore elettronico. Questa è forse la fase più complessa e delicata di tutta l'implementazione, che mal interpretata potrebbe far deteriorare notevolmente l'ecienza dell'algoritmo. Una volta stabilito come codicare il problema, occorre denire una popolazione iniziale di individui, che in accordo alla teoria evoluzionistica, vengono anche detti cromosomi; in genere la popolazione iniziale viene scelta casualmente, senza dunque un criterio predeterminato e rimane costante per tutte le generazioni. Nel modello tradizionale i cromosomi sono stringhe di bit a lunghezza ssa e di fatto sono la rappresentazione formale di una possibile soluzione al problema. Se deniamo la funzione di codica come: cf UN : S X dove S è lo spazio delle soluzioni al problema e X è lo spazio dei cromosomi, possiamo vedere un individuo c X come : c = cf UN(s), s S si immagini dunque che un individuo sia il genotipo e la soluzione il suo fenotipo. Ciò che determina il grado di bontà di un individuo è la cosiddetta funzione obiettivo, che in problemi di ottimizzazione spesso tende a coincidere con la funzione di tness. La funzione obiettivo misura le performance

14 3.1 Struttura canonica di un algoritmo genetico 9 di un individuo rispetto ad un particolare set di parametri, che modellano il problema. Quella di tness, invece, trasforma la performance in opportunità riproduttive. Seguendo il parallelo con la teoria evoluzionistica, la funzione di tness misura l'adattabilità (inglese: t) dei cromosomi all'ambiente, che immaginiamo rappresentare allegoricamente il problema. Quindi tanto più un individuo riesce ad adattarsi all'ambiente, tanto più avrà probabilità di riprodursi e di trasmettere i propri geni alle generazioni future (sarà quindi una soluzione migliore). Nello schema canonico la tness di ciascun individuo è denita come: f i f dove f i è la performance (valutazione) associata alla stringa (cromosoma) i- esima e f è la media della performance su tutta la popolazione di individui. A questo punto entra in gioco il meccanismo di selezione, che ha un duplice scopo; da un lato deve favorire la riproduzione degli individui con la tness più alta, dall'altro deve preservare la diversità della popolazione in modo da esplorare tutte le regioni dello spazio di ricerca. Un eventuale perdita di diversità nelle primissime generazioni potrebbe portare ad una prematura convergenza dell'algoritmo. Ovviamente esistono diverse tecniche di selezione, ciascuna con punti di forza e limiti; il meccanismo utilizzato nello schema canonico viene denito Roulette Wheel Selection (o Proportional Selection). Figura 3.1: Roulette Wheel Selection Supponiamo che la popolazione al tempo t contenga n cromosomi: P (t) = {x 1, x 2,..., x n deniamo F la tness totale della popolazione e f(x) la funzione che computa la tness dell'individuo x: F = n i=1 f(x i) la probabilità che l'individuo x i venga selezionato sarà: P rob i = f(x i) F

15 3.1 Struttura canonica di un algoritmo genetico 10 A questo punto, si immagini di costruire una roulette truccata dove gli spicchi non sono di egual misura, ma sono in qualche modo proporzionati alla tness di ciascun individuo (Figura 3.1). Lanciando una pallina, questa avrà più probabilità di nire in uno spicchio di dimensioni elevate, ma nulla vieta che si fermi al contrario in uno meno capiente. Questo meccanismo dovrebbe rispondere in maniera accettabile ai requisiti espressi in precedenza. Dal punto di vista algoritmico la roulette viene implementata distribuendo le probabilità di riproduzione di ciascun individuo tra 0 e 1 (Figura 3.1). Di seguito uno pseudo-codice: double Sum = 0.0; for (int i = 0; i < pop.size(); i++){ Position_i = Sum + Probability_i; Sum += Probability_i; semplicemente generando un numero casuale nell'intorno [0-1] si simula il lancio della pallina e si seleziona l'individuo: double prec_position = 0.0; for (int i = 0; i < pop.size(); i++) { if ( (rand_number <= current_position) && (rand_number > prec_position) ) select (current_individual); prec_position = current_position; il processo di selezione viene ripetuto più e più volte e gli individui selezionati, dopo essere stati ricombinati, entrano a far parte di quello che viene denito ospring; successivamente l'ospring viene mutato e i suoi cromosomi diventano la nuova popolazione (grande quanto quella di partenza); l'intero processo sin qui descritto costituisce una generazione. Lo schema canonico prevede due tipologie di ricombinazione: la prima viene denita single point crossover, la seconda double point crossover (Figura 3.2). La ricombinazione riproduce quel meccanismo secondo cui in natura una cellula glia eredita parte del patrimonio genetico della cellula padre e parte della cellula madre. In entrambi i meccanismi di crossover viene scelta una coppia di individui (mediante meccanismo di selezione) e con una certa probabilità p c (in genere 60%-80%) si stabilisce se eettuare o no la ricombinazione. Nel crossover a singolo punto di taglio viene estratto un intero compreso tra 0 e la lunghezza della stringa che rappresenta un singolo individuo, con probabilità uniforme. A questo punto si procede tagliando i cromosomi genitori in corrispondenza del punto di taglio precedentemente stabilito e incrociando i frammenti derivanti dalla scissione, si ottengono due nuovi individui gli.

16 3.1 Struttura canonica di un algoritmo genetico 11 Nel crossover a punto di taglio doppio, invece, vengono estratti due numeri con probabilità uniforme che costituiscono i punti di incisione dei cromosomi genitori; per il resto il meccanismo di ricombinazione è lo stesso. Qualora si decida stocasticamente di non eettuare alcuna ricombinazione, i gli immessi nell'ospring saranno la copia esatta dei loro genitori. Figura 3.2: Single/Double Point Crossover Una volta costruito l'ospring non resta che eettuare la mutazione, altro operatore che si ispira a quanto avviene realmente in natura. Così ogni singolo bit, di ogni singolo individuo che compone l'ospring, viene mutato con probabilità p s (in genere < 1%). Nello schema canonico viene utilizzata la Bitwise Mutation, che semplicemente complementa il bit candidato alla mutazione. Figura 3.3: Bitwise Mutation La nuova popolazione è ora pronta per essere sottoposta a nuovi cicli iterativi, ripetendo tutto il processo descritto sin ora. L'algoritmo cessa la sua esecuzione dopo un numero prestabilito di cicli o eventualmente quando la tness converge al disopra di una soglia predeterminata. Questo è particolarmente vero in problemi di ottimizzazione, dove l'utente che utilizza un algoritmo di questo genere, conosce i limiti a cui la soluzione migliore dovrebbe tendere. Al contrario, in problemi di ricerca non sempre si conosce il valore di convergenza della soluzione che si vuole trovare. In genere il numero di iterazioni è un parametro che si adatta ad ogni tipo di problema, mentre il valore di convergenza può essere sconosciuto a priori. È altrettanto vero però che la

17 3.2 Beneci e limiti 12 convergenza ha una valenza più marcata e che se raggiunta garantisce la bontà della soluzione; al contrario, il numero di iterazioni è un parametro opinabile che non garantisce alla sua scadenza di aver trovato una soluzione ottimale. Quando un algoritmo genetico termina la sua esecuzione l'individuo candidato a soluzione migliore è quello con la tness più alta. Di seguito viene riportato il diagramma di usso che riassume il principio di funzionamento descritto nel paragrafo: Figura 3.4: Diagramma di usso GA 3.2 Beneci e limiti Nel capitolo introduttivo si è cercato di spiegare molto velocemente quale fosse il benecio più grande, nell'utilizzare un algoritmo genetico per arontare un problema computazionalmente complesso, come quello in oggetto a questa tesi. Come scritto nel precedente paragrafo questa metodologia viene utilizzata soprattutto in problemi di ottimizzazione e ricerca, laddove le tecniche tradizionali non riescano a raggiungere dei risultati positivi in un lasso di tempo ragionevole. Quindi i beneci più evidenti si hanno in termini di tempo di esecuzione; il fatto che la complessità di questi algoritmi non cresca esponenzialmente li rende scalabili, rapportati al problema che si pressano di risolvere. Si prenda come esempio quanto arontato in questa tesi; utilizzando la ricerca esaustiva la complessità dell'algoritmo cresce esponenzialmente all'aumentare della lunghezza del pattern da trovare e con essa il tempo di esecuzione. Utilizzando un algoritmo genetico, invece, la lunghezza del pattern diventa un parametro di secondo livello e ciò che inuisce maggiormente sul tempo di esecuzione è la molteplicità dei parametri in gioco, quindi il setting scelto inizialmente. Quella sul tempo di esecuzione è dunque un ottimizzazione importante ma che sarebbe inutile laddove non si riuscissero a maturare risultati qualitativamente ottimali. La natura fortemente stocastica e non deterministica di questi

18 3.2 Beneci e limiti 13 algoritmi, non fornisce la garanzia che si riesca a trovare la soluzione, denita l'ottimo globale; la letteratura riguardante gli algoritmi genetici ha però teorizzato e dimostrato sperimentalmente che il principio di funzionamento alla base di questi modelli computazionali, consente di trovare soluzioni ottimali in tempi ragionevoli. In particolare si sostiene che sotto determinate ipotesi, gli individui con alti valori di tness tendono a crescere esponenzialmente nella popolazione attraverso il meccanismo dell'incrocio, assicurando così la convergenza dell'algoritmo verso una soluzione ottimale. Anche il meccanismo di mutazione fornisce un contributo notevole e aumenta l'ecienza con cui l'algoritmo esplora lo spazio di ricerca. È importante notare, però, come detto in precedenza che questo avviene solo sotto determinate ipotesi; parametri come la grandezza della popolazione, il numero di iterazioni, il valore di convergenza, la probabilità di mutazione e quella di crossover, sono determinanti e possono stravolgere completamente l'ecienza dell'algoritmo. Un setting non ottimale, può portare a una prematura convergenza verso un ottimo locale molto distante da quello globale. Questa è una controindicazione che aigge molto spesso questi modelli computazionali, ed è dovuta ad una sostanziale perdita di diversità all'interno della popolazione. Se questa avviene sin dalle primissime generazioni l'algoritmo non riesce ad esplorare tutto lo spazio di ricerca e converge prematuramente, rimanendo incastrato in un ottimo locale. Trovare il setting ottimale è dunque un problema non banale, tenendo presente che i parametri utilizzati sono molti e le possibili combinazioni notevoli. Ma questo non è il solo aspetto che incide negativamente sull'ecienza dell'algoritmo. Ad esempio il meccanismo di selezione può accentuare o meno gli eetti negativi derivanti da un setting non ottimale. Un meccanismo come la Roulette Wheel Selection ha un funzionamento de- citario quando vi è molta distanza tra le tness degli individui. Immaginiamo di avere 4 individui: il primo con una tness che gli garantisce una probabilità di selezione del 90%, il secondo raggiunge il 4% e i restanti due il 3%. La probabilità di selezionare un individuo diverso dal primo, è praticamente irrisoria e si perde ben presto diversità nella popolazione. Ovviamente esistono molteplici meccanismi di selezione che tentano di risolvere questo problema ma che a loro volta ne introducono di altri. Persino se le tness sono troppo vicine tra di loro può essere un ostacolo, in questo caso diventa fondamentale la codica del problema e la scelta della funzione di tness. Tutto ciò suggerisce che questi modelli computazionali non debbano essere utilizzati in maniera deterministica; in genere questi algoritmi, una volta trovato il setting migliore, vengono eseguiti più volte e alla ne la soluzione proposta sarà quella che avrà maturato il punteggio più alto in assoluto.

19 Capitolo 4 Approccio proposto 4.1 Presentazione del software sviluppato Il software è stato scritto in Java e per poter funzionare correttamente richiede l'installazione della JRE (java runtime environment) 1.6 o superiore. Dispone di un interfaccia graca (Figura 4.1) semplice, pulita e di facile comprensione grazie ai tooltips informativi deniti sui pulsanti del menù. Le sequenze nucleotidiche possono essere caricate da le nel formato Fasta (Tabella 4.1) > rst sequence name aacccgatgagatgagtagat... Tabella 4.1: File nel formato Fasta oppure direttamente da una base di dati mysql; il programma, infatti, dispone di un'interfaccia di comunicazione che sfrutta il driver JDBC (se correttamente installato e funzionante), anche se occorre precisare che nella realtà questa pratica è poco utilizzata così il modulo è volutamente semplicato e qualora vi fosse l'esigenza di operare concretamente con una base di dati sarebbe opportuno integrarlo di funzionalità suppletive. Il tool oltre alla ricerca del consenso, permette di calcolare la precisione, mostrare il graco che evidenzia l'andamento delle tness medie (e/o massime) nelle diverse generazioni (Figura 4.2), generare il logo sequenza e la PWM (position weight matrix) relativa (Figura 4.2). Inoltre, sono previste altre caratteristiche ausiliarie che ritornano utili in fase di test; ad esempio sarà possibile stampare su le le tness massime e medie della popolazione, oppure riportare sull'interfaccia graca la tness dell'individuo migliore, che ha consentito l'individuazione del consenso proposto.

20 4.1 Presentazione del software sviluppato 15 Figura 4.1: Software: nestra principale Figura 4.2: Software: logo sequenza/graco tness medie

21 4.1 Presentazione del software sviluppato Rappresentazione del problema in ambito informatico Se si considera il solo aspetto informativo e non strutturale, una sequenza di DNA si può facilmente rappresentare con un'espressione regolare: (A + C + G + T )(A + C + G + T ) quindi con una parola, non vuota, appartenente ad un alfabeto di soli 4 simboli, semplici iniziali dei nucleotidi: A per Adenina, C per Citosina, G per Guanina e T per Timina. Σ = {A, C, G, T Secondo questa rappresentazione possiamo indicare con Σ + l'insieme di tutte le stringhe derivabili dall'alfabeto Σ, dove Σ k contiene solo parole di lunghezza k: Σ + = Σ 1 Σ 2 Σ 3... Di conseguenza il genoma di un essere vivente, avendo dimensioni elevate ma nite, sarà contenuto in Σ + : Genoma Σ + Di fatto la ricerca di motivi funzionali in sequenze di DNA, da un punto di vista prettamente informatico, si traduce come un problema di pattern discovery in stringhe di caratteri. Già nell'introduzione si è cercato di spiegare come il motivo funzionale che si intende cercare sia sconosciuto a priori e che si dispone soltanto di un pool di sequenze rispondenti agli stessi stimoli biologici. Quindi il vero problema diventa trovare all'interno di un certo numero di sequenze delle sottostringhe di lunghezza k (dimensione pattern), che abbiano il più alto grado di similarità tra di loro. Si immagini di aver un dataset di 4 sequenze e di voler cercare in ognuna di queste un pattern di lunghezza 8 (Figura 4.3); per eettuare questa operazione, non conoscendo i veri siti di binding, si procede estraendo da ciascuna sequenza una sottostringa ω, di modulo k ( ω = 8). Queste formeranno una matrice allineata 4 x 8 ( sequencenumber x patternwidth) che consentirà di calcolare un indice di similarità, attraverso la funzione di tness.

22 4.1 Presentazione del software sviluppato 17 Figura 4.3: Schema di principio Per quanto riguarda la derivazione della funzione, il principio di campionamento delle sottostringhe e tutti gli altri aspetti tecnici si rimanda la spiegazione ai paragra successivi, quando si analizzerà l'algoritmo genetico che sta alla base del software sviluppato. Lo schema di principio dell'approccio proposto è il seguente: 1. le sequenze di DNA vengono rappresentate all'interno dell'elaboratore elettronico, mediante delle stringhe di caratteri; 2. il processo descritto in precedenza (Figura 4.3) consente di selezionare dei siti di binding, il cui grado di similarità si determina con l'ausilio della funzione di tness; 3. il principio di funzionamento dell'algoritmo genetico permette alle soluzioni presunte di evolversi, incrementando l'omogeneità dei motivi allineati, no a trovare il consenso proposto Popolazione di individui Una volta stabilito come rappresentare il problema occorre denire una popolazione iniziale di individui; nello schema canonico questi vengono generalmente rappresentati tramite stringhe di bit, un modo ecace per esprimere qualsivoglia contenuto informativo all'interno di un elaboratore elettronico. Tuttavia, il meccanismo di ricerca adottato nell'approccio proposto, consiglia l'utilizzo di una struttura dati, che in qualche modo agevoli l'estrazione dei motivi da allineare e su cui calcolare in un secondo momento il valore di tness. Nel precedente paragrafo di questo capitolo si è detto come le sequenze nucleotidiche vengano rappresentate mediante delle stringhe, i cui caratteri possono essere facilmente indicizzati ed inseriti all'interno di una struttura ad accesso sequenziale, come ad esempio un array. Pertanto possiamo immaginare di rappresentare un individuo con una lista o comunque una successione di interi, indicanti il punto esatto dove eettuare il campionamento dei siti di binding.

23 4.1 Presentazione del software sviluppato 18 Sulla base di questa riessione si è scelto di rappresentare un cromosoma mediante una classe, i cui attributi sono principalmente un array di interi e due double (Tabella 4.2): oneindividual.java + initialstartpositions: int [sequencenumber] + tnessnotnormalized: double + tnessnormalized: double Methods Questi valori sono: Tabella 4.2: Classe java: individuo 1. le posizioni iniziali utilizzate come indici, per prelevare da ciascuna sequenza i motivi funzionali da inserire all'interno della matrice di allineamento (il numero di elementi del vettore è costante in tutti i cromosomi ed equivale al numero di sequenze caricate); 2. il valore di tness che misura il grado di similarità dei siti estratti; 3. il valore di tness normalizzato che viene utilizzato per assegnare probabilità riproduttive ai cromosomi, nel meccanismo di selezione. Quest'ultimo si calcola dividendo la tness di un individuo per la somma di tutte le tness della popolazione: fitnessnormalized i = fitnessnotnormalized i popsize 1 f itnessn otn ormalized Come lo schema canonico impone, i cromosomi iniziali vengono generati casualmente, scegliendo gli interi di posizione nell'intorno [0 - Limit] dove: Limit = sequence i W idth patternw idth ovvero non sono consentite posizioni iniziali che eccedano la lunghezza della sequenza i-esima, tenuta presente la dimensione del pattern. Occorre, inne, precisare che la rappresentazione binaria avrebbe comunque consentito di effettuare tutte le operazioni descritte, ma solo dopo l'implementazione di un meccanismo di conversione per interi Funzione di tness Ora che si è denita la popolazione di individui occorre assegnare loro probabilità riproduttive. Come spiegato nei precedenti paragra, le posizioni iniziali di ciascun cromosoma consentono di costruire una matrice sulla quale si può

24 4.1 Presentazione del software sviluppato 19 calcolare un indice di similarità attraverso la funzione di tness. Poiché la popolazione viene istanziata casualmente le sorti dell'algoritmo sono fortemente adate al caso; questo, come si è visto nel terzo capitolo, è un pò nella natura di questi modelli computazionali ma esiste una tecnica che può limitarne gli eetti negativi. Per diminuire la probabilità che l'algoritmo rimanga incastrato in un ottimo locale e converga prematuramente, le posizioni iniziali di un individuo vengono shiftate, sia a destra che a sinistra, di un piccolo contributo. Di conseguenza il valore di tness di ciascun cromosoma, che determina la bontà della soluzione rispetto al problema, verrà calcolato sulla matrice che avrà ottenuto il punteggio migliore. In questa maniera si da all'algoritmo genetico uno strumento ulteriore per esplorare con maggiore incisività lo spazio di ricerca, che in problemi del genere si è visto esser molto vasto. Tuttavia, ciò non è suciente per risolvere completamente i problemi di prematura convergenza, che aiggono molto spesso questi modelli computazionali. Si è detto che la funzione di tness deve misurare la similarità dei motivi allineati; per far ciò si utilizza una metrica denita contenuto informativo (IC), che viene calcolata su ogni singola colonna della matrice di allineamento; concettualmente si può asserire che questo valore tende a crescere, tanto più le colonne diventano omogenee (Figura 4.4). In realtà il discorso è sensibilmente più complesso, poiché oltre alle occorrenze sulle singole colonne, si tiene in considerazione della distribuzione di fondo dei nucleotidi sull'intero dataset. Questo è un valore che in qualche modo attribuisce un peso a ciascun nucleotide all'interno dell'allineamento. É quindi possibile che una colonna, apparentemente disomogenea, ottenga un punteggio maggiore di un'altra con un elevato grado di omogeneità. Questo perché i nucleotidi contenuti nella prima colonna hanno una consistente rilevanza all'interno delle sequenze, oggetto della ricerca. La funzione di tness è denita come segue: fitness = patternw idth i=1 IC i è quindi la somma dei contenuti informativi su tutte le colonne della matrice. Questi si calcolano sommando il contenuto informativo relativo a ciascun nucleotide: IC i = 4 1 ICNucleotide b ICNucleotide b = f b log 2 f b p b dove f b è la frequenza osservata del nucleotide b sulla colonna corrente e p b è la frequenza di fondo (background) dello stesso. Per evitare complicanze computazionali qualora la frequenza osservata fosse nulla (ICNucleotide b = ), vengono introdotti dei pseudo contatori come fattori di correzione; sono piccoli coecienti diversi da zero, che impediscono ad un contenuto informativo di convergere a. Sulla base di questa notazione i parametri f b e p b possono essere riscritti nella seguente maniera:

25 4.1 Presentazione del software sviluppato 20 f b = c b + d b N + D p b = c 0b + d b S + D dove c b indica il numero di occorrenze del nucleotide b sulla colonna corrente, d b lo pseudo contatore del nucleotide b, N il numero di sequenze, S la somma delle occorrenze di tutti i nucleotidi nel background ( c 0 ), D la somma dei 4 pseudo contatori, c 0b la frequenza di fondo del nucleotide b denita come: c 0b = call b cmatrix b dove call b rappresenta il numero di occorrenze del nucleotide b sull'intero dataset e cmatrix b quello nella sola matrice allineata. Figura 4.4: Funzione di tness La gura 4.4 riassume il principio di funzionamento descritto sin ora; le posizioni iniziali di ciascun individuo permettono di indicizzare le sequenze, determinando il punto esatto di estrazione dei motivi. Questi, una volta allineati, consentono di derivare i contenuti informativi delle singole colonne, la cui somma costituisce il valore di tness. Se si analizza la composizione della

26 4.1 Presentazione del software sviluppato 21 matrice si può notare come la terza colonna abbia ottenuto il miglior punteggio mentre la prima (seconda e ultima) il peggiore. Come ci si poteva aspettare viene premiata la maggiore omogeneità della terza colonna, composta di sole T (mentre la prima da 1 T, 1 G e 3 A). Questa rappresentazione consente di stimare il grado di similarità dei motivi allineati in modo ragionevole. Tuttavia, il valore di tness dipende in maniera consistente, non solo dalla disposizione dei nucleotidi all'interno della matrice, ma anche dalla loro distribuzione di fondo sull'intero dataset. Ciò suggerisce che la composizione delle sequenze è uno degli aspetti che incide in maniera determinante sulle prestazioni dell'algoritmo, al pari della congurazione dei parametri utilizzati. Inoltre, risultati sperimentali hanno dimostrato che, se la lunghezza media delle sequenze è bassa (< 100 bps), la frequenza così calcolata provoca in alcuni casi anomalie nel funzionamento, riducendo l'accuratezza della predizione. In altre parole la distribuzione di fondo dei nucleotidi non consente quasi mai all'algoritmo genetico di evolvere verso un ottimo globale e trovare il consenso reale. In tal caso si assegna, a ciascun nucleotide, una frequenza del 25%, quindi pari a 1 4. Nell'implementazione proposta si è poi scelto di assegnare 1 a ciascun pseudo contatore, questo è un valore che viene spesso utilizzato in letteratura per problemi di questo genere Meccanismo di selezione Una volta valutati gli individui della popolazione entra in gioco il meccanismo di selezione. Nell'approccio proposto si è scelto di implementare sia la Roulette Wheel Selection (come nello schema canonico) [appendice pag. 41] che un secondo meccanismo, denito Tournament Selection [appendice pag. 42]. Della prima si è parlato ampiamente nel terzo capitolo e non occorre aggiungere altro, se non che ciascun individuo ha una probabilità riproduttiva pari al suo valore di tness normalizzato; la seconda è una tecnica che utilizza un principio di selezione completamente diverso. Si procede estraendo casualmente un pool di competitori di cardinalità k (tournament size). Questi vengono fatti competere e alla ne l'individuo selezionato sarà quello con il valore di tness più alto, come sintetizzato in Figura 4.5. Figura 4.5: Tournament Selection

27 4.1 Presentazione del software sviluppato 22 Questo meccanismo, come ogni altro strumento di selezione, può esser descritto analiticamente denendo alcune metriche [1]: 1. la perdita di diversità, che indica la proporzione di individui non selezionati, nelle diverse generazioni; 2. l'intensità selettiva, che costituisce la media attesa dei valori di tness (dopo aver applicato il meccanismo di selezione ad una distribuzione Gaussiana); 3. la varianza selettiva, che rappresenta la varianza attesa della distribuzione di tness (dopo aver applicato il meccanismo di selezione ad una distribuzione Gaussiana).. Una distribuzione Gaussiana (o normale) è una funzione continua utilizzata per descrivere statisticamente degli eventi: (x µ) 2 f(x) = 1 σ 2π e 2σ 2 con < x < dove µ e σ 2 sono rispettivamente la media (o valore atteso) e la varianza (quadrato della deviazione standard). Questa consente di derivare delle curve, le cui aree sottese hanno sempre valore 1 (Figura 4.6): Figura 4.6: Curve di Gauss La conoscenza di questa funzione permette di prevedere la probabilità che il risultato di una misura (la variabile x) cada entro un prescelto intervallo di valori; in riferimento alla gura 4.6 (curva verde), la probabilità che x cada in

28 4.1 Presentazione del software sviluppato 23 un intervallo centrato sul valore medio µ e di estremi ±σ è del 68,27% (con ±2σ 95,45% e ±3σ 99,73%). Detto ciò cerchiamo di denire formalmente le metriche sopra citate e di capirne il signicato; durante la selezione gli individui peggiori vengono scartati e rimpiazzati da quelli migliori (copie, eventualmente ricombinate). La perdita di diversità determina proprio il numero di cromosomi sostituiti durante la selezione: LossDiversity(k) k 1 k 1 k k k 1 ciò comporta, con k uguale a 5, una perdita pari al 50% della popolazione corrente. L'intensità (o pressione) selettiva misura concettualmente il variare della tness media, nella popolazione, prima e dopo aver applicato il meccanismo di selezione: SelInternsity(k) 2 { [ 4.14 ] ln (k) ln ln (k) questa aumenta al crescere del parametro k, come mostrato in tabella (4.3): Tournament size (k) Selection Variance Tabella 4.3: Intensità selettiva La varianza selettiva è un indicatore di dispersione che ci dice quanto più un individuo possa discostarsi dal valore medio: SelV ariance(k) ln ( k) questa si diversica in maniera inversamente proporzionale al crescere del parametro k, come mostrato in tabella (4.4), e si annulla se gli individui della popolazione hanno tutti lo stesso valore di tness: Tournament size (k) Selection Intensity Tabella 4.4: Varianza selettiva

29 4.1 Presentazione del software sviluppato 24 Le relazioni fra queste tre metriche possono essere riassunte con il graco in gura (4.7): Figura 4.7: Relazioni varianza, intensità e diversità Alla luce delle considerazioni appena illustrate, nell'approccio proposto si è scelto di utilizzare un pool di 10 (k) competitori. Tuttavia, non è garantito che questo sia il compromesso migliore per tutti i tipi di esperimenti. L'in- uenza di tale parametro sull'accuratezza predittiva dell'algoritmo, dipende necessariamente dal numero di individui che compongono la popolazione. Così si è deciso di lasciare all'utente la possibilità di impostare tale valore, al pari della popolazione, della probabilità di mutazione e di tutti gli altri parametri da congurare. Questo aumenta la dicoltà nel trovare il setting migliore, ma è altresì vero che lascia l'utente libero di esplorare in maniera variegata lo spazio di ricerca cambiando la pressione selettiva dell'algoritmo. Laddove il setting proposto non portasse a risultati accettabili, variando la congurazione iniziale e con essa il numero di competitors, può darsi che si riescano ad ottenere risultati migliori, aumentando l'ecacia dell'algoritmo. Il fatto che i due meccanismi di selezione adottati, utilizzino principi di funzionamento completamente diversi, suggerisce che non vi può essere una prevalenza assoluta, uno nei confronti dell'altro. In eetti vi sono datasets in cui la Roulette Wheel Selection ore risultati migliori rispetto alla Tournament Selection e altri dove quest'ultima, viceversa, garantisce un'accuratezza di predizione migliore della prima Crossover e mutazione Nell'approccio proposto, a fronte di una popolazione di n cromosomi, si selezionano n 2 individui. Questi vengono ricombinati [appendice pag. 44] con

30 4.1 Presentazione del software sviluppato 25 probabilità p c, utilizzando uno dei meccanismi illustrati nel capitolo precedente (a singolo [appendice pag. 42] o doppio punto di taglio [appendice pag. 43]). A questo punto, a dierenza dello schema canonico, viene mutata l'intera popolazione e non il solo ospring; non potendo utilizzare la Bitwise Mutation, per come si è scelto di rappresentare i cromosomi, si procede mutando [appendice pag. 45] le singole posizioni iniziali di ciascun individuo con probabilità p m, semplicemente generando a caso un intero nell'intorno [0-Limit] (Limit è stato denito nel paragrafo precedente): Figura 4.8: Crossover e mutazione Inne, per mantenere la popolazione in numero costante, un terzo dei cromosomi, quelli con il valore di tness più basso, vengono eliminati [appendice pag. 46]. Ciò consente di derivare una nuova popolazione che può essere sottoposta a nuovi cicli iterativi, ripetendo l'intero processo sin qui descritto. Nell'algoritmo implementato la ricerca [appendice pag. 46] del consenso termina dopo un certo numero di iterazioni, parametro specicato dall'utente nella congurazione di input Implementazione L'algoritmo può essere riassunto esaustivamente con lo pseudo-codice seguente: 1. Scegli congurazione Imposta patternwidth = grandezza pattern; Imposta iterationnumber = numero di iterazioni; Imposta shiftrange = scostamento; Imposta crossoverprobability = probabilità ricombinazione; Imposta mutationprobability = probabilità mutazione; Imposta populationsize = numero individui; Imposta tournamentsize = pool competitori; Seleziona crossover type = strategia crossover; Seleziona selection type = meccanismo di selezione; 2. Inizializza popolazione casualmente

31 4.1 Presentazione del software sviluppato Valuta ogni candidato { Do loop (-shiftrange <= i <= shiftrange) { Incrementa i a tutte le posizioni iniziali Ottieni matrice allineata sulla base delle nuove posizioni iniziali Calcola valore di tness, come somma dei contenuti informativi if (maxfitness < currentfitness) maxfitness = currentfitness Ritorna maxfitness; 4. Ripeti n volte (n = iterationnumber) { Seleziona individui-genitore Ricombina individui-genitore Muta l'intera popolazione, individui-genitore e gli Valuta i nuovi candidati (funzione di tness) Rimuovi gli individui peggiori 5. Mostra il consenso predetto Ora rimane soltanto da denire la congurazione migliore; dai test eettuati si è propeso nell'utilizzare la seguente combinazione di parametri: 1. Probabilità crossover: Probabilità mutazione: Shift range: [-3; 3] 4. Grandezza popolazione: Numero di generazioni: Meccanismo di selezione: Tournament & Roulette Wheel Selection 7. Tipo crossover: Singolo punto di taglio 8. Pool competitori: 10 Può darsi che questa non sia in assoluto la congurazione ottimale, ma di certo quella che nei test eettuati consente di ottenere il migliore compromesso in termini di accuratezza predittiva e tempo di elaborazione necessario. Come spiegato ampiamente in precedenza è n troppo dicile trovare un setting che si

32 4.1 Presentazione del software sviluppato 27 adatti a tutte le tipologie di test, se si considera la vastità dello spazio di ricerca e la molteplicità dei parametri che inuenzano le prestazioni dell'algoritmo. Pertanto, una congurazione può funzionare meglio con certi datasets, ed esser al contrario decitaria con altri. Chi utilizza questo tipo di strumenti deve avere la pazienza di cambiare il setting dei parametri ntanto non si riesca a trovare un buon compromesso. Tuttavia, si possono fare alcune considerazioni che in linea di massima dovrebbero valere a prescindere il tipo di sequenze. Se si diminuisce il numero di generazioni si perde in accuratezza predittiva salvo i casi in cui le sequenze sono molto corte, mentre accrescendolo non si conseguono vantaggi evidenti ma piuttosto il carico computazionale del tool diventa inutilmente gravoso. Per quanto concerne la grandezza della popolazione, oltre i 200 individui, aumenta in maniera eccessiva il tempo di elaborazione (può persino quintuplicare). Ciò suggerisce che non vale la pena utilizzare una popolazione ntroppo ampia; anche se questo comportasse dei miglioramenti sull'ecacia dell'algoritmo, con una popolazione ristretta si avrebbe comunque una maggiore probabilità di trovare il consenso reale, poiché nello stesso lasso temporale si potrebbe eettuare un numero superiore di prove. Aumentando, inne, la probabilità di crossover e soprattutto quella di mutazione, si ottengono (in media) risultati non lontani da quelli maturabili con la congurazione proposta, ma si perde in termini di precisione.

33 Capitolo 5 Risultati sperimentali Tutti i test riportati di seguito, sono stati eettuati sulla stessa congurazione hardware 1 e utilizzando i parametri, che garantiscono il miglior binomio accuratezza predittiva/tempo di elaborazione (Tabella 5.1): Tipo Parametro Probabilità crossover 0.4 Probabilità mutazione 0.01 Shift range [-3; 3] Grandezza popolazione Numero di generazioni Meccanismo di selezione Tournament & Roulette Wheel Selection Tipo crossover Singolo punto di taglio Pool competitori 10 Tabella 5.1: Parametri utilizzati Come spiegato in precedenza, i motivi funzionali sono in genere sconosciuti a priori e si dispone soltanto di un pool di sequenze rispondenti agli stessi stimoli biologici. Per poter testare il principio di funzionamento del software sviluppato, questa non è di certo la condizione ideale; infatti, se si conoscessero per assurdo i siti di binding contenuti all'interno delle sequenze e il consenso relativo, testare il tool diventerebbe un operazione banale, in quanto basterebbe semplicemente vericare la conformità dei risultati prodotti. Inoltre, sapendo l'esatta posizione occupata da ciascun motivo all'interno delle sequenze, si potrebbe calcolare la precisione del tool; Questa metrica consente di capire quanto più l'algoritmo riesce ad avvicinarsi all'individuazione dei motivi reali in ciascuna sequenza: P recision = 1 Intel Pentium M centrino 1.73Ghz overlappedp ositions realp ositions

34 5.1 Datasets sintetici 29 è pertanto il rapporto tra il numero di posizioni predette correttamente dal software (overlappedp ositions = realp ositions predictedp ositions) e quelle reali. Ciò signica che se l'algoritmo indovina su tutte le sequenze il vero sito di binding si ottiene il valore 1, precisione massima. 5.1 Datasets sintetici Da qui l'idea di generare dei datasets sintetici, composti da un numero arbitrario di sequenze costruite articialmente, con l'ausilio di un piccolo applicativo software scritto in Java. Questo, dati in ingresso 5 parametri che sono rispettivamente, lunghezza del pattern, grandezza e numero di sequenze, numero massimo di posizioni da mutare e probabilità di mutazione, consente di generare 3 le, di cui 2 nel formato fasta (le-sequenza) e 1 con estensione.pos (le di posizione, che diventa indispensabile se si vuole calcolare la precisione). Figura 5.1: Diagramma di usso generatore di sequenze Il principio di funzionamento del software (Figura 5.1) è molto semplice; per

35 5.1 Datasets sintetici 30 prima cosa vengono generate casualmente, con probabilità uniforme, delle sequenze e un pattern. Quindi, si procede impiantando il motivo generato all'interno di tutte le sequenze, in una posizione anch'essa scelta a caso. Costruito l'intero dataset, questo viene inserito in un le di testo nel formato fasta e gli interi di posizione stampati in un le.pos. Avere lo stesso pattern in tutte le sequenze rende, però, un dataset poco signicativo, poiché non sono ammesse quelle mutazione che nella realtà occorrono abbastanza di frequente. Così, prima di inserire un motivo funzionale, all'interno di una sequenza, questo viene mutato con probabilità p m. In pratica, attraverso un meccanismo stocastico, si decide quando mutare il pattern in una delle sue posizioni (per un massimo specicato tra i parametri di input). Questo consente, dunque, di generare un secondo le-sequenza, con i siti di binding mutati in qualche loro posizione. Il meccanismo appena descritto permette di derivare delle coppie di datasets sintetici, in cui sono impiantati dei patterns noti o eventualmente le loro varianti mutate. Nei test eettuati, in particolare, sono state generate 13 coppie di datasets, utilizzando una probabilità di mutazione del 50% e un massimo di 2 posizioni mutabili. Un singolo dataset è composta da 15 sequenze di 500 nucleotidi ciascuna. Lunghezza Pattern RW Prec RWm Prec 8 1/ / / / / / / / / / / / / / / / / / / / / / / / / / Tabella 5.2: Test datasets sintetici La tabella 5.2 mostra i risultati dei test eettuati utilizzando come meccanismo di selezione la Roulette Wheel. Le colonne riportano rispettivamente (da sinistra verso destra): 1. lunghezza del pattern; 2. patterns trovati con successo all'interno del dataset non mutato (su 10 runs);

36 5.1 Datasets sintetici precisione massima raggiunta (in almeno 1 run, in riferimento alla seconda colonna); 4. patterns trovati con successo all'interno del dataset mutato (su 10 runs); 5. precisione massima raggiunta (in almeno 1 run, in riferimento alla quarta colonna). La cosa interessante da notare è che su 10 runs il software trova sempre il pattern reale (almeno una volta). Lunghezza Pattern TS Prec TSm Prec 8 2/ / / / / / / / / / / / / / / / / / / / / / / / / / Tabella 5.3: Test datasets sintetici La tabella 5.3 mostra, invece, i risultati dei test eettuati utilizzando la Tournament Selection. Anche in questo caso il software trova sempre il pattern reale, salvo quello di lunghezza 8 relativo al dataset mutato (TSm) e quello di lunghezza 9 relativo al dataset non mutato (TS). Se si analizzano entrambi le tabelle ( 5.2 e 5.3) si evince che in generale, come è lecito aspettarsi, all'aumentare della dimensione del pattern da trovare migliorano sensibilmente le prestazioni del software, anche se senza una regola precisa. Questo perché, come detto nei capitoli precedenti, le prestazioni dell'algoritmo dipendono in maniera determinante dalla composizione delle sequenze (in riferimento alla tabella 5.3 si noti come certi patterns mutati vengano trovati più frequentemente degli stessi non mutati, o come in alcuni casi il software riesca a trovare con maggiore facilità patterns più brevi; e.g. 18 vs 19-20).

37 5.2 Datasets biologici Datasets biologici I datasets biologici utilizzati nei test seguenti sono tutti nel formato fasta e reperibili in 2 dierenti basi di dati: YDR02c binding sites Motif-nding program AlignACE [10] BioProspector [8] Consensus [4] Gibbs Sampler [7] MEME GA: RW GA: TS Predicted Motif - TCCGGGTAAA TACCGGGTAA CCGGGTAAAA TATTTTGATG GTCCGGGTAA TGCCGGGTAA TGCCGGGTAA Tabella 5.4: YDR02c dataset [3] Il dataset YDR02c consiste di 15 sequenze a lunghezza variabile, di cui non si conosce il consenso reale, in quanto non sono mai state eettuate delle prove sperimentali (e.g. DNA footprinting 2 ). La tabella 5.4 mostra il consenso predetto dal software sviluppato, utilizzando ambedue i meccanismi di selezione (GA: RW e TS) e quelli restituiti da altri programmi, noti in letteratura. Si può notare come tutti i consensi siano molto simili tra di loro (versioni leggermente mutate o shiftate) ad eccezione di quello restituito da Gibbs Sampler, che sembra esser un pattern completamente diverso. Questo è un aspetto certamente confortante, anche se non esistono ancora riprove sperimentali CRP binding sites Il dataset della proteina recettore dell'amp (CRP) è composto da 18 sequenze di 105 nucleotidi ciascuna, in cui sono stati scoperti, grazie alla DNA footprinting 2, 23 motivi funzionali lunghi 22 bps [11, 12]. 2 Metodologia sperimentale per l'individuazione dei motivi reali

38 5.2 Datasets biologici 33 Pattern found Precision Times GA: RW TGTGATCGAGGTCACACTTTTG /10 GA: TS TGTGATCGAGGTCACACTTTTG /10 Reale TTATGTGATCGAGTTCACACTT Tabella 5.5: CRP dataset La tabella 5.5 mostra il consenso restituito dal software sviluppato e la frequenza relativa (su 10 runs). In basso, invece, viene riportato il consenso reale comprovato sperimentalmente con la tecnica della DNA footprinting 2. Si può notare come il consenso restituito dal tool sia una variante shiftata di quello reale (gura 5.2), con una precisione dell'86%; in rosso sono evidenziate le corrispondenze esatte tra i due consensi. Figura 5.2: consenso reale (true) e predetto (ga) con i loghi relativi, dove l'altezza di ciascuna lettera è proporzionale alla propria frequenza 3 É interessante osservare come il consenso predetto dierisca da quello reale di un solo nucleotide (G al posto di T, freccia tabella 5.5). Per avere maggiore chiarezza su questo aspetto si è provato ad analizzare la PWM relativa. Figura 5.3: Logo sequenza CRP 3 Two Sample Logos:

La struttura dell RNA Struttura dell RNA mediante analisi comparativa Predizione della struttura secondaria: L algoritmo di Nussinov Predizione della

La struttura dell RNA Struttura dell RNA mediante analisi comparativa Predizione della struttura secondaria: L algoritmo di Nussinov Predizione della 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

Dettagli

Diversità tra i viventi

Diversità tra i viventi Diversità tra i viventi PROPRIETÀ della VITA La CELLULA CLASSIFICAZIONE dei VIVENTI Presentazione sintetica Alunni OIRM Torino Tutti i viventi possiedono delle caratteristiche comuni Ciascun vivente nasce,

Dettagli

La trascrizione nei procarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie

La trascrizione nei procarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie La trascrizione nei procarioti Concetti base Nucleoside base purinica o pirimidinica legata alla posizione 1 dell anello pentoso Nucleotide base azotata-pentoso-fosfato Concetti base La trascrizione comporta

Dettagli

unità C3. Le cellule crescono e si riproducono

unità C3. Le cellule crescono e si riproducono unità 3. Le cellule crescono e si riproducono Durante l interfase la cellula aumenta di dimensioni sintetizza nuove proteine e nuovi organuli duplica il DN al termine di questi processi la cellula compie

Dettagli

DI REGOLAZIONE A DUE COMPONENTI

DI REGOLAZIONE A DUE COMPONENTI LEZIONE 16 Sistemi di regolazione SISTEMI DI REGOLAZIONE A DUE COMPONENTI In che modo un batterio sente e risponde a specifici segnali provenienti dall ambiente? Per esempio, nel caso dell operone lac

Dettagli

ncdna Per ncdna si intende il DNA intronico, intergenico e altre zone non codificanti del genoma.

ncdna Per ncdna si intende il DNA intronico, intergenico e altre zone non codificanti del genoma. ncdna Per ncdna si intende il DNA intronico, intergenico e altre zone non codificanti del genoma. ncdna è caratteristico degli eucarioti: Sequenze codificanti 1.5% del genoma umano Introni in media 95-97%

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA)

SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA) SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA) ORGANIZZAZIONE TERZIARIA DEL DNA Il DNA cellulare contiene porzioni geniche e intergeniche, entrambe necessarie per le funzioni vitali della

Dettagli

La trascrizione negli eucarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie

La trascrizione negli eucarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie La trascrizione negli eucarioti Il promotore eucariotico L inizio della trascrizione negli eucarioti necessita della RNA polimerasi e dei fattori di trascrizione. Qualsiasi proteina sia necessaria per

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Il giardino nella macchina

Il giardino nella macchina Idee per una rilettura Il giardino nella macchina La nuova scienza della vita artificiale Claus Emmeche Bollati Boringhieri, 1996 È possibile la vita artificiale? In che modo gli strumenti offerti dalla

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Intrusion Detection System

Intrusion Detection System Capitolo 12 Intrusion Detection System I meccanismi per la gestione degli attacchi si dividono fra: meccanismi di prevenzione; meccanismi di rilevazione; meccanismi di tolleranza (recovery). In questo

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Infatti il glucosio viene bruciato in presenza di ossigeno e l'energia liberata, immagazzinata sotto forma di ATP

Infatti il glucosio viene bruciato in presenza di ossigeno e l'energia liberata, immagazzinata sotto forma di ATP I mitocondri sono gli organuli responsabili della produzione di energia necessaria alla cellula per crescere e riprodursi. Queste reazioni, che nel loro insieme costituiscono il processo di "respirazione

Dettagli

La MKT (Mean Kinetic Temperature) come criterio di accettabilità sui controlli della temperatura

La MKT (Mean Kinetic Temperature) come criterio di accettabilità sui controlli della temperatura La (Mean Kinetic Temperature) come criterio di accettabilità sui controlli della temperatura Come funzionano i criteri di valutazione sulla temperatura Vi sono 5 parametri usati per la valutazione del

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

RELAZIONE TRA DUE VARIABILI QUANTITATIVE

RELAZIONE TRA DUE VARIABILI QUANTITATIVE RELAZIONE TRA DUE VARIABILI QUANTITATIVE Quando si considerano due o più caratteri (variabili) si possono esaminare anche il tipo e l'intensità delle relazioni che sussistono tra loro. Nel caso in cui

Dettagli

4.2. IL TEST F DI FISHER O ANALISI DELLA VARIANZA (ANOVA)

4.2. IL TEST F DI FISHER O ANALISI DELLA VARIANZA (ANOVA) 4.2. IL TEST F DI FISHER O ANALISI DELLA VARIANZA (ANOVA) L analisi della varianza è un metodo sviluppato da Fisher, che è fondamentale per l interpretazione statistica di molti dati biologici ed è alla

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

Predire la struttura terziaria

Predire la struttura terziaria Predire la struttura terziaria E di gran lunga la predizione più complessa che si possa fare su una proteina. Esistono 3 metodi principali di predizione: 1 - Homology modelling: se si conoscono proteine

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Gli organismi viventi

Gli organismi viventi Gli organismi viventi Gli organismi viventi Quali caratteristiche contraddistinguono i viventi? È facile distinguere un organismo vivente da un oggetto non vivente? Gli organismi viventi Tutti gli organismi

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Verica di Matematica su dominio e segno di una funzione [COMPITO 1]

Verica di Matematica su dominio e segno di una funzione [COMPITO 1] Verica di Matematica su dominio e segno di una funzione [COMPITO 1] Esercizio 1. Determinare il dominio delle seguenti funzioni: 1. y = 16 x ;. y = e 1 x +4 + x + x + 1; 3. y = 10 x x 3 4x +3x; 4. y =

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

Introduzione ai Microarray

Introduzione ai Microarray Introduzione ai Microarray Anastasios Koutsos Alexandra Manaia Julia Willingale-Theune Versione 2.3 Versione italiana ELLS European Learning Laboratory for the Life Sciences Anastasios Koutsos, Alexandra

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA 1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini

Dettagli

MODELLI MATEMATICI: I TANTI VOLTI DELLA REALT A 1 Introduzione La nozione di modello risale al sec. VI a.c. quando Pitagora tento di denire la struttura dell'universo attraverso l'analisi di numeri che

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

unità B3. Le teorie sull evoluzione

unità B3. Le teorie sull evoluzione documentazione fossile è provata da embriologia comparata anatomia comparata biologia molecolare L evoluzione avviene per selezione naturale microevoluzione può essere macroevoluzione speciazione allopatrica

Dettagli

1. Manifestano la loro azione negativa solo in età adulta avanzata

1. Manifestano la loro azione negativa solo in età adulta avanzata Perché invecchiamo? La selezione naturale opera in maniera da consentire agli organismi con i migliori assetti genotipici di tramandare i propri geni alla prole attraverso la riproduzione. Come si intuisce

Dettagli

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA Esercizi su eventi, previsioni e probabilità condizionate Nota: Alcuni esercizi sono tradotti, più o meno fedelmente, dal libro A first course in probability

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA. Filippo Romano 1

UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA. Filippo Romano 1 UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA Filippo Romano 1 1. Introduzione 2. Analisi Multicriteri o Multiobiettivi 2.1 Formule per l attribuzione del

Dettagli

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le tre leggi di Mendel, che descrivono la trasmissione dei caratteri ereditari da una generazione all altra, segnano l inizio della

Dettagli

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys.

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys. METODO DEI MINIMI QUADRATI GIUSEPPE GIUDICE Sommario Il metodo dei minimi quadrati è trattato in tutti i testi di statistica e di elaborazione dei dati sperimentali, ma non sempre col rigore necessario

Dettagli

Le pr p in i c n ip i ali ali st s rategie ie i d regola zio i n o e n d e d ll esp s re p ss s ion ion g ni n c i a n e n i i pr p oc o ariot i i

Le pr p in i c n ip i ali ali st s rategie ie i d regola zio i n o e n d e d ll esp s re p ss s ion ion g ni n c i a n e n i i pr p oc o ariot i i Le principali strategie di regolazione dell espressione genica nei procarioti Regolazione metabolica Nel genoma di un microorganismo sono presenti migliaia di geni (3000-6000). Alcuni geni vengono espressi

Dettagli

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA SVILUPPO DI METODI DECONVOLUTIVI PER L INDIVIDUAZIONE DI SORGENTI INDIPENDENTI

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Business Process Reengineering

Business Process Reengineering Business Process Reengineering AMMISSIONE ALL'ESAME DI LAUREA Barbagallo Valerio Da Lozzo Giordano Mellini Giampiero Introduzione L'oggetto di questo lavoro riguarda la procedura di iscrizione all'esame

Dettagli

Da dove prendono energia le cellule animali?

Da dove prendono energia le cellule animali? Da dove prendono energia le cellule animali? La cellula trae energia dai legami chimici contenuti nelle molecole nutritive Probabilmente le più importanti sono gli zuccheri, che le piante sintetizzano

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

LA PROGETTAZIONE Come fare un progetto. LA PROGETTAZIONE Come fare un progetto

LA PROGETTAZIONE Come fare un progetto. LA PROGETTAZIONE Come fare un progetto LA PROGETTAZIONE 1 LA PROGETTAZIONE Oggi il raggiungimento di un obiettivo passa per la predisposizione di un progetto. Dal mercato al terzo settore passando per lo Stato: aziende, imprese, organizzazioni,

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

RELAZIONE TRA VARIABILI QUANTITATIVE. Lezione 7 a. Accade spesso nella ricerca in campo biomedico, così come in altri campi della

RELAZIONE TRA VARIABILI QUANTITATIVE. Lezione 7 a. Accade spesso nella ricerca in campo biomedico, così come in altri campi della RELAZIONE TRA VARIABILI QUANTITATIVE Lezione 7 a Accade spesso nella ricerca in campo biomedico, così come in altri campi della scienza, di voler studiare come il variare di una o più variabili (variabili

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testualilezione 2 Le principali tecniche di analisi testuale Facendo riferimento alle tecniche di data mining,

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08 Alberto Perotti, Roberto Garello DELEN-DAUIN Processi casuali Sono modelli probabilistici

Dettagli

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una NUMERI INTERI E NUMERI DECIMALI Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una cassetta sono contenuti 45 penne e che una lamiera misura 1,35 m. dl lunghezza,

Dettagli

Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp.

Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp. RECENSIONI&REPORTS recensione Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp. 154, 12 «Il vasto e importante e molto

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca

ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca Trascrizione del testo e redazione delle soluzioni di Paolo Cavallo. La prova Il candidato svolga una relazione

Dettagli

1 Medie. la loro media aritmetica è il numero x dato dalla formula: x = x 1 + x 2 +... + x n

1 Medie. la loro media aritmetica è il numero x dato dalla formula: x = x 1 + x 2 +... + x n 1 Medie La statistica consta di un insieme di metodi atti a elaborare e a sintetizzare i dati relativi alle caratteristiche di una fissata popolazione, rilevati mediante osservazioni o esperimenti. Col

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Cosa succede in un laboratorio di genetica?

Cosa succede in un laboratorio di genetica? 12 laboratori potrebbero utilizzare campioni anonimi di DNA per lo sviluppo di nuovi test, o condividerli con altri in quanto parte dei programmi di Controllo di Qualità, a meno che si chieda specificatamente

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Principal Component Analysis

Principal Component Analysis Principal Component Analysis Alessandro Rezzani Abstract L articolo descrive una delle tecniche di riduzione della dimensionalità del data set: il metodo dell analisi delle componenti principali (Principal

Dettagli

Cristian Secchi Pag. 1

Cristian Secchi Pag. 1 CONTROLLI DIGITALI Laurea Magistrale in Ingegneria Meccatronica SISTEMI A TEMPO DISCRETO Ing. Tel. 0522 522235 e-mail: cristian.secchi@unimore.it http://www.dismi.unimo.it/members/csecchi Richiami di Controlli

Dettagli

I db, cosa sono e come si usano. Vediamo di chiarire le formule.

I db, cosa sono e come si usano. Vediamo di chiarire le formule. I db, cosa sono e come si usano. Il decibel è semplicemente una definizione; che la sua formulazione è arbitraria o, meglio, è definita per comodità e convenienza. La convenienza deriva dall osservazione

Dettagli

Dott.ssa Caterina Gurrieri

Dott.ssa Caterina Gurrieri Dott.ssa Caterina Gurrieri Le relazioni tra caratteri Data una tabella a doppia entrata, grande importanza riveste il misurare se e in che misura le variabili in essa riportata sono in qualche modo

Dettagli

Analisi statistica di dati biomedici Analysis of biologicalsignals

Analisi statistica di dati biomedici Analysis of biologicalsignals Analisi statistica di dati biomedici Analysis of biologicalsignals II Parte Verifica delle ipotesi (a) Agostino Accardo (accardo@units.it) Master in Ingegneria Clinica LM in Neuroscienze 2013-2014 e segg.

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Rapporto CESI. Cliente: Oggetto: Ordine: Contratto CESI n. 71/00056. Note: N. pagine: 13 N. pagine fuori testo: Data: 30.05.2000.

Rapporto CESI. Cliente: Oggetto: Ordine: Contratto CESI n. 71/00056. Note: N. pagine: 13 N. pagine fuori testo: Data: 30.05.2000. A0/010226 Pag.1/13 Cliente: Ricerca di Sistema Oggetto: Determinazione della tenacità di acciai eserciti - Correlazioni per stime di FATT da prove Small Punch Ordine: Contratto CESI n. 71/00056 Note: DEGRADO/GEN04/003

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

Stima per intervalli Nei metodi di stima puntuale è sempre presente un ^ errore θ θ dovuto al fatto che la stima di θ in genere non coincide con il parametro θ. Sorge quindi l esigenza di determinare una

Dettagli

Esistenza di funzioni continue non differenziabili in alcun punto

Esistenza di funzioni continue non differenziabili in alcun punto UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN MATEMATICA Esistenza di funzioni continue non differenziabili in alcun punto Relatore Prof. Andrea

Dettagli

Università del Piemonte Orientale. Corso di laurea in biotecnologia. Corso di Statistica Medica. Analisi dei dati quantitativi :

Università del Piemonte Orientale. Corso di laurea in biotecnologia. Corso di Statistica Medica. Analisi dei dati quantitativi : Università del Piemonte Orientale Corso di laurea in biotecnologia Corso di Statistica Medica Analisi dei dati quantitativi : Confronto tra due medie Università del Piemonte Orientale Corso di laurea in

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Numeri reali. Funzioni e loro grafici

Numeri reali. Funzioni e loro grafici Argomento Numeri reali. Funzioni e loro grafici Parte B - Funzioni e loro grafici Funzioni reali di variabile reale Definizioni. Supponiamo che A sia un sottoinsieme di R e che esista una legge che ad

Dettagli

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE. Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE. Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco ANALISI DI SITUAZIONE - LIVELLO COGNITIVO La classe ha dimostrato fin dal primo momento grande attenzione e interesse verso gli

Dettagli

Gli eventi sono stati definiti come i possibili risultati di un esperimento. Ogni evento ha una probabilità

Gli eventi sono stati definiti come i possibili risultati di un esperimento. Ogni evento ha una probabilità Probabilità Probabilità Gli eventi sono stati definiti come i possibili risultati di un esperimento. Ogni evento ha una probabilità Se tutti gli eventi fossero ugualmente possibili, la probabilità p(e)

Dettagli

Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione

Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione Consideriamo il nostro dataset formato da 468 individui e 1 variabili nominali costituite dalle seguenti modalità : colonna D: Age of client

Dettagli

19. Inclusioni tra spazi L p.

19. Inclusioni tra spazi L p. 19. Inclusioni tra spazi L p. Nel n. 15.1 abbiamo provato (Teorema 15.1.1) che, se la misura µ è finita, allora tra i corispondenti spazi L p (µ) si hanno le seguenti inclusioni: ( ) p, r ]0, + [ : p

Dettagli

Ministero, dell'istruzione, dell Università e della Ricerca

Ministero, dell'istruzione, dell Università e della Ricerca Prot. n. 612 Spedito il 30/3/2010 All On.le Ministro SEDE OGGETTO: Valutazione della ricerca. Adunanza del 25.03.2010 IL CONSIGLIO UNIVERSITARIO NAZIONALE APPROVA IL SEGUENTE DOCUMENTO: Introduzione Ogni

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

UN CASO CONCRETO DI VALUTAZIONE DELLA SODDISFAZIONE DEL CLIENTE

UN CASO CONCRETO DI VALUTAZIONE DELLA SODDISFAZIONE DEL CLIENTE Tratto dal corso Ifoa UN CASO CONCRETO DI VALUTAZIONE DELLA SODDISFAZIONE DEL CLIENTE Recentemente, si sono sviluppati numerosi modelli finalizzati a valutare e a controllare il livello di soddisfazione

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Principal Component Analysis (PCA)

Principal Component Analysis (PCA) Principal Component Analysis (PCA) Come evidenziare l informazione contenuta nei dati S. Marsili-Libelli: Calibrazione di Modelli Dinamici pag. Perche PCA? E un semplice metodo non-parametrico per estrarre

Dettagli