mail unicampaniaunicampania webcerca

    Wouter Leonard MEGCHELENBRINK

    Insegnamento di MACHINE LEARNING METHODS FOR BIOSCIENCE

    Corso di laurea in DATA ANALYTICS

    SSD: MEDS-02/A

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 48,00

    Periodo di Erogazione: Annualità Singola

    Italiano

    Lingua insegnamento

    INGLESE

    Contenuti

    L'insegnamento introduce i metodi di machine learning per l'analisi dei moderni dati biologici. Gli studenti apprenderanno come le tecniche computazionali e di machine learning possano essere applicate a dataset genomici, trascrittomici, epigenomici e di singola cellula (single-cell) per scoprire pattern biologici e generare previsioni. Il programma copre modelli probabilistici, scoperta di motivi, riduzione della dimensionalità, apprendimento basato su grafi, machine learning supervisionato e non supervisionato, deep learning e modelli fondazionali.

    Testi di riferimento

    Testi principali:
    - James, G., Witten, D., Hastie, T., Tibshirani, R., Taylor, J., An Introduction to Statistical Learning: with Applications in Python (ISLP), Springer.
    - Murphy, K., Probabilistic Machine Learning: An Introduction, MIT Press.
    - Akalin, A., Computational Genomics with R, CRC Press.

    Articoli di ricerca discussi durante il corso:
    - Ernst, J. & Kellis, M. (2012), ChromHMM: automating chromatin-state discovery..., Nature Methods.
    - Wolf, F.A., et al. (2018), SCANPY: large-scale single-cell gene expression..., Genome Biology.
    - Theodoris, C.V. et al. (2023), Geneformer: transfer learning enables prediction..., Nature.

    Obiettivi formativi

    Al termine dell'insegnamento, lo studente avrà acquisito i seguenti risultati:
    • Conoscenza e capacità di comprensione: Spiegare le caratteristiche e le sfide dei moderni dataset biologici, nonché i principi del deep learning e dei modelli fondazionali nelle bioscienze.
    • Utilizzo delle conoscenze e capacità di comprensione: Applicare metodi di machine learning, Hidden Markov Models e reti a dati genomici, trascrittomici e single-cell.
    • Autonomia di giudizio: Valutare criticamente gli approcci di machine learning idonei per specifiche scoperte biologiche.
    • Abilità comunicative: Strutturare workflow analitici integrando diverse modalità omiche in presentazioni o report.
    • Capacità di apprendimento: Sintetizzare in autonomia la letteratura scientifica sui pattern di DNA e l'analisi single-cell.

    Prerequisiti

    Si richiede una conoscenza pregressa di: programmazione Python, Strutture Dati e Algoritmi, Probabilità e Statistica e concetti base di Machine Learning. Non è richiesta alcuna pregressa competenza in ambito biologico.

    Metodi didattici

    L'insegnamento è strutturato in 48 ore di contatto totali (equivalenti a 6 CFU), suddivise in 16 sessioni da 3 ore ciascuna. La didattica combina:
    • Lezioni frontali interattive.
    • Sessioni pratiche guidate basate sull'analisi di dataset biologici reali.
    • Esercitazioni di coding in linguaggio Python.
    • Lettura, discussione di articoli scientifici e visualizzazione di brevi video dimostrativi.

    Modalità di verifica dell'apprendimento

    Testo in Italiano: La verifica prevede due prove che contribuiscono equamente al voto finale espresso in trentesimi:
    1) Assegnazioni Pratiche (50%): Sviluppo di progetti pratici sottomessi sotto forma di Python notebook accompagnati da report concisi. Le tematiche includono Hidden Markov Models, scoperta di motivi, analisi di grafi single-cell e modelli generativi.
    2) Esame Scritto (50%): Valuta la comprensione teorica di: concetti di machine learning, modelli probabilistici, single-cell analysis e foundation models.
    Rubrica di Valutazione:
    • 30 - 30L: Codice impeccabile ed eccellente padronanza dei concetti teorici; applicazione consapevole di modelli complessi ai dati biologici; comunicazione fluida.
    • 26 - 29: Ottima conoscenza dei modelli probabilistici e del deep learning; codice funzionante, report ben strutturati e buona capacità di argomentazione.
    • 22 - 25: Discreta conoscenza teorica e pratica; applicazioni corrette ai casi standard ma argomentazioni non sempre approfondite.
    • 18 - 21: Requisiti minimi; esecuzione elementare dei notebook in Python e conoscenza basilare della teoria del machine learning.

    Altre informazioni

    Si raccomanda una frequenza costante e partecipativa, fondamentale per il superamento delle componenti pratiche. Oltre ai testi di riferimento, il docente fornirà articoli scientifici, dataset e notebook Python specifici. L'ambiente di sviluppo di riferimento per il corso è Visual Studio Code. Si consiglia, laddove possibile, di venire a lezione con il proprio computer portatile.

    Programma esteso

    L'insegnamento (6 CFU / 48 ore) è articolato in 4 blocchi:
    Blocco 1 – Fondamenti di Machine Learning per Dati Biologici (1.5 CFU / 12 ore)
    • Dati RNA-seq, ATAC-seq e single-cell come problemi di ML.
    • Spazi ad alta dimensionalità, PCA.
    • Apprendimento non supervisionato: k-means, clustering gerarchico.
    • Hidden Markov Models e algoritmo di Viterbi per la previsione degli stati della cromatina.
    Blocco 2 – Genomica Regolatoria e Scoperta di Pattern (1 CFU / 8 ore)
    • Regolazione genica, motivi del DNA e matrici di peso (PWM).
    • Algoritmi di scoperta (Gibbs sampling, Expectation Maximization).
    • Analisi pratica di dati ATAC-seq e ChIP-seq.
    Blocco 3 – Graph Learning e Biologia Single-Cell (2 CFU / 16 ore)
    • Fondamenti dei grafi (NetworkX) e grafi k-nearest-neighbour.
    • Rilevamento di comunità e clustering cellulare (algoritmi Louvain e Leiden).
    • Workflow single-cell: controllo qualità, normalizzazione, UMAP e annotazione con Scanpy.
    • Integrazione multi-omica (RNA e ATAC).
    Blocco 4 – Deep Learning e AI per le Bioscienze (1.5 CFU / 12 ore)
    • Apprendimento supervisionato (Random forests) ed estrazione feature.
    • Reti neurali e (Variational) Autoencoders.
    • Modelli generativi per correzione batch (scVI).
    • Modelli fondazionali, Transformers (Geneformer, scGPT).

    English

    Teaching language

    English

    Contents

    This course introduces machine learning methods for the analysis of modern biological data. Students learn how computational and machine learning techniques can be applied to genomic, transcriptomic, epigenomic, and single-cell datasets to uncover biological patterns and generate predictions. The course covers probabilistic models, motif discovery, dimensionality reduction, graph-based learning, supervised and unsupervised machine learning, deep learning, and foundational models.

    Textbook and course materials

    Primary Textbooks:
    - James, G., Witten, D., Hastie, T., Tibshirani, R., Taylor, J., An Introduction to Statistical Learning: with Applications in Python (ISLP), Springer.
    - Murphy, K., Probabilistic Machine Learning: An Introduction, MIT Press.
    - Akalin, A., Computational Genomics with R, CRC Press.

    Selected Research Papers:
    - Ernst, J. & Kellis, M. (2012), ChromHMM: automating chromatin-state discovery..., Nature Methods.
    - Wolf, F.A., et al. (2018), SCANPY: large-scale single-cell gene expression..., Genome Biology.
    - Theodoris, C.V. et al. (2023), Geneformer: transfer learning enables prediction..., Nature.

    Course objectives

    Upon successful completion of the course, students will be able to:
    • Knowledge and understanding: Explain the characteristics and challenges of modern biological datasets, and the principles of deep learning in biosciences.
    • Applying knowledge and understanding: Apply machine learning methods, Hidden Markov Models, and graph constructions to genomic, transcriptomic, and single-cell data.
    • Making judgements: Critically evaluate machine learning approaches for biological discovery.
    • Communication skills: Present analytical workflows and multi-omics integration effectively.
    • Learning skills: Autonomously synthesize research regarding regulatory DNA motifs and single-cell analysis.

    Prerequisites

    Students are expected to have prior knowledge of: Python programming, Data Structures and Algorithms, Probability and Statistics, and Introductory Machine Learning. No prior biology knowledge is required.

    Teaching methods

    The course is structured in 48 total contact hours (equivalent to 6 ECTS), divided into 16 sessions of 3 hours each. The teaching methods combine:
    • Interactive lectures.
    • Guided practical sessions based on the analysis of real biological datasets.
    • Coding exercises in Python.
    • Reading, discussion of selected scientific papers, and short video tutorials.

    Assessment methods

    The assessment consists of two assessments equally contributing to the final grade (out of 30):
    1) Practical Assignments (50%): Practical projects submitted as Python notebooks accompanied by concise reports. Topics include Hidden Markov Models, motif discovery, single-cell graph analysis, and generative models.
    2) Written Examination (50%): Assesses the theoretical understanding of machine learning concepts, probabilistic models, single-cell analysis, and foundational models.
    Assessment Rubric:
    • 30 - 30L: Flawless code and excellent mastery of theoretical concepts; conscious application of complex models to biological data; fluent communication.
    • 26 - 29: Solid knowledge of probabilistic models and deep learning; working code, well-structured reports, and good argumentation ability.
    • 22 - 25: Fair theoretical and practical knowledge; correct applications to standard cases but basic argumentation.
    • 18 - 21: Minimum requirements; elementary execution of Python notebooks and basic knowledge of machine learning theory.

    Other information

    Active attendance is highly recommended to successfully complete the practical components. In addition to the reference texts, the teacher will provide scientific papers, datasets, and specific Python notebooks. The designated development environment is Visual Studio Code. If possible, it is encouraged to follow all the lectures with a personal laptop.

    Detailed syllabus

    The syllabus (6 ECTS / 48 hours) is organized into 4 blocks:
    Block 1 – Foundations of Machine Learning for Biological Data (1.5 ECTS / 12h)
    • RNA-seq, ATAC-seq, single-cell as ML problems.
    • High-dimensional spaces, PCA.
    • Unsupervised learning: k-means, hierarchical clustering.
    • Hidden Markov Models and Viterbi algorithm for chromatin-state prediction.
    Block 2 – Regulatory Genomics and Pattern Discovery (1 ECTS / 8h)
    • Gene regulation, DNA motifs, Position Weight Matrices.
    • Motif discovery (Gibbs sampling, Expectation Maximization).
    • Practical ATAC-seq and ChIP-seq analysis.
    Block 3 – Graph Learning and Single-Cell Biology (2 ECTS / 16h)
    • Graph fundamentals (NetworkX) and k-NN graphs.
    • Community detection and cell clustering (Louvain, Leiden algorithms).
    • Single-cell workflow: quality control, normalization, UMAP, and cell type annotation using Scanpy.
    • Multi-omics integration (RNA and ATAC).
    Block 4 – Deep Learning and AI for Biosciences (1.5 ECTS / 12h)
    • Supervised learning (Random forests) and feature importance.
    • Neural networks and (Variational) Autoencoders.
    • Generative models for batch correction (scVI).
    • Foundation models, Transformers (Geneformer, scGPT).

    facebook logoinstagram buttonyoutube logotype