Kaisa_2012_3_photo by Veikko Somerpuro

30.3.2020 at 09:00 - 19.4.2020 at 23:59



Optional course.

Master's Programme in Computer Science is responsible for the course.

The course belongs to the Discrete Algorithms CSM12100 and Discrete Algorithms (elective) CSM22100 modules.

The course is available to students from other degree programmes.

An earlier course in algorithms and an earlier course in bioinformatics give a good background, but basic concepts on biological sequences will be revisited during the course.

Algorithms in Molecular Biology

Research Seminar in Discrete Algorithms


  • Can derive dynamic programming formulations for simple variants of the alignment formulations covered during the course (such as global, local, semi-local, overlap, multiple, progressive, DAG, jumping alignment), and optimize them for speed and space usage.
  • Can derive new HMM formulations for problems like pair HMMs and profile HMMs related to those covered during the course (such as basic viterbi, forward, backward, Baum-Welch, for gene finding).
  • Can explain how read alignment and simple genome analysis tasks such as maximal repeat finding can be conducted time- and space-efficiently.

After one course in algorithms and one course in bioinformatics.

Spring term, period III, every even year

The course covers selected high-throughput methods for the analysis of biological sequences, including advanced alignment methods, Hidden Markov Models, and next-generation sequencing data analysis methods.

Course book:

Veli Mäkinen, Djamal Belazzougui, Fabio Cunial, and Alexandru Tomescu. Genome-Scale Algorithm Design: Biological sequence analysis in the era of high-throughput sequencing. Cambridge University Press, 2015.

Recommended as supplementary reading:

R. Durbin, S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis: Probabilistic models of proteins and nucleid acids. Cambridge University Press, 1998.

The following is the current plan for Spring 2018: teaching methods evolve from year to year.

There will be online lecture material covering the main concepts of each week; this material is assumed to be studied before attending the weekly contact teaching (lecture+study group+exercise).

The weekly contact lecture focuses on examples around the week's topic, and derivations and proofs not suitable for online lectures.

The weekly study groups are mostly online problem solving in small groups; the students teach each other the solutions found.

The weekly exercises work as self-evaluations and test the problem solving and analysis skills acquired. In the first weeks, one can replace problem solving and analysis questions by implementing the studied algorithms; this is aimed at students with insufficient background in the required mathematical skills to catch up.

The following is the current plan for Spring 2018: assessment practices evolve from year to year.

The grading scale is 1...5.

The course exam has one question that tests general knowledge on the course topics. Points gathered from the exercises can replace this question.

One should obtain 30 points to pass the course with grade 1. Grade 5 is obtained with 50 points out of the maximum 60. A linear scale is applied for other grades.

Deviations from the scheme are possible depending on the difficulty of the exam.

Due to current COVID-19 situation general examinations in lecture halls are cancelled. You can check the completion method from the course page or contact the teacher to ask about alternative completion methods. - - - General exams last 3 hours and 30 minutes. Renewal exam (marked with "(U)") is the first general exam after the course and also a renewal exam of course exam(s). In a renewal exam the points student has earned during the course are taken into account. Exams marked with "(HT)" are allowed only to students who have completed the obligatory projects or other exercises included in those courses. Exams marked with "(HT/U)" are renewals to students who have completed the obligatory projects during the course. General exams might cover different area than the lectured course. Check the course web page and contact the responsible teacher if in doubt.

The course follows a lecture->study group->exercise cycle. The lecture gives an overview of week's topic. Study groups focus on in-depth understanding of selected topics. Exercises work as individual evaluations.

Active participation in a manner specified later is required to take the course exam.

Alternatively one can take a separate exam.