LABORATORIO DI INFORMATICA 3

Anno accademico 2025/2026 - Docente: ROBERTO PATANE'

Risultati di apprendimento attesi

Conoscenza e comprensione
Acquisire i concetti fondamentali dell'informatica, con una visione globale dei sistemi di programmazione e del processo di reasoning. Lo studente sarà in grado di comprendere il concetto di algoritmo e identificare i principi ad esso associati, acquisendo le basi relative alla programmazione in Python e agli strumenti di bioinformatica, per comprendere il ruolo centrale dell'informatica nell'analisi e nell'interpretazione dei dati biologici.
Capacità di applicare conoscenza e comprensione
Applicare le conoscenze acquisite per sviluppare programmi e algoritmi in Python, padroneggiando i metodi computazionali applicati alla modellazione dei sistemi biologici. Lo studente sarà in grado di utilizzare le principali funzionalità della libreria BioPython per affrontare problemi di gestione, elaborazione e analisi di dati biologici.
Autonomia di giudizio
Valutare criticamente l'efficacia di differenti approcci computazionali per la risoluzione di problemi bioinformatici. Lo studente sarà in grado di interpretare i risultati ottenuti, riconoscendo limiti, potenzialità e affidabilità delle procedure utilizzate, mantenendo un approccio analitico rigoroso verso le soluzioni implementate.
Abilità comunicative
Descrivere in modo chiaro procedure, algoritmi e risultati delle analisi svolte, utilizzando una terminologia appropriata. Lo studente sarà in grado dimostrare la capacità di adattare il livello di approfondimento in base agli interlocutori, facilitando la comunicazione interdisciplinare tra competenze biologiche e informatiche.
Capacità di apprendimento
Sviluppare le competenze necessarie per approfondire autonomamente linguaggi di programmazione, gli strumenti bioinformatici e le metodologie computazionali. Lo studente sarà in grado di aggiornarsi in modo continuo e di apprendere autonomamente tecniche sempre più avanzate nel settore delle biotecnologie.

Modalità di svolgimento dell'insegnamento

L'insegnamento prevede 30 ore di lezione tenute dal docente, erogate in modalità laboratoriale, adottando un approccio teorico e pratico. Ciascuna sessione di spiegazione sarà seguita da una fase di esercitazione pratica, durante la quale verranno analizzate, corrette e illustrate le soluzioni. Qualora l’insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto sopra dichiarato, al fine di rispettare il programma previsto e riportato nel presente syllabus.

Informazioni per studenti con disabilità e/o DSA: A garanzia di pari opportunità e nel rispetto delle leggi vigenti, gli studenti interessati possono chiedere un colloquio personale in modo da programmare eventuali misure compensative e/o dispensative, in base agli obiettivi didattici ed alle specifiche esigenze. E' possibile rivolgersi anche al referente CInAP (Centro per l’integrazione Attiva e Partecipata - Servizi per le Disabilità e/o i DSA) del dipartimento

Prerequisiti richiesti

Nessuno

Frequenza lezioni

Obbligatoria

Contenuti del corso

  1. Algoritmi, diagrammi di flusso e linguaggi di programmazione
  2. Linguaggio Python
  3. Elementi di bioinformatica
  4. Moduli Biopython

Testi di riferimento

Il materiale didattico sarà fornito dal docente.

Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione al corso. 
2Algoritmi, diagrammi di flusso, la programmazione strutturata, variabili e costanti, le istruzioni di input/output, assegnazione, la sequenza, la selezione. L’algebra di Boole nella programmazione. La selezione multipla. Cicli iterativi, i cicli pre e post condizionali, i cicli enumerativi. Linguaggi di programmazione, linguaggi di basso e di alto livello, compilatore e interprete.
3Linguaggio python, sintassi, variabili e tipi di dato, operatori, costrutti di selezione (if … else, elif), selezione multipla (match case). Cicli iterativi (while, for). Funzioni e moduli. Stringhe, liste, set, tuple, dizionari e file di testo.
4Elementi di bioinformatica, le sequenze, dogma centrale della biologia molecolare, codice genetico, confronto, similarità e distanza tra sequenze,  allineamenti tra sequenze, BLAST, CLUSTALW/Omega, formati FASTA/FASTQ, GenBank. NCBI e database biologici primari.
5Biopython, modulo Bio.Seq, oggetti Seq e MutableSeq, metodi  complement(), reverse_complement(), transcribe(), translate(), modulo Bio.Align,  configurazione del PairwiseAligner, modulo Bio.SeqIO, parsing dei file FASTA/FASTQ, modulo Bio.Entrez, metodi esearch() e efetch().

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Analisi degli esercizi svolti durante il corso, domande sul linguaggio di programmazione Python e i moduli Biopython. Esercizi pratici di programmazione.

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

Informazioni per studenti con disabilità e/o DSA: A garanzia di pari opportunità e nel rispetto delle leggi vigenti, gli studenti interessati possono chiedere un colloquio personale in modo da programmare eventuali misure compensative e/o dispensative, in base agli obiettivi didattici ed alle specifiche esigenze. E' possibile rivolgersi anche al referente CInAP (Centro per l’integrazione Attiva e Partecipata - Servizi per le Disabilità e/o i DSA) del dipartimento

Esempi di domande e/o esercizi frequenti

  • Metodo .replace() di Python
  • Dizionari in Python
  • Differenza tra formato FASTA e FASTQ
  • Oggetto Seq di Biopython
  • Esercizio di trascrizione DNA in RNA con Biopython
  • Esercizio di traduzione proteina con Biopython
  • Esercizio di allineamento pairwise con Biopython
  • Esercizio di accesso ai database NCBI tramite Entrez con Biopython
ENGLISH VERSION