96264 - Computational Methods for Bioinformatics

Academic Year 2023/2024

  • Docente: Ivan Lanese
  • Credits: 10
  • SSD: INF/01
  • Language: English
  • Moduli: Ivan Lanese (Modulo 1) Matteo Manfredi (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Bioinformatics (cod. 8020)

Learning outcomes

At the end of the course, the student has the knowledge for developing and using tools for sequence and structure analysis of biomolecules and more generally for annotation problems in the genomic era. In particular, the student will be able to independently write programs in Python language. He/she will be also able to discuss the theoretical basis of sequence alignment tools (dynamic programming and heuristic algorithms) and to implement them.

Course contents

How to program in the Python Language; including: variables, expressions and statements, functions, conditionals, iteration, strings, lists, tuples, dictionaries, files and recursion. The course also includes a brief introduction to linux and to dynamic programming, pairwise alignment algorithms (local, global and semiglobal), Markov Models and Hidden Markov Model (general descriptions and main algorithms).


No specific book is required. Updated teaching material is available through the Virtuale website.

For further information we suggest:

Cay Horstmann, Rance D. Necaise. Python for Everyone, Wiley

Allen B. Downey. Think Python: How to Think Like a Computer Scientist, O’ Reilly

for the Python programming part.

Teaching methods

Theoretical lessons and practical programming activity in Pyhton under linux.

In relation to the kind of activities and didactical methods adopted,
the attendance to this class will require the preliminary participation
of all the students to the Modules 1 and 2 of the Safety rules on study places, which can ne followed remotely in e-learning via the following link: https://elearning-sicurezza.unibo.it/

Assessment methods

Written and practical exam based on exercises about Python programming.Exercises will be solved on paper, then the solution will be tested and debugged on the computer. The exam will also include a brief oral discussion on the proposed solution.

Teaching tools

Teaching material will be available on the Virtuale website.

For exercises we will use the linux shell, a text editor (each student can choose the one (s)he prefers) and the Python interpreter.

Office hours

See the website of Ivan Lanese

See the website of Matteo Manfredi