Computer Laboratory

Course pages 2011–12


Principal lecturer: Dr Pietro Lio
Taken by: Part II
Past exam questions
Information for supervisors (contact lecturer for access permission)

No. of lectures: 12


This course focuses on algorithms used in Bioinformatics and System Biology. Most of the algorithms are general and can be applied in other fields on multidimensional and noisy data. All the necessary biological terms and concepts useful for the course and the examination will be given in the lectures.


  • Introduction to biological data and problems. Ssequences and microarray data.

  • Dynamic programming. Longest common subsequence, DNA, RNA, protein structure alignment, linear space alignment.

  • Sequence database search. Blast, Patternhunter I and II.

  • Phylogeny - parsimony-based. Fitch, Wagner, Sankoff parsimony.

  • Phylogeny - distance-based. UPGMA, Neighbour Joining.

  • Clustering. K-means, Markov Clustering algorithm.

  • Hidden Markov Models applications in Bioinformatics. Viterbi, Forward-Backward, Baum-Welch.

  • Searching Motifs. Gibbs sampling.

  • Biological networks I: reverse engineering. Wagner, Aracne.

  • Biological networks II: dynamics. Gillespie.


At the end of this course students should

  • understand Bioinformatics terminology;

  • have mastered the most important algorithms in the field;

  • be able to work with with bioinformaticians and biologists;

  • be able to find data and literature in repositories.

Recommended reading

* Jones, N.C. & Pevzner, P.A. (2004). An introduction to bioinformatics algorithms. MIT Press.
Felsenstein, J. (2003). Inferring phylogenies. Sinauer Associates.