BIOINFORMATICA
Anno accademico 2025/2026 - Docente: SALVATORE ALAIMORisultati di apprendimento attesi
Di seguito sono elencati gli obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi:
- Conoscenza e capacità di comprensione (knowledge and understanding): Il corso mira a formare le conoscenze e le competenze di base per l’analisi, la rappresentazione, e l’organizzazione di dati bioinformatici.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà conoscenze riguardo ai modelli e gli algoritmi per l’analisi dei dati bioinformatici quali: allineamento e confronto di sequenze, analisi della struttura degli acidi nucleici e delle proteine, costruzione di workflow e riproducibilità delle analisi.
- Autonomia di giudizio (making judgements): Attraverso esempi concreti e casi di studio, lo studente sarà in grado di elaborare autonomamente soluzioni a determinati problemi legati all'analisi dei dati bioinformatici. In particolare, la parte finale del corso si concentrerà su casi di studio, che permetteranno di mettere in pratica le abilità apprese durante il corso.
- Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale dell'analisi dei dati bioinformatici.
- Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali, utilizzando benchmark disponibili in letteratura, e casi di studio.
Modalità di svolgimento dell'insegnamento
Lezioni frontali.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
- Programmazione
- Strutture Dati
Frequenza lezioni
Per seguire meglio le lezioni, saranno messe a disposizione delle slide dal docente.
Si ricorda che le slide non costituiscono un mezzo di studio, ma forniscono un compendio per aiutare nell'apprendimento dei concetti illustrati a lezione. Lo studio dei materiali forniti dal docente, del libro di testo, e lo svolgimento degli esercizi è fondamentale per apprendere appieno i concetti illustrati durante le lezioni.
Contenuti del corso
- Introduzione alla Bioinformatica
- Obiettivi del corso, struttura e modalità di valutazione.
- Panoramica della bioinformatica: definizione, ambiti applicativi.
- Tipologie di dati biologici non-omici: sequenze, strutture, interazioni.
- Introduzione al programma e agli strumenti che saranno impiegati durante il corso.
- Fondamenti di Probabilità, Statistica, Inferenza, Test Statistici
- Concetti base di probabilità
- Distribuzioni di probabilità discrete e continue
- Variabili casuali e indipendenza statistica
- Teorema di Bayes con applicazioni bioinformatiche
- Statistica descrittiva per dati biologici
- Test di ipotesi e p-value, errori di tipo I e II.
- Test statistici comuni (t-test, chi-quadro, ANOVA)
- Modelli di regressione e correlazione
- Visualizzazione: istogrammi, boxplot.
- Concetto di significatività statistica vs. biologica.
- Esempi applicativi con dati biologici.
- Introduzione a R per l’Analisi Bioinformatica
- Strutture dati: vettori, data frame, liste.
- Funzione di base
- Uso dei pacchetti tidyverse.
- Pacchetti bioinformatici in R (Bioconductor)
- Analisi statistica in R
- Creazione di grafici in R istogrammi, scatterplot, boxplot, heatmap.
- Breve introduzione a ggplot2.
- Introduzione a Python e Biopython
- Fondamenti di Biopython
- Manipolazione di sequenze e accesso ai database biologici
- Trascrizione e traduzione di sequenze.
- Calcolo GC-content, reverse complement.
- Parsing di annotazioni e feature biologiche.
- Rappresentazione di sequenze biologiche
- Formati di file per sequenze (FASTA, FASTQ, GenBank)
- Proprietà delle sequenze nucleotidiche e proteiche
- Banche dati biologiche
- Importazione e manipolazione di sequenze
- Allineamento di sequenze I
- Concetti base di similarità tra sequenze: similarità, identità, e omologia.
- Allineamento locale vs globale.
- Algoritmi di allineamento globale (Needleman-Wunsch)
- Matrici di sostituzione (PAM, BLOSUM)
- Valutazione degli allineamenti
- Allineamento di sequenze II
- Algoritmi di allineamento locale (Smith-Waterman)
- Allineamento multiplo di sequenze
- Programmi per l'allineamento (BLAST, CLUSTAL)
- Esercizi pratici di allineamento in Python e R.
- Interpretazione di MSA e costruzione di profili.
- Ricerca di pattern nelle sequenze
- Ricerca esatta e approssimata di pattern
- Algoritmi per la ricerca di pattern (Boyer-Moore, Knuth-Morris-Pratt)
- Hidden Markov Models (HMM) per sequenze
- Applicazioni nella bioinformatica
- Filogenesi molecolare I
- Concetti base di evoluzione molecolare
- Costruzione di alberi filogenetici
- Metodi di distanza e metodi di massima parsimonia
- Software per l'analisi filogenetica
- Filogenesi molecolare II
- Massima verosimiglianza in filogenesi
- Inferenza bayesiana
- Interpretazione dei risultati filogenetici
- Applicazioni della filogenesi in bioinformatica
- Struttura degli acidi nucleici I
- Proprietà strutturali del DNA e RNA
- Predizione della struttura secondaria dell'RNA
- Algoritmi per la predizione di strutture
- Visualizzazione di strutture nucleotidiche
- Struttura degli acidi nucleici II
- Analisi di strutture tridimensionali di acidi nucleici
- Interazioni DNA-proteine
- Strutture non canoniche degli acidi nucleici
- Struttura delle proteine I
- Livelli di organizzazione strutturale delle proteine
- Predizione della struttura secondaria
- Metodi statistici e machine learning per la predizione
- Database di strutture proteiche
- Struttura delle proteine II
- Predizione della struttura terziaria
- Modellazione per omologia
- Predizione con AlphaFold e RNAfold.
- Interpretazione dei risultati.
- Uso base di PyMOL e ChimeraX.
- Esplorazione di una proteina con siti attivi noti.
- Interazioni molecolari
- Principi di termodinamica delle interazioni
- Docking molecolare e scoring functions
- Simulazioni di dinamica molecolare
- Analisi di interazioni proteina-proteina e proteina-DNA/RNA
- Workflow bioinformatici I
- Principi di pipeline bioinformatiche
- Gestione dei flussi di lavoro
- Riproducibilità in bioinformatica
- Documentazione dei workflow
- Esempi manuali (Bash/Python).
- Workflow bioinformatici II
- Implementazione di workflow completi
- Introduzione a Snakemake o Nextflow.
- Esempio pratico: Snakemake/Nextflow per MSA.
- Gestione di dati di grandi dimensioni
- Containerizzazione per la bioinformatica I
- Introduzione a Docker
- Creazione di container per strumenti bioinformatici
- Best practice nella containerizzazione
- Esempi pratici di container per analisi bioinformatiche
- Containerizzazione per la bioinformatica II
- Orchestrazione di container con Docker Compose
- Condivisione e distribuzione di container
- Integrazione di container nei workflow bioinformatici:
- Casi Studio ed esempi pratici
Testi di riferimento
Si consiglia l'uso del testo "Fondamenti di bioinformatica".
Autori: Manuela Helmer Citterich, Fabrizio Ferrè, Giulio Pavesi, Graziano Pesole, Chiara Romualdi.
Editore: Zanichelli (2018).
Altri testi consigliati:
· “Bioinformatics”
Autori: Andreas D. Baxevanis, Gary D. Bader, David S. Wishart
Editore: Wiley (2020)
· “R Bioinformatics Cookbook: Utilize R packages for bioinformatics, genomics, data science, and machine learning”
Autori: Dan MacLean
Editore: Packt Publishing (2023)
· “Mastering Python for Bioinformatics: How to Write Flexible, Documented, Tested Python Code for Research Computing”
Autori: Ken Youens-Clark
Editore O'Reilly Media (2021)
· “Bioinformatica: Dalla sequenza alla struttura delle proteine”
Autori: Stefano Pascarella, Alessandro Paiardini
Editore: Zanichelli (2011)
Altre risorse aggiornate saranno indicate dal docente nelle slides utilizzate a lezione.
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Introduzione alla bioinformatica | |
| 2 | Fondamenti di probabilità | |
| 3 | Introduzione a R | |
| 4 | Introduzione a Python e Biopython | |
| 5 | Allineamento di sequenze pairwise | |
| 6 | Allineamento di sequenze multiplo | |
| 7 | Filogenesi Molecolare | |
| 8 | Struttura degli RNA | |
| 9 | Struttura delle proteine | |
| 10 | Predizione delle interazioni molecolari | |
| 11 | Workflow e riproducibilità |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L'esame finale consiste in una prova scritta e un colloquio orale nel quale sarà discusso un progetto concordato tra il docente e lo studente.
La prova scritta e il colloquio orale avranno una valutazione in trentesimi e la valutazione finale sarà ottenuta come media pesata tra valutazione della prova scritta (peso: 25% del voto finale) e valutazione della prova orale (peso: 75% del voto finale).
La prova scritta è costituita da una domanda di teoria su argomenti del corso che lo studente dovrà argomentare per mostrare un'ampia comprensione della materia.
Il voto minimo per superare la prova scritta è 18/30. Chi non supera la prova scritta, non potrà sostenere l'orale. La prova scritta può essere visionata insieme al docente in qualunque momento.
Il voto minimo per considerare superato l'esame finale è di 18/30.
Il progetto dovrà essere completato entro 1 mese dal superamento della prova scritta. Il progetto potrà essere concordato con il docente in qualunque momento. In caso di rifiuto del voto scritto, la valutazione del progetto sarà conservata per tutto l'anno accademico. In caso di rifiuto del voto finale lo studente dovrà sostenere nuovamente tutta la prova (scritto e progetto).
Gli orari e i luoghi di svolgimento delle prove saranno comunicati mediante i mezzi previsti dall’ateneo.
Note:
- È vietato l'uso di qualsiasi strumento hardware (calcolatrici, tablet, smartphone, cellulari, auricolari BT etc.), di libri o documenti personali durante l'esame scritto.
- Per sostenere gli esami è obbligatorio prenotarsi utilizzando gli appositi strumenti previsti dall’ateneo.
- Non sono ammesse prenotazioni tardive tramite email. In mancanza di prenotazione, l'esame non potrà essere verbalizzato.
- La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Esempi di domande e/o esercizi frequenti
- Che cos'è l'allineamento pairwise di sequenze? Descrivi il problema, la complessità, il suo scopo, e illustra un algoritmo utilizzato per risolverlo.
- Che cos'è l'allineamento multiplo di sequenze? Descrivi il problema, la complessità, il suo scopo, e illustra un algoritmo utilizzato per risolverlo.
- Descrivi il problema della struttura secondaria degli RNA e un algoritmo per effettuarne la predizione.