Algoritmi e linguaggi per bioinformatica - LINGUAGGI PER BIOINFORMATICA (2012/2013)

Corso disattivato

Codice insegnamento
4S000525
Crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 4 I semestre Alberto Castellini
Laboratorio 2 I semestre Alberto Castellini

Obiettivi formativi

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.

Programma

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.


Testi e riferimenti:

• Java. Dai fondamenti alla programmazione avanzata. Karsten Samaschke. Apogeo. 2005.
• Slides del corso
• Riferimenti a risorse online (vedere slides del corso)

Modalità d'esame

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.