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:

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca

Dettagli

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca

Dettagli

DNA - RNA. Nucleotide = Gruppo Fosforico + Zucchero Pentoso + Base Azotata. Le unità fondamentali costituenti il DNA e l RNA sono i Nucleotidi.

DNA - RNA. Nucleotide = Gruppo Fosforico + Zucchero Pentoso + Base Azotata. Le unità fondamentali costituenti il DNA e l RNA sono i Nucleotidi. DNA - RNA Le unità fondamentali costituenti il DNA e l RNA sono i Nucleotidi. Nucleotide = Gruppo Fosforico + Zucchero Pentoso + Base Azotata. Esistono 4 basi azotate per il DNA e 4 per RNA Differenze

Dettagli

LE MOLECOLE INFORMAZIONALI. Lezioni d'autore Treccani

LE MOLECOLE INFORMAZIONALI. Lezioni d'autore Treccani LE MOLECOLE INFORMAZIONALI Lezioni d'autore Treccani Introduzione (I) I pionieri della biologia molecolare, scoperta la struttura degli acidi nucleici, pensarono di associare al DNA una sequenza di simboli,

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

LA GENETICA: DNA e RNA LA GENETICA. DNA e RNA. Prof. Daniele Verri

LA GENETICA: DNA e RNA LA GENETICA. DNA e RNA. Prof. Daniele Verri LA GENETICA DNA e RNA Prof. Daniele Verri L'acido desossiribonucleico o deossiribonucleico (DNA) è un acido nucleico che contiene le informazioni necessarie per la formazione di RNA e proteine. LA GENETICA:

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Capitolo 2 Distribuzioni di frequenza

Capitolo 2 Distribuzioni di frequenza Edizioni Simone - Vol. 43/1 Compendio di statistica Capitolo 2 Distribuzioni di frequenza Sommario 1. Distribuzioni semplici. - 2. Distribuzioni doppie. - 3. Distribuzioni parziali: condizionate e marginali.

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

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

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Un gioco con tre dadi

Un gioco con tre dadi Un gioco con tre dadi Livello scolare: biennio Abilità interessate Costruire lo spazio degli eventi in casi semplici e determinarne la cardinalità. Valutare la probabilità in diversi contesti problematici.

Dettagli

Relazioni statistiche: regressione e correlazione

Relazioni statistiche: regressione e correlazione Relazioni statistiche: regressione e correlazione È detto studio della connessione lo studio si occupa della ricerca di relazioni fra due variabili statistiche o fra una mutabile e una variabile statistica

Dettagli

Riproduzione Crossover Mutazione

Riproduzione Crossover Mutazione Algoritmi Genetici Sono algoritmi di ricerca basati sui principi evolutivi della selezione naturale e della genetica, che implicano la sopravvivenza degli elementi migliori e lo scambio di informazioni

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Parte I. Prima Parte

Parte I. Prima Parte Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY)

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) CICLO DI LEZIONI per Progetto e Gestione della Qualità Facoltà di Ingegneria CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) Carlo Noè Università Carlo Cattaneo e-mail: cnoe@liuc.it 1 CAPACITÀ DI PROCESSO Il

Dettagli

Metodi statistici per le ricerche di mercato

Metodi statistici per le ricerche di mercato Metodi statistici per le ricerche di mercato Prof.ssa Isabella Mingo A.A. 2014-2015 Facoltà di Scienze Politiche, Sociologia, Comunicazione Corso di laurea Magistrale in «Organizzazione e marketing per

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

1. Distribuzioni campionarie

1. Distribuzioni campionarie Università degli Studi di Basilicata Facoltà di Economia Corso di Laurea in Economia Aziendale - a.a. 2012/2013 lezioni di statistica del 3 e 6 giugno 2013 - di Massimo Cristallo - 1. Distribuzioni campionarie

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

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

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Un po di statistica. Christian Ferrari. Laboratorio di Matematica Un po di statistica Christian Ferrari Laboratorio di Matematica 1 Introduzione La statistica è una parte della matematica applicata che si occupa della raccolta, dell analisi e dell interpretazione di

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

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Corso di Psicometria Progredito

Corso di Psicometria Progredito Corso di Psicometria Progredito 3.1 Introduzione all inferenza statistica Prima Parte Gianmarco Altoè Dipartimento di Pedagogia, Psicologia e Filosofia Università di Cagliari, Anno Accademico 2013-2014

Dettagli

I punteggi zeta e la distribuzione normale

I punteggi zeta e la distribuzione normale QUINTA UNITA I punteggi zeta e la distribuzione normale I punteggi ottenuti attraverso una misurazione risultano di difficile interpretazione se presi in stessi. Affinché acquistino significato è necessario

Dettagli

GENETICA seconda parte

GENETICA seconda parte GENETICA seconda parte I cromosomi sono lunghe molecole di una sostanza l acido desossiribonucleico. DNA Il DNA è una lunga catena fatta da due lunghi fili avvolti su se stessi a doppia elica. Sembra una

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

11. Analisi statistica degli eventi idrologici estremi

11. Analisi statistica degli eventi idrologici estremi . Analisi statistica degli eventi idrologici estremi I processi idrologici evolvono, nello spazio e nel tempo, secondo modalità che sono in parte predicibili (deterministiche) ed in parte casuali (stocastiche

Dettagli

Regressione Mario Guarracino Data Mining a.a. 2010/2011

Regressione Mario Guarracino Data Mining a.a. 2010/2011 Regressione Esempio Un azienda manifatturiera vuole analizzare il legame che intercorre tra il volume produttivo X per uno dei propri stabilimenti e il corrispondente costo mensile Y di produzione. Volume

Dettagli

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI VERO FALSO CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI 1. V F Un ipotesi statistica è un assunzione sulle caratteristiche di una o più variabili in una o più popolazioni 2. V F L ipotesi nulla unita

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Prof.ssa Gamba Sabrina. Lezione 7: IL DNA. Duplicazione e sintesi delle proteine

Prof.ssa Gamba Sabrina. Lezione 7: IL DNA. Duplicazione e sintesi delle proteine Prof.ssa Gamba Sabrina Lezione 7: IL DNA Duplicazione e sintesi delle proteine concetti chiave della lezione Costituzione fisico-chimica del DNA Basi azotate Duplicazione Concetto di geni Rna Trascrizione

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Consideriamo due polinomi

Consideriamo due polinomi Capitolo 3 Il luogo delle radici Consideriamo due polinomi N(z) = (z z 1 )(z z 2 )... (z z m ) D(z) = (z p 1 )(z p 2 )... (z p n ) della variabile complessa z con m < n. Nelle problematiche connesse al

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere 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

Test statistici di verifica di ipotesi

Test statistici di verifica di ipotesi Test e verifica di ipotesi Test e verifica di ipotesi Il test delle ipotesi consente di verificare se, e quanto, una determinata ipotesi (di carattere biologico, medico, economico,...) è supportata dall

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

Analisi della performance temporale della rete

Analisi della performance temporale della rete Analisi della performance temporale della rete In questo documento viene analizzato l andamento nel tempo della performance della rete di promotori. Alcune indicazioni per la lettura di questo documento:

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Statistiche campionarie

Statistiche campionarie Statistiche campionarie Sul campione si possono calcolare le statistiche campionarie (come media campionaria, mediana campionaria, varianza campionaria,.) Le statistiche campionarie sono stimatori delle

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

15. Antico gioco russo

15. Antico gioco russo 15. Antico gioco russo In un antico gioco russo, attraverso i risultati casuali ottenuti dall allacciamento di cordicelle, i giovani cercavano una previsione sul tipo di legame che si sarebbe instaurata

Dettagli

Indice di rischio globale

Indice di rischio globale Indice di rischio globale Di Pietro Bottani Dottore Commercialista in Prato Introduzione Con tale studio abbiamo cercato di creare un indice generale capace di valutare il rischio economico-finanziario

Dettagli

Il flusso dell informazione genetica. DNA -->RNA-->Proteine

Il flusso dell informazione genetica. DNA -->RNA-->Proteine Il flusso dell informazione genetica DNA -->RNA-->Proteine Abbiamo visto i principali esperimenti che hanno dimostrato che il DNA è la molecola depositaria dell informazione genetica nella maggior parte

Dettagli

Applicazioni biotecnologiche in systems biology

Applicazioni biotecnologiche in systems biology Applicazioni biotecnologiche in systems biology Lezione #6 Dr. Marco Galardini AA 2012/2013 Gene regulation analysis Lezione #6 Dr. Marco Galardini AA 2012/2013 Regolazione genica Elementi molecolari e

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Calcolo delle probabilità

Calcolo delle probabilità Calcolo delle probabilità Laboratorio di Bioinformatica Corso A aa 2005-2006 Statistica Dai risultati di un esperimento si determinano alcune caratteristiche della popolazione Calcolo delle probabilità

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

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

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli

OCCUPATI SETTORE DI ATTIVITA' ECONOMICA

OCCUPATI SETTORE DI ATTIVITA' ECONOMICA ESERCIZIO 1 La tabella seguente contiene i dati relativi alla composizione degli occupati in Italia relativamente ai tre macrosettori di attività (agricoltura, industria e altre attività) negli anni 1971

Dettagli

REPLICAZIONE DEL DNA

REPLICAZIONE DEL DNA REPLICAZIONE DEL DNA La replicazione (o anche duplicazione) è il meccanismo molecolare attraverso cui il DNA produce una copia di sé stesso. Ogni volta che una cellula si divide, infatti, l'intero genoma

Dettagli

I documenti di www.mistermanager.it. Gli ingredienti per l allenamento per la corsa LE RIPETUTE

I documenti di www.mistermanager.it. Gli ingredienti per l allenamento per la corsa LE RIPETUTE I documenti di www.mistermanager.it Gli ingredienti per l allenamento per la corsa LE RIPETUTE Le Ripetute sono una delle forme di allenamento che caratterizzano i corridori più evoluti, in quanto partono

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Informatica grafica e Multimedialità. 4 Immagini grafiche

Informatica grafica e Multimedialità. 4 Immagini grafiche Immagini raster e vettoriali Le immagini grafiche si distinguono in due classi differenti: immagini raster e immagini vettoriali. Le immagini raster, dette anche pittoriche o pixel-oriented, dividono l

Dettagli

matematica probabilmente

matematica probabilmente IS science centre immaginario scientifico Laboratorio dell'immaginario Scientifico - Trieste tel. 040224424 - fax 040224439 - e-mail: lis@lis.trieste.it - www.immaginarioscientifico.it indice Altezze e

Dettagli

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse

Dettagli

VERIFICA DELLE IPOTESI

VERIFICA DELLE IPOTESI VERIFICA DELLE IPOTESI Nella verifica delle ipotesi è necessario fissare alcune fasi prima di iniziare ad analizzare i dati. a) Si deve stabilire quale deve essere l'ipotesi nulla (H0) e quale l'ipotesi

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

Capitolo 2 - Teoria della manutenzione: classificazione ABC e analisi di Pareto

Capitolo 2 - Teoria della manutenzione: classificazione ABC e analisi di Pareto Capitolo 2 - Teoria della manutenzione: classificazione ABC e analisi di Pareto Il presente capitolo continua nell esposizione di alcune basi teoriche della manutenzione. In particolare si tratteranno

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Laboratorio di Pedagogia Sperimentale. Indice

Laboratorio di Pedagogia Sperimentale. Indice INSEGNAMENTO DI LABORATORIO DI PEDAGOGIA SPERIMENTALE LEZIONE III INTRODUZIONE ALLA RICERCA SPERIMENTALE (PARTE III) PROF. VINCENZO BONAZZA Indice 1 L ipotesi -----------------------------------------------------------

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

E naturale chiedersi alcune cose sulla media campionaria x n

E naturale chiedersi alcune cose sulla media campionaria x n Supponiamo che un fabbricante stia introducendo un nuovo tipo di batteria per un automobile elettrica. La durata osservata x i delle i-esima batteria è la realizzazione (valore assunto) di una variabile

Dettagli

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A. 2005-06

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A. 2005-06 Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A. 2005-06 13 febbraio 2006 1 Descrizione Il progetto si compone delle seguenti fasi: 1. caricamento di soluzioni in formato

Dettagli

ANALISI DELLE FREQUENZE: IL TEST CHI 2

ANALISI DELLE FREQUENZE: IL TEST CHI 2 ANALISI DELLE FREQUENZE: IL TEST CHI 2 Quando si hanno scale nominali o ordinali, non è possibile calcolare il t, poiché non abbiamo medie, ma solo frequenze. In questi casi, per verificare se un evento

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE

Dettagli

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Chi deve recuperare il progetto del modulo 1 ha 1 ora e 30 minuti per svolgere gli esercizi 1, 2, 3 Chi deve recuperare

Dettagli

STATISTICA IX lezione

STATISTICA IX lezione Anno Accademico 013-014 STATISTICA IX lezione 1 Il problema della verifica di un ipotesi statistica In termini generali, si studia la distribuzione T(X) di un opportuna grandezza X legata ai parametri

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli