Algoritmi e linguaggi per bioinformatica (2011/2012)

Corso a esaurimento (attivi gli anni successivi al primo)

Codice insegnamento
4S000525
Crediti
12
Coordinatore
Zsuzsanna Liptak
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 II semestre Zsuzsanna Liptak

Obiettivi formativi

Modulo: LINGUAGGI PER BIOINFORMATICA
-------
Obiettivo del corso è fornire conoscenze su una serie di formalismi e linguaggi 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 formalismi proposti nel corso possano essere impiegati nella pratica per risolvere problemi reali.


Modulo: ALGORITMI PER BIOINFORMATICA
-------
1. comprensione di alcuni dei principali problemi e algoritmi alla base della bioinformatica (allineamento, filogenetica); 2. comprensione delle principali problematiche legate alla computazione (complessita', efficienza, fattibilita').

Programma

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

RICHIAMI DI JAVA E CENNI DI BIOJAVA

Richiami dei principali costrutti del linguaggio Java. La programmazione orientata agli oggetti. Polimorfismo ed ereditarietà. Overloading. Classi e metodi astratti. Interfacce. Principali classi, interfacce e strutture dati native. Principali classi offerte dalla libreria BioJava 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.

MATLAB e MATLAB BIOINFORMATICS TOOLBOX

Principali costrutti del linguaggio Matlab. Variabili. Array e matrici. Operatori. Cell arrays. Variabili carattere e testo. Structures. Generazione di grafici. Script e funzioni. Controlli condizionali e cicli. Analisi di dati. 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

L’interprete Python. Principali costrutti del linguaggio. Numeri, stringhe, liste, tuple, sequenze, dizionari. Operatori. Condizioni, cicli, funzioni, script, moduli, input ed output. Classi. Cenno alla gestione di errori ed eccezioni. Funzionalità principali di Biopython. Sequenze ed alfabeti. Oggetti sequenza: frequenze nucleotidiche, concatenazione, complemento, trascrizione, traduzione. Oggetti MutableSeq, UnknownSeq, SeqRecord.

ALTRI APPLICATIVI PER L’ANALISI DI DATI

Breve introduzione ad alcuni dei principali applicativi per l’analisi statistica: Excel/Calc, R, SAS JMP, SPSS. Principali funzionalità e campi d’applicazione.


Modulo: ALGORITMI PER BIOINFORMATICA
-------
ALLINEAMENTO DI SEQUENZE

applicazioni; allineamento di coppie di sequenze; ricerca esaustiva; programmazione dinamica (DP): algoritmo di Needleman-Wunsch (allineamento globale); algoritmo di Smith-Waterman (allineamento locale); altre varianti di questi algoritmi (cenni); formalismo su stringhe; matrici scoring: PAM (generazione, applicazioni); euristiche per l'allineamento di sequenze: dotplots, q-grams, FASTA, BLAST;

SIMILARITA' E DISTANZA TRA STRINGHE

Similarita' e distanza tra stringhe: similarita' percentuale, edit distance, distanza di Hamming; collegamento tra edit distance e punteggio di allinemento;

ANALISI DI ALGORITMI

Introduzione all'analisi di algoritmi, analisi di tempo e spazzio; notazione per l'analisi di complessita' (O-notation), crescita di funzioni;

FILOGENETICA

Storia della sistematica; introduzione a grafi ed alberi; numero di alberi filogenetici; dati basati su distanze: UPGMA; dati basati su caratteri: Perfect Phylogeny (PP); Small Parsimony: algoritmo di Fitch; Large Parsimony: euristiche (cenni)

STATISTICA

Richiami di statistica di base (test d'ipotesi, P value, errori di I e II tipo, statistica descrittiva);

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 di un argomento avanzato o l'implementazione di una delle tecniche trattate a lezione (o una loro estensione a scelta dello studente). La prova orale verterà sui temi sviluppati a lezione.


Modulo: ALGORITMI PER BIOINFORMATICA
-------
esame scritto: 50%, presentazione di un progetto (seminario con slides digitali): 50%

L'esame scritto puo' essere suddiviso in due parti (midterm e finale), o essere svolto completamente al termine del corso.

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 72.72% 27 2
Respinti 9.09%
Assenti --
Ritirati 15.15%
Annullati 3.03%
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% 4.1% 4.1% 4.1% 0.0% 4.1% 16.6% 16.6% 20.8% 16.6% 12.5% 0.0%

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