69442 - PROGRAMMING FOR BIOINFORMATICS

Anno Accademico 2019/2020

  • Docente: Ivan Lanese
  • Crediti formativi: 10
  • SSD: INF/01
  • Lingua di insegnamento: Inglese
  • Moduli: Ivan Lanese (Modulo 1) Allegra Via (Modulo 2) Pietro Di Lena (Modulo 3)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 3)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Bioinformatics (cod. 8020)

Conoscenze e abilità da conseguire

At the end of the course, the student acquires computer science skills and tools used to solve bioinformatics problems. In particular, the student should be able to: understand algorithms behind most used bioinformatics software; use existing tools to solve common bioinformatics problems; design solutions to new problems using computer science techniques; choose the best computer science tools needed to solve a specific problem.

Contenuti

Come programmare in Python; Introduzione a: variabili, espressioni e comandi, funzioni, condizionali e ricorsione, iterazione, stringhe, liste, tuple, dizionari, classi e oggetti, ereditarieta', semplici ADT (pile e code), alberi e grafi. Il corso include anche un introduzione allo scripting shell. Infine il corso include una breve introduzione alla programmazione dinamica, algoritmi di allineamento di stringhe (locali, globali e semiglobali), Markov models e Hidden Markov models (descrizione generale e algoritmi principali)

Testi/Bibliografia

  • Modulo 1:

  • Durbin, Eddy, Krogh, Mitchison. Biological sequence analysis Probabilistic models of proteins and nucleic acids. 1998. Cambridge University Press

    Modulo 2:

  • Downey, Elkner, Meyers. How to Think Like a Computer Scientist - Learning With Python. 2002. Disponibile all'indirizzo http://www.greenteapress.com/thinkpython/thinkCSpy/
  • Miller and Ranum. Problem Solving with Algorithms and Data Structures. Franklin, Beedle & Associates; 2nd edition (Agosto 22, 2011) Disponibile all'indirizzo http:// [http://interactivepython.org/courselib/static/pythonds/index.html] interactivepython.org/courselib/static/pythonds/index.html
  • Libeskind-Hadas, Bush. Computing for Biologists. 2014. Cambridge University Press 

    Modulo 3:

  • Newham. Learning the bash shell. 3 rd edition, 2005. O’ Reilly

  • Buffalo. Bioinformatics Data Skills. 2015. O’Reilly

Metodi didattici

Lezioni, attivita' pratica e di laboratorio, inclusi esercizi di programmazione in Python

Modalità di verifica e valutazione dell'apprendimento

Durante il corso verra' chiesto agli studenti di scrivere programmi python su specifici argomenti che saranno richiesti per la valutazione finale.

Un esame intermedio valutera' la conoscenza del linguaggio python e della sua sintassi.

L'esame finale sara' composto da esercizi scritti sulla scrittura di funzioni python e script shell.

Strumenti a supporto della didattica

PC, proiettore, attivita' di laboratorio.

Orario di ricevimento

Consulta il sito web di Ivan Lanese

Consulta il sito web di Allegra Via

Consulta il sito web di Pietro Di Lena