Servizi per la didattica
PORTALE DELLA DIDATTICA

Bioinformatics

01OVFOV, 01OVFOQ, 01OVFPE, 04OVFNG

A.A. 2019/20

Course Language

English

Course degree

Master of science-level of the Bologna process in Computer Engineering - Torino
Master of science-level of the Bologna process in Electronic Engineering - Torino
Master of science-level of the Bologna process in Nanotechnologies For Icts - Torino/Grenoble/Losanna
Master of science-level of the Bologna process in Mathematical Engineering - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in laboratorio 30
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Ficarra Elisa Professore Associato ING-INF/05 30 0 0 0 7
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
2018/19
Nel corso verranno studiate le soluzioni HW/SW per l’analisi di dati genetici forniti dalle biotecnologie di ultima generazione. Verranno descritte tali tecnologie e, in particolare, approfondite le problematiche computazionali/algoritmiche per lo sviluppo di tool-flow per analisi complesse (quali ad esempio la ricerca di aberrazioni genetiche responsabili di patologie complesse come i tumori). A questo scopo verranno fornite anche le basi necessarie di biologia molecolare, e la conoscenza dei database pubblici, ontologie e tool di maggiore diffusione per le analisi genetiche. Verrà inoltre presentato brevemente il linguaggio di programmazione Python. Rispetto agli anni passati, verranno introdotti algoritmi di Machine Learning e deep learning (es. Reti neurali, SVM, Random Forest, CNN) e verranno mostrate applicazioni di questi allo studio di problemi di biologici/medici. Verranno anche studiate soluzioni per la computazione distribuita dei dati genetici. In particolare, verrà introdotta la programmazione su cluster attraverso l’implementazione di algoritmi di analisi. Lo scopo del corso è quindi quello di dare una formazione sufficiente a rendere esperti gli studenti delle problematiche, delle tecnologie e delle tecniche di elaborazione più all’avanguardia nel settore delle biotecnologie e del supporto informatico all’analisi genetica.
Hardware/Software solutions will be studied for the analysis of genetic data provided by the latest generation biotechnologies (e.g. DNA/RNA next generation sequencers, nanotechnology, etc..). During the course, it will be described the state of the art of such technologies, and it will be deeply studied computational and algorithmic issues for the development of tool-flows for complex genetic analyses (such as genetic mutations and aberrations). It will be explained Machine Learning and deep learning techniques (e.g. Random Forest, Neural Networks, CNNs, RNNs, LSTM) and their application to biological and medical problems. Moreover, it will be presented also techniques for genetic data distributed computing. In particular, it will be introduced the Clustering programming. During the course, the basic concepts of the molecular biology will be introduced, and the programming language Python will be presented (even if every programming language will be allowed in the final project development). The purpose of the course is therefore to provide training in order to make students experts of the biomolecular/genetic issues, technologies and processing techniques the most advanced in the field of biotechnology and genetic analysis.
Lo studente deve acquisire i) conoscenze sulle biotecnologie di ultima generazione, ii) conoscenze relative alle analisi genetiche tra le più innovative nell’ambito della medicina personalizzata, iii) conoscenza delle principali soluzioni SW per analisi bioinformatiche, comprese tecniche informatiche generali quali machine learning, deep learning, text mining e ottimizzazione di grafi, iv) capacità di ideare ed applicare soluzioni algoritmiche e computazionali efficienti a problemi biologici, v) esperienza di ottimizzazione SW su cluster per applicazioni bioinformatiche.
The student should acquire i) the knowledge of the latest generation biotechnologies for genetic and molecular screening, ii) the knowledge of some the most up-to-date genetic issues in the personalised medicine approach, iii) the knowledge of the main SW solutions for complex bioinformatics analyses, and of computer science techniques such as machine learning, deep learning, text mining, graph optimization, iv) the ability to design and implement effective and computationally efficient algorithmic solutions for biological problems, vi) the experience on SW optimization techniques on cluster infrastructures.
Programmazione in linguaggi ad alto livello (es. C, C++ o Java), linguaggi di scripting.
High level language computer programming (eg C, C + + or Java), and optionally scripting languages.
- Introduzione alla Bioinformatica: Concetti di Biologia Molecolare, Problemi di rilevanza nel campo della ricerca, dell’industria e delle aziende, Requisiti algoritmici, computazionali e tecnologici delle problematiche più emergenti; Nozioni sui principali database, ontologie e tool utilizzati in ambito bioinformatico. - Illustrazione delle biotecnologie di ultima generazione (es. sequenziatori del genoma) e problematiche di analisi dei dati da esse prodotti - Tematiche emergenti, DNA-, microRNA- e RNA-Sequencing: Problematiche algoritmiche e computazionali del sequenziamento del genoma e del trascrittoma umano e virale; Principali tool utilizzati per il sequenziamento e l’analisi dei dati nei casi aberranti di mutazioni, geni di fusione, alterazione nella duplicazione o espressione del DNA. Problematiche relative allo sviluppo software per analisi delle molecole RNA non-coding. Ottimizzazione parallele su architetture eterogenee, esempi. - Processi regolativi genetici e biomolecolari: Problematiche algoritmiche e computazionali e tecniche SW per lo studio e la predizione delle interazioni regolative fra biomolecole (DNA, proteine, microRNA, mRNA, etc.), delle interazioni biomolecolari, dell’integrazione e correlazione di dati eterogenei in sistemi complessi. - Tecniche di machine learning e deep learning: descrizione generale di alcuni approcci (es. Reti neurali, Support Vector Machines, Random Forest, Convolution Neural Network), applicazione di queste tecniche ad alcuni problemi genetici. - Programmazione su cluster: implementazione di pipeline di analisi su computer cluster. Scheduling, decomposizione e parallelizzazione di job, ottimizzazione delle risorse computazionali.
- Introduction to the Bioinformatics: Concepts of Molecular Biology, Computational, technological and efficacy requirements of the algorithms, Relevant problems in research, industry and businesses - DNA-, microRNA- and RNA-sequencing: Description of sequencing technologies, algorithmic and computational issues, main tools used for sequencing and data analysis, issues related to software development for advanced analyses, SW optimization on parallel and distributed infrastructures. - Bioinformatics techniques for the study and the prediction of regulatory processes: SW techniques for the prediction of molecular interactions, data integration and correlation, derivation of regulatory networks in Complex Systems. - Machine Learning and Deep Learning techniques: introduction to some well known and used methodologies (e.g. Neural Networks, Random Forest, Convolution Neural Network, Recurrent Neural Networks, LSTM, etc.), application of such techniques to genetic and biological studies. - Cluster programming: implementation of analysis pipelines on computer clusters. Job scheduling, decomposition and parallelization, optimization of computational resources.
Per questo insegnamento sono previste esercitazioni e laboratori su alcuni dei tools studiati e sullo sviluppo di nuovi soluzioni SW.
The course will include exercises and computer lab sessions on some of studied tools and on the development of new SW solutions.
Slide del corso, articoli scientifici e approfondimenti dal web (filmati, link a documenti).
Course slides, scientific research papers, web documents and short educational movies.
Modalità di esame: prova scritta; progetto individuale; progetto di gruppo;
In alternativa, esame finale scritto o progetto di ricerca.
Exam: written test; individual project; group project;
Alternatively, final written test or research project. In both the cases, previously detailed learning outcomes should be evaluated (see in particular points i), ii), iii) and iv)) In details: Written test on all the course topics (max score 30L/30): - It consists of 2 questions about course topics, and 2 exercises on Python programming - Duration: 2h. - Use of notes, course slides, handbooks, Python examples or exercises is forbidden Project (max score 30L/30): - Project groups should be 3-4 members. - There are no midterm deadlines for the project completion - Oral presentation is about the project development, contest, issues, and results (slides). Questions concern the project and related topics covered in the course. A demo is also required. - User manual should be provided to the professor, as well as developed code, no later than two days before the project presentation


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il