Metodi informatici per la Biologia Tommaso Russo – AA 2014/2015 PARTE I: Panoramica del corso 2 Obiettivi del Corso ¤ Offrire una una panoramica delle moderne applicazioni informatiche per la biologia: dai diversi linguaggi/ ambienti di programmazioni alle differenti basi di dati che i biologi utilizzano durante le loro ricerche ¤ Fornite un orientamento nella scelta delle metodologie più opportune per specifici casi di studio 3 Organizzazione del Corso ¤ Parte #1: consolidamento delle basi conoscitive relative all’informatica e all’utilizzo dei più comuni software per: ¤ l’organizzazione e editing dei dati (fogli di lavoro e database); ¤ la produzione e manipolazione di documenti (editor di testo come Microsoft Word e Latex); ¤ alle differenze tra applicazioni e codici proprietari e opensource; ¤ alle diverse architetture informatiche ed ai sistemi operative Windows, Unix e Linux. 4 Organizzazione del Corso ¤ Parte #2: approfondimenti su casi di studio specifici relativi: ¤ all’ambiente R; ¤ al linguaggio C++; ¤ al linguaggio MySQL; ¤ al linguaggio Python; ¤ alla geo-informatica ¤ approfondimenti specifici potranno essere impartiti sulla base della richiesta didattica degli studenti del loro livello di formazione. 5 Programma analitico del corso ¤ Introduzione alla struttura e funzionamento del computer. ¤ Panoramica delle principali architetture informatiche e dei principali sistemi operativi (Windows, OS, Linux): caratteristiche, vantaggi e svantaggi; ¤ Panoramica dei più comuni software per elaborazione testi e dati. Fogli di stile e produzione di documenti e report scientifici; ¤ Basi dati: dai documenti di testo ai database alle immagini georeferenziate alle sequenze di codice genetico. ¤ Introduzione alla programmazione: cos’è un algoritmo e come lo si costruisce; ¤ Pseudocodice e codice: similarità e differenze dei diversi ambienti e linguaggi di programmazione ed analisi; 6 Programma analitico del corso ¤ L’ambiente R: caratteristiche, potenzialità, vantaggi e limiti. Approfondimenti su specifici casi di studio; ¤ Il linguaggio C++: problematiche, sintassi e utilizzo di base; ¤ Il linguaggio MySQL e la gestione dei database: un approccio moderno alla archiviazione, gestione ed utilizzo di grandi quantità di informazioni; ¤ Il linguaggo Python e la manipolazione di dati genetici; ¤ La geostatica: ArcGIS e Q-Gis. Elaborazione di dati spaziali e manipolazione di immagini da satellite; ¤ Approfondimenti specifici da definire durante il corso. 7 Perché “Metodi Informatici” per la Biologia? § Parti significative di indagine scientifica sono svolte sui modelli piuttosto che sulla realtà ¤ In particolare la ricerca scientifica si avvale oggi di simulazioni per studiare, ad esempio § La formazione e lo sviluppo di galassie § La dinamica dettagliata di reazioni ioniche § Aspetti del processo di evoluzione della vita § … § Ma che cos’è una simulazione e quale relazione ha con il concetto di modello? 8 Perché “Metodi Informatici” per la Biologia? “A computer simulation is any-computer implemented method for exploring the properties of mathematical models where analytical methods are unavailable” [Humphreys 1991] § Le simulazioni sono generalmente usate in connessione con modelli dinamici § Lo scopo di una simulazione è di risolvere le equazioni di moto di un modello dinamico che rappresenta l’evoluzione temporale di un sistema target ¤ Non c’è soluzione analitica alle equazioni che rappresentano l’evoluzione di un sistema ¤ È possibile un processo di approssimazione per cui le equazioni differenziali sono trasformate in equazioni alle differenze ¤ I valori di queste equazioni possono essere calcolati tramite un computer 9 Risorse e Riferimenti: ¤ Il materiale di questa lezione è stato assemblato utilizzzando le seguenti risorse disponili online: ¤ http://home.deib.polimi.it/schiaffo/TFI/XII_050508.ppt 10