Programmazione logica per lo studio dell’evoluzione del genoma nel cancro
Responsabile: Alessandro Dal Palù
Abstract
Le moderne tecniche di sequenziamento applicate allo studio del genoma nel cancro hanno permesso di ottenere rilevanti moli di dati molto dettagliati. E oggi possibile ottenere, rapidamente e con costi accessibili, accurate informazioni riguardanti la sequenza di DNA di un organismo, la sua metilazione (utile per studi epigenetici), le modifiche agli istoni, l’espressione di geni e proteine per lo stesso campione di cellule su una scala temporale di diversi anni (eventualmente prima e dopo una terapia). Partendo da dati di questo tipo è possibile studiare l’evoluzione del genoma di un organismo o di un campione di cellule, focalizzandosi, ad esempio, su speciche proprietà o caratteristiche biologiche.
Il progetto proposto vuole studiare, dal punto di vista algoritmico, nuove tecniche di analisi e di mining di relazioni rilevanti, non prescindendo dalla contestualizzazione temporale. In particolare, rispetto agli algoritmi classici in cui spesso si cercano segnali robusti, al di sopra di una soglia di rumore, per poter identificare delle mutazioni di geni signicative, si vogliono utilizzare analisi piu precise che possono rivelare proprieta di dipendenza temporale nell’evoluzione del genoma. Nel dettaglio, intendiamo utilizzare tecniche di Programmazione Logica (ad esempio la Programmazione a Vincoli e l’Answer
Set Programming) che permettono di modellare in modo semplice ma espressivo le proprieta di interesse. Tali tecniche, sono gia proposte in letteratura per la ricerca di aplotipi e per le ricostruzioni di filogenesi su semplici sequenze di DNA. Finora i problemi sono stati arontati separatamente, ma la programmazione dichiarativa permette una agevole integrazione dei diversi modelli, che si rivela una scelta strategica negli scopi di questo progetto. Un ulteriore grado di difficoltà nasce dalla notevole mole di dati da analizzare e delle loro possibili inter-relazioni. Per far fronte a questo problema si prevede di utilizzare tecniche di programmazione parallela, ad esempio su schede GPU [3, 4], per poter ridurre significativamente i tempi di calcolo.