- Elementi di Bioinformatica
- Introduzione
Syllabus del corso
Obiettivi
Alla fine del corso lo studente avrà compreso le principali problematiche computazionali e tecniche algoritmiche in bioinformatica. Sarà in grado di scrivere programmi di modeste dimensioni per risolvere problemi in bioinformatica utilizzando anche dati presenti su basi di dati pubbliche
Conoscenza e comprensione
Questo insegnamento fornisce le conoscenze basilari e capacità di comprensione relativamente a:
- Algoritmi su sequenze biologiche.
- Strutture dati per l'indicizzazione di sequenze
- Algoritmi per la ricostruzione di storie evolutive
- Programmazione in C in campo bioinformatico
- Shell di Unix
- Controllo di versione
- Programmazione in Pyhton in campo bioinformatico
- Formati di file usati in bioinformatica
Capacità di applicare conoscenza e comprensione
Alla fine dell'insegnamento gli studenti saranno in grado di:
- Comprendere quali algoritmi e strutture dati utilizzare per affrontare alcuni problemi in bioinformatica
- Scrivere programmi efficienti in C in campo bioinformatico
- Scrivere programmi in Python in campo bioinformatico
Contenuti sintetici
Principali problemi e algoritmi in bioinformatica. Pattern Matching. Allineamento di sequenze. Sequenziamento di DNA. Storie evolutive. Gestione di dati e basi di dati biologici
Programma esteso
- Algoritmi e strutture dati per il pattern matching
- Allineamento di sequenze
- Sequenziamento di DNA
- Alberi evolutivi
- Formati di file di dati biologici
- Banche dati biologiche
- Metodologie di sviluppo software open source per la bioinformatica
Prerequisiti
Algoritmi e strutture dati; Linguaggi di programmazione;
Modalità didattica
Lezioni in aula e attività di laboratorio. Utilizzo della piattaforma di e-learning per integrare lo studio individuale tramite arricchimento delle attività in aula e per autovalutazioni in itinere del livello di preparazione ottenuto.
Il corso è erogato in Italiano.
Materiale didattico
Algorithms
on Strings, Trees and Sequences: Computer Science and Computational
Biology. Dan Gusfield. Approfondimenti su materiale fornito
dai docenti
Periodo di erogazione dell'insegnamento
primo semestre
Modalità di verifica del profitto e valutazione
La verifica dell'apprendimento consiste di due parti:
- una prova scritta individuale, basata su domande a risposta aperte relativa alle nozioni presentate nel corso relative ai contenuti di natura algoritmica
- project work da svolgere individualmente o in piccoli gruppi (max 3 persone), riguardanti gli aspetti di programmazione
La valutazione finale viene ottenuta tramite media pesata delle votazioni ottenute nelle due parti, con peso 25% per la prova scritta e 75% per il project work.
Non sono previste prove in itinere.
Orario di ricevimento
su appuntamento
Aims
The student will know some fundamental problems and algorithms in bioinformatics. The student will be able to write small size programs to solve some problems in bioinformatics, using also data originating from publicly available databases.
Knowledge and understanding
This course provides basic knowledge and understanding on:
- Algorithms on biological sequences
- Data structures to index biological sequencing
- Algorithms for phylogeny reconstruction
- C programming in bioinformatics
- Unix shell
- Version control
- Python programming in bioinformatics
- File Formats used in bioinformatics
Ability to apply knowledge and understanding
At the end of the course the students will be able to:
- decide which algorithms and data structures can be used to solve some problems in bioinformatics
- write efficient C programs for bioinformatics problems
- write Python programs for bioinformatics problems
Contents
Fundamental problems and algorithms in bioinformatics. Pattern matching.Sequence Alignment. DNA sequencing. Evolutionary histories. Managing biological data and databases.
Detailed program
- Pattern matching: Algorithms and Data Structures
- Sequence Alignment
- DNA Sequencing
- Evolutionary trees
- Biological Data: file formats
- Biological Databases
- Bionformatics open source software development methodologies
Prerequisites
Algorithms
and data structures; Programming Languages
Teaching form
Lectures and Laboratory. The individual study can use the e-learning platform to enrich the standard activities and to self assess the level of competence acquired during the course.
This course is taught in Italian.
Textbook and teaching resource
Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. Dan Gusfield. Additional material will be given by the teachers
Semester
First semester
Assessment method
The assessment has two parts:
- a written exam, to be taken individually, on the notions presented during the lectures on the algorithms topics. This part consists of open-ended questions.
- a project work, mainly consisting of programming, that can be done by a single individual or a small group (max 3 students)
The final grade is obtained by weighting 25% of the degree of the written exam and 75% the project work.
There are no in-progress exams.
Office hours
by reservation
Scheda del corso
Staff
-
Gianluca Della Vedova
-
Raffaella Rizzi