Skip to main content

Computational Methods in Bioinformatics

Master’s level
7,5 credits (ECTS)


This course demonstrates how computational methods that have been presented in other computing courses can be applied to solve problems in an application area. We look at problems related to the analysis of biological sequence data (sequence bioinformatics) and macromolecular structures (structural bioinformatics).

Computing scientists need to be able to understand problems that originate in areas that may be unfamiliar to them, and to identify computational methods and approaches that can be used to solve them. Biological concepts needed to understand the problems will be introduced.

Reading research articles is valuable training for scientists and researchers. Developing skill in reading research articles is useful preparation for future scientific studies, and at the same time their own scientific writing can be improved. Therefore, in this course, research articles are used as the main reference material, in particular to show how to present ideas and methods, and how to critically evaluate them.

Computational methods and concepts featured in this course include: dynamic programming; heuristic algorithms; graph partitioning; image skeletonisation, smoothing and edge detection; clustering; sub-matrix matching; geometric hashing; constraint logic programming; Monte Carlo optimisation; simulated annealing; self avoiding walks.

Biological problems featured in this course include: sequence alignment; domain assignment; structure comparison; comparative modelling; protein folding; fold recognition; finding channels; molecular docking; protein design.

Prerequisites and selection


To be eligible for the course, the student should have successfully completed 60 credits of studies in Computer Science, Software Engineering, Data Science, or equivalent. Furthermore, the student should have successfully completed a course in Programming (DIT012 Imperative Programming with Basic Object-orientation, DIT042 Objectoriented Programming, DIT143 Functional programming, or equivalent) and a basic course in discrete mathematic (DIT980, DIT856 or equivalent).  Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.