IN470 - Metodi Computazionali per la Biologia - AA 2018-2019

Lezioni

Diario delle lezioni dell'AA 2018-2019


Le lezioni si tengono nel I semestre con il seguente orario:
  • [-] lunedì ore 11.00-13.00 (lezione/esercitazioni, Laboratorio Informatica);
  • [-] martedì ore 11.00-13.00 (lezione/esercitazioni, Aula 211).

Eventuali lezioni di recupero si tengono il
  • [-] venerdì ore 11.00-13.00 (lezione/esercitazioni, Laboratorio Informatica);

Ricevimento:
Lunedì dalle ore 10.00 alle 11.00, studio 308 pal C sede San L. Murialdo 1

Lezione n. 1 - Monday 24 September 2018

  • Outline del corso; Introduzione e generalita'; Bioinformatica e algoritmi; La biologia computazionale nella clinica e nell'industria farmaceutica; Farmacocinetica e farmacodinamica;

Lezione n. 2 - Tuesday 25 September 2018

  • 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. 3 - Friday 28 September 2018

  • 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. 4 - Friday 12 October 2018

  • 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. 5 - Monday 15 October 2018

  • Labratorio: numeri pseudo casuali; funzione C drand48 e srand48; costruzione di un istogramma e uso del softare 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. 6 - Tuesday 16 October 2018

  • 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;

Lezione n. 7 - Friday 19 October 2018

  • 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 - Monday 22 October 2018

  • Laboratorio: rappresentazione di stringhe di nucleotidi; generazione di genotipi casuali di lunghezza arbitraria; codifica del codice genetico; il codone di start e quello di stop; Laboratorio: 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;

Lezione n. 9 - Tuesday 23 October 2018

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

Lezione n. 10 - Friday 26 October 2018

  • 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;

Lezione n. 11 - Tuesday 30 October 2018

  • Chiarimenti sull'esercitazione della scorsa settimana;

Lezione n. 12 - Tuesday 6 November 2018

  • IN470: Esonero sulla prima parte del programma. Aula 211. IN470: Esonero sulla prima parte del programma. Aula 211. IN470: Esonero sulla prima parte del programma. Aula 211.

Lezione n. 13 - Friday 9 November 2018

  • Exact matching/string searching: generalita'; l'agoritmo di Knuth-Morris-Pratt; Exact matching/string searching: l'agoritmo di Boyer-Moore;

Lezione n. 14 - Monday 12 November 2018

  • Messa a punto dell'algoritmo sviluppato nella precedente esercitazione in laboratorio; Messa a punto dell'algoritmo sviluppato nella precedente esercitazione in laboratorio;

Lezione n. 15 - Tuesday 13 November 2018

  • Confrontare sequenze: similarita' e omologia; pairwise alignment; distanza di editing; scoring matrices PAM e BLOSUM Algoritmo di Needleman-Wunsch; allineamento locale; Algoritmo Smith-Waterman; algoritmo BLAST. Multiple Sequence Alignment; sequenza di consenso; algoritmi star alignment; ClustalW; entropy e circular sum scoring functions;

Lezione n. 16 - Friday 16 November 2018

  • 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/). Laboratorio: exact matching, l'algoritmo di Boyer-Moore in C.

Lezione n. 17 - Monday 19 November 2018

  • 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 - Tuesday 20 November 2018

  • 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 - Friday 23 November 2018

  • Seminario di Emiliano Mancini (Institute for Advanced Studies, University of Amsterdam) dal titolo 'A Computational Model of Immune Response during Cardiac Surgery' Seminario di Emiliano Mancini (Institute for Advanced Studies, University of Amsterdam) dal titolo 'A Computational Model of Immune Response during Cardiac Surgery'

Lezione n. 20 - Monday 26 November 2018

  • 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 - Tuesday 27 November 2018

  • Artificial Neural Networks; definizone; il percettrone di Rosenblatt; l'algoritmo di apprendimento del percettrone; il multi-layer perceptron; 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;

Lezione n. 22 - Friday 30 November 2018

  • Esercitazione su una implementazione dell'algoritmo di exact matching Knuth-Morris-Pratt. Esercitazione su banche dati biologiche; database primari; database secondari; NCBI, EMBL, DDBJ; NCBI EBI-Entrez; Uso dell'algoritmo BLAST; Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; implementazione della funzione che calcola la Shannon Entropy Diversity Index; Dettagli implementatitvi della funzione di Mutazione;

Lezione n. 23 - Friday 7 December 2018

  • Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; implementazione della funzione di mutazione del genotipo; definizione e implementazione della Fitness Function; Definizione e implementazione del criterio di selezione dei fenotipi; Dettagli implementatitvi, visualizzazione del criterio di convergenza e dei risultati, discussione, etc.;

Lezione n. 24 - Monday 10 December 2018

  • Unsupervised clustering; l'algoritmo k-means; uso del clustering in bioinformatica; euristica per la scelta di k; 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; 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. 25 - Tuesday 11 December 2018

  • 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. 26 - Friday 14 December 2018

  • Laboratorio: completamento dell'esercizio sull'algoritmo evolutivo; studio della dinamica della popolazione al variare di alcuni arametri 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;

Lezione n. 27 - Monday 17 December 2018

  • Laboratorio: uso dell'applicazione Java Populus per la soluzione di modelli continui di dinamica delle popolazione; Studio di vari modelli differenziali tra cui Lotka-Volterra, SIRs e rispettive varianti; Esercitazione su una implementazione dell'algoritmo di exact matching Knuth-Morris-Pratt; Esercitazione su banche dati biologiche; reperimento dal DB UniProtKB dell'intero proteoma dell'homo sapiens; uso dell'algoritmo di Knuth-Morris-Pratt per la ricerca delle occorrenze di stringhe di AA; modifica del codice per calcolare in maniera euristica la complessita' dell'algoritmo;

Lezione n. 28 - Tuesday 18 December 2018

  • 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;