IN470 - Metodi Computazionali per la Biologia - AA 2020-2021

Lezioni

Diario delle lezioni dell'AA 2020-2021


Le lezioni si tengono nel I semestre con il seguente orario:
  • [-] lunedì ore 10.00-12.00 (lezione/esercitazioni, Aula M5);
  • [-] mercoledì ore 12.00-14.00 (lezione/esercitazioni, Laboratorio Informatica);
  • [-] venerdì ore 10.00-12.00 (lezione/esercitazioni, Aula M6).

Ricevimento:
Lunedì dalle ore 14.00 alle 15.00, su appuntamento

Lezione n. 1 - Monday 21 September 2020

  • Outline del corso; Introduzione e generalita';

Lezione n. 2 - Wednesday 23 September 2020

  • Bioinformatica e algoritmi; La biologia computazionale nella clinica e nell'industria farmaceutica; Farmacocinetica e farmacodinamica;

Lezione n. 3 - Friday 25 September 2020

  • Introduzione alla Systems Biology: cosa e' la biologia computazionale; I ruoli della modellistica matematica e della bioinformatica; a cosa mira; quali sono i problemi; Introduzione alla Systems Biology: strumenti teorici utilizzati della bio-matematica e della bioinformatica.

Lezione n. 4 - Monday 28 September 2020

  • Introduzione alla biologia molecolare e cellulare (prima parte): conoscenza di base di genetica, proteomica e processi cellulari; Ecologia ed evoluzione; le molecola base; i legami molecolari; i cromosomi; ll DNA e la sua replicazione;

Lezione n. 5 - Wednesday 30 September 2020

  • Introduzione alle teoria dell'informazione; Shannon Entropy; Conditional Entropy; Mutual Information; Indici di diversita' biologica; Indice di Shannon; True diversity; Reny index;

Lezione n. 6 - Friday 2 October 2020

  • Introduzione alla biologia molecolare e cellulare (seconda parte); genomica; Il dogma centrale della biologia; Il progetto genoma; la struttura del genoma umano; Introduzione alla biologia molecolare e cellulare (seconda parte); Analisi dei geni; la trascrizione del DNA; i virus;

Lezione n. 7 - Monday 5 October 2020

  • Introduzione alla biologia cellulare e moleculare (terza parte); i virus; il genoma virale; ciclo di vita e classificazione dei virus; strategie di infezione; Il dogma centrale della biologia; Il codice genetico; tipi di RNA; La traduzione dell'RNA in proteine; il folding delle proteine; Introduzione alla biologia cellulare e moleculare (fine terza parte); il concetto di genotipo e di fenotipo; le leggi di Mendel; il polimorfismo di un gene; tipi di mutazioni; mutazioni puntiformi; inserzioni e delezioni; la posizione della mutazione; mutazioni all'interno della regione codificante o della regione intergenica; l'alternative splicing; mutazione in una regione regolatrice;

Lezione n. 8 - Wednesday 7 October 2020

  • Laboratorio: numeri pseudo casuali; funzione C drand48 e srand48; costruzione di un istogramma e uso del software Gnuplot; Laboratorio: metodo di generazione di eventi con distribuzione specificata; Implementazione della RandomWheel Selection per la generazione di eventi con distribuzione di probabilita' discreta; calcolo delle statistiche principali e generazione dell'istogramma relativo;

Lezione n. 9 - Monday 12 October 2020

  • Indici di diversita' biologica; Indice di Shannon; True diversity; Reny index; Introduzione ai processi stocastici; definizione base; esempi; modello di code; processo di Bernoulli e di Poisson; Processi Markoviani;

Lezione n. 10 - Wednesday 14 October 2020

  • Laboratorio: sviluppo di un algoritmo in C per il calcolo della Shannon Entropy di un testo in inglese (o in italiano) qualsiasi (e.g., http://www.textfiles.com/etext/). Implementazione di una funzione che calcola la il True Diversity Index ed il Shannon Entropy Diversity Index;

Lezione n. 11 - Friday 16 October 2020

  • Introduzione ai processi stocastici; definizione base; esempi; modello di code; processo di Bernoulli e di Poisson; Processi Markoviani; I processi stocastici in bioinformatica e bio-matematica; l'autocorrelazione; Cenni ai Random Walks e all'algoritmo BLAST di sequence alignment come processo stocastico e principale algoritmo per la consultazione di database di sequenze biologiche; Exact matching/string searching: generalita'; l'agoritmo di Knuth-Morris-Pratt;

Lezione n. 12 - Monday 19 October 2020

  • Exact matching/string searching: generalita'; l'agoritmo di Knuth-Morris-Pratt; Exact matching/string searching: l'agoritmo di Boyer-Moore; Confrontare sequenze: similarita' e omologia; pairwise alignment; distanza di editing; scoring matrices PAM e BLOSUM;

Lezione n. 13 - Wednesday 21 October 2020

  • Esercitazione sulla scrittura di un algoritmo che simuli un random walk 1D e 2D: tracciare la posizione x(t) all'istante t; calcola il mean square displacement; plottare la media del mean square displacement su molte realizzazioni del walk;

Lezione n. 14 - Friday 23 October 2020

  • Confrontare sequenze: similarita' e omologia; algoritmo di Needleman-Wunsch; allineamento locale; algoritmo Smith-Waterman; algoritmo BLAST;

Lezione n. 15 - Monday 26 October 2020

  • Multiple Sequence Alignment; sequenza di consenso; algoritmo star alignment; algoritmo ClustalW; entropy e circular sum scoring functions; Banche dati biologiche; database primari; database secondari; NCBI, EMBL, DDBJ; NCBI EBI-Entrez; Uso dell'algoritmo BLAST

Lezione n. 16 - Wednesday 28 October 2020

  • Esercitazione su banche dati biologiche; database primari; database secondari; NCBI, EMBL, DDBJ; NCBI EBI-Entrez; uso dell'algoritmo BLAST; Completamento degli esercizi precedenti;

Lezione n. 17 - Friday 30 October 2020

  • Phylogenetic Analysis; alberi filogenetici; dimensione dello spazio di ricerca di algoritmi filogenetici; Metodi di costruzione di alberi filogenetici; Dati usati per l'analisi filogenetica; Phylogenetic Analysis; l'algoritmo Unweighted Pair Group Method with Arithmetic mean (UPGMA); l'algoritmo Neighbor Joining Method;

Lezione n. 18 - Monday 2 November 2020

  • Machine Learning; generalita'; supervised e unsupervised learning; model selection; undefitting; overfitting; Polynomial curve fitting; machine learning come stima dei parametri ed il problema dell'overfitting; suddivisione del training set in testing e testing; concetto di bias e variance trade-off; Hidden Markov Models; Il problema del Decoding (i.e., dati i parametri del modello, trovare la sequenza di stati piu' probabile capace di generare una data sequenza dell'uscita); l'algoritmo di Viterbi;

Lezione n. 19 - Wednesday 4 November 2020

  • Esercitazione su una implementazione dell'algoritmo di exact matching Knuth-Morris-Pratt. Laboratorio: esercizio sull'algoritmo evolutivo; traduzione del genotipo in fenotipo mediante il codice genetico; codifica di proteine; la rappresentazione di stringhe di amino acidi; il frame di lettura di una sequenza di nucleotidi; generazione di piu' genotipi e traduzione in fenotipi di diverse lunghezze casuali; calcolo della lunghezza media e sua relazione con la frequenza del codone di start e stop; implementazione della funzione di Mutazione del genotipo;

Lezione n. 20 - Friday 6 November 2020

  • Hidden Markov Models; il problema dell'Evaluation (i.e., dati i parametri del modello, calcolare la probabilita` di una particolare sequenza; l'algoritmo forward-backward; Hidden Markov Models; il problema dell'apprendimento (i.e., data una o piu' sequenze, trovare i parametri della HMM che massimizzano l'emissione di tale sequenza; l'algoritmo di Baum-Welch. Uso di Hidden Markov Models per l'analisi di bio-sequenze; gene finding;

Lezione n. 21 - Wednesday 18 November 2020

  • Laboratorio: esercizio sull'algoritmo evolutivo; aggiunta della funzione di fitness; implementazione della funzione di Selezione; implementazione del Crossover; visualizzazione dell'andamento della fitnes media, del diversity index, delle statistiche sulla lunghezza della popolazione;

Lezione n. 22 - Friday 20 November 2020

  • Artificial Neural Networks; definizioni; il percettrone di Rosenblatt; l'algoritmo di apprendimento del percettrone;

Lezione n. 23 - Monday 23 November 2020

  • Il multi-layer perceptron; l'algoritmo di error-back propagation per l'apprendimento del MLP; tipi di neural networks; convolution networks; reinforcement networks; unsupervised learning e self-organising maps; Clustering; l'algoritmo K-means; cluster assignment step; move centroids step; optimization objective; choosing the number of clusters, the elbow method;

Lezione n. 24 - Wednesday 25 November 2020

  • Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; studio della dinamica della popolazione al variare di alcuni parametri evolutivi e selettivi (probabilita' di mutazione del genotipo, flessibilita' della funzione di fitness quindi della selezione dei fenotipi, etc.); visualizzazione delle curve di diversita' al variare dei parametri; discussione di possibili sviluppi dello studio;

Lezione n. 25 - Wednesday 2 December 2020

  • Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; implementazione di varianti evolutive mediante modifica della funzione di fitness;

Lezione n. 26 - Friday 4 December 2020

  • Cenni introduttivi alla teoria dei grafi; visita breadth-first search; depth-first search; algoritmo di Dijkstra; six-degree of separation; small world networks; misure di centralita'; degree centrality; eigenvector centrality; betweennes centrality; closeness centrality;

Lezione n. 27 - Monday 7 December 2020

  • La Network Biology; generalita'; concetti; tipi di dati biologici usati per costruire le reti; network biology e network medicine; problemi e algoritmi usati; misure di centralita'; random networks; scale-free networks; preferential attachment; scale-free network in biologia;

Lezione n. 28 - Friday 11 December 2020

  • Modelli bio-matematici; predizione mediante modelli teorici; il paradigma itertativo della modellistica matematica; data-driven models; modelli di crescita di popolazione limitata e non; derivazione analitica ed esempi; crescita logistica; modelli ecologici limitati dalla densita'; Il modello di Lotka-Volterra; l'esperimento di Huffaker e Kenneth; il modello epidemico SIR e alcune sue varianti; Il modello di Perelson per la HAART; l'applicazione Java Populus per la soluzione di modelli continui di dinamica delle popolazione; cenni ai metodi di risoluzione numerica dei sistemi di equazioni differentiali;

Lezione n. 29 - Wednesday 16 December 2020

  • Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; implementazione di varianti evolutive mediante modifica della funzione di fitness; conclusioni dell'esercitazione; varie ed eventuali.

Lezione n. 30 - Friday 18 December 2020

  • Agent-based models; data fitting e stima dei parametri; strumenti software disponibili; Automi cellulari; introduzione e storia; definizione; l'automa 1-dimensionale; classificazione di Wolfram; l'automa 2-dimensionale; Il Game of Life di Conway; Software disponibile per la simulazione di CA; hardware dedicato (CA-Machine); il modello preda-predatore come automa cellulare bidimensionale; relazione con il sistema di equazioni alle derivare ordinarie; modelli stocastici; CA stocastici come sistemi dinamici discreti stochastici e processi stocastici; esempio di CA: Belousov-Zabotonsky reactions; Discussione conclusiva del corso; riepilogo degli argomenti trattati; varie ed eventuali.