Algoritmi e linguaggi per bioinformatica (2010/2011)

Corso a esaurimento (attivi gli anni successivi al primo)

Codice insegnamento
4S000525
Crediti
12
Coordinatore
Alberto Castellini
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
LINGUAGGI PER BIOINFORMATICA 6 INF/01-INFORMATICA Vedi pagina del modulo Vedi pagina del modulo
ALGORITMI PER BIOINFORMATICA 6 INF/01-INFORMATICA I semestre Alberto Castellini

Obiettivi formativi

Modulo: LINGUAGGI PER BIOINFORMATICA
-------
Obiettivo del corso è fornire conoscenze su una serie di linguaggi e formalismi utilizzati per affrontare alcuni dei problemi tipici della bioinformatica, quali l’analisi di dati biologici, la rappresentazione di sistemi biologici per mezzo di opportuni modelli e la loro simulazione. L’analisi di alcuni casi di studio e le esercitazioni di laboratorio consentiranno di comprendere come i linguaggi presentati nel corso possano essere impiegati nella pratica per risolvere problemi reali.


Modulo: ALGORITMI PER BIOINFORMATICA
-------
Obiettivo del corso è fornire una serie di strumenti per poter affrontare alcuni dei problemi tipici della bioinformatica, quali l’analisi di dati biologici, la rappresentazione di sistemi biologici per mezzo di opportuni modelli e la loro simulazione. Durante il corso saranno inoltre presi in esame applicativi matematico-statistici di interesse bioinformatico, e la piattaforma Java EE con la quale è possibile sviluppare applicazioni e servizi web di ultima generazione. L’analisi di alcuni casi di studio e le esercitazioni di laboratorio consentiranno infine di comprendere come le tecniche proposte nel corso possano essere impiegate nella pratica per risolvere problemi reali.

Programma

Modulo: LINGUAGGI PER BIOINFORMATICA
-------
TEORIA

RICHIAMI DI LINGUAGGIO JAVA

Richiami dei principali costrutti del linguaggio Java. Polimorfismo ed ereditarietà. Overloading. Classi e metodi astratti. Interfacce. Principali classi, interfacce e strutture dati native. Gestione delle eccezioni (cenni). Trattamento di flussi e file.

BIOJAVA

Principali classi offerte dalla libreria per lo sviluppo di bioapplicazioni (alfabeti, simboli, liste di simboli, sequenze). Operazioni di base sulle sequenze (trascrizione, complemento, inversa, traduzione). Input/output di sequenze da file nei principali formati biologici (Fasta, GenBank,…). Classi per la rappresentazione di annotazioni nelle sequenze. Classi per l’analisi statistica di sequenze (cenni).

MATLAB BIOINFORMATICS TOOLBOX

Richiami dei principali costrutti del linguaggio Matlab. Cell arrays. Variabili carattere e testo. Structures. Programmazione Matlab: script e funzioni. Introduzione al Bioinformatics toolbox: formati di dati e funzioni per la connessione a database bioinformatici; funzioni e strumenti per l’analisi di sequenze.

PYTHON E BIOPYTHON

Cenni ai principali costrutti del linguaggio Python ed alle funzionalità di Biopython.

FORMALISMI E MODELLI PER LA RAPPRESENTAZIONE E L’ANALISI DI SISTEMI BIOLOGICI

Analisi reti biologiche. Cenni di programmazione genetica per la sintesi di pathways metaboliche.


LABORATORIO

JAVA

Sviluppo di una infrastruttura Java basata sulla programmazione ad oggetti in grado di gestire la rappresentazione di sequenze di DNA, RNA, amminoacidi e la loro manipolazione e trasformazione. Analisi di strutture dati per la rappresentazione di modelli dinamici di sistemi metabolici.

BIOJAVA

Utilizzo dei principali costrutti di BioJava ed implementazione di codici che utilizzano le interfacce e le classi della libreria.

MATLAB BIOINFORMATICS TOOLBOX

Utilizzo delle principali funzioni offerte dal Bioinformatics toolbox di Matlab per l’analisi statistica e l’allineamento di sequenze biologiche.


Modulo: ALGORITMI PER BIOINFORMATICA
-------
RICHIAMI DI STATISTICA DESCRITTIVA, INFERENZIALE E DATA MINING PER LA BIOINFORMATICA

Statistica descrittiva, test di ipotesi, correlazione, regressione lineare semplice e multipla, metodo dei minimi quadrati, selezione di variabili, analisi dei residui, regressione polinomiale, modelli nonlineari e trasformazioni, regressione stepwise, analisi di serie temporali, trend analysis, metodo ratio-to-moving-average, metodi di exponential smoothing e k-nearest neighbor per la regressione, autocorrelazione.

LIBRERIE E PACCHETTI BIOSTATISTICI

Introduzione ad alcuni dei principali software per l’analisi statistica: SPSS, SAS JMP, STATA, R, Weka, Excel/Calc, Matlab. Funzionalità principali, ambiti di utilizzo e confronto delle loro caratteristiche. Esercitazioni su alcuni degli operatori statistici precedentemente introdotti (OpenOffice Calc, Matlab).

ALGORITMI E SERVIZI PER L’ANALISI GENOMICA

Programmazione dinamica e problema del percorso più lungo in un DAG, allineamento di DNA, distanza di Hamming, edit distance, edit graphs, algoritmo per la ricerca della più lunga sequenza comune, allineamento globale ed algoritmo di Needleman-Wunsch, scoring matrices (PAM, BLOSUM), allineamento locale ed algoritmo di Smith-Waterman, affine gap penalties, FASTA (cenni) e Dot Matrices, BLAST (cenni), allineamento multiplo, allineamento progressivo, algoritmo Clustal (cenni).

STRUMENTI PER LA RAPPRESENTAZIONE, LA SIMULAZIONE E L’ANALISI DI SISTEMI BIOLOGICI E RELATIVE DINAMICHE

Calcolo a membrane e P sistemi, MP sistemi ed MP grafi, sintesi di funzioni di regolazione a partire da dinamiche osservate, pipeline per l’analisi di dati, il laboratorio virtuale MetaPlab (architettura a plugin, struttura dati MP store, implementazione di plugin nel linguaggio Java).

WEB SERVICES DI INTERESSE BIOINFORMATICO E BIOMEDICO

Introduzione ai servizi web: principi e funzionamento. Servizi web nello sviluppo di software bioinformatico, piattaforma Java EE ed applicazioni web, sviluppo di semplici servizi web per la bioinformatica. Casi di studio sulla specifica e l’ingegnerizzazione di servizi web. Il progetto InfoGenomics.

Modalità d'esame

Modulo: LINGUAGGI PER BIOINFORMATICA
-------
La verifica del profitto avverrà mediante un'attività di progetto e una prova orale. Il progetto riguarderà lo studio e la presentazione di un argomento avanzato o l'implementazione di una delle tecniche trattate a lezione (o una loro estensione). La prova orale verterà sui temi sviluppati a lezione.

Modulo: ALGORITMI PER BIOINFORMATICA
-------
La verifica del profitto avverrà mediante un'attività di progetto e una prova orale. Il progetto riguarderà gli argomenti trattati a lezione o una loro estensione. La prova orale verterà sui temi sviluppati a lezione.

Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 76.0% 28 2
Respinti 4.0%
Assenti 16.0%
Ritirati --
Annullati 4.0%
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
0.0% 0.0% 0.0% 5.2% 0.0% 0.0% 5.2% 0.0% 5.2% 10.5% 21.0% 26.3% 15.7% 10.5%

Valori relativi all'AA 2010/2011 calcolati su un totale di 25 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.