Algorithms in Sequence Analysis

2025-2026

General Information

Course Code X_405050
Credits 6 EC
Period P2
Course Level 600
Language of Tuition English
Faculty Faculty of Science
Course Coordinator R. Kumar
Examiner dr. S. Pissis
Teaching Staff dr. J.M. Urtasun Elizari
dr. S. Pissis
prof. dr. J. Heringa
H. Verbeek MSc
dr. ir. K.A. Feenstra
dr. Z. Işik MSc
Part of programme(s)

Practical Information

You need to register for this course yourself. The (de)registration deadlines can be found on VU.nl

Teaching Methods Computer lab, Lecture

Target audiences

This course is also available as:

Course Objective

Have you ever wondered how we can track a gene across 3 billion years of evolution? Or how you can use the genome information of a given cancer patient to find out what may be wrong? Sequence alignment can be used to compare genomes, genes or proteins from bacteria all the way to humans, while further derived algorithms may be employed to make a phylogeny (to find out about evolutionary relationships), find a functional motif in a protein sequence, or a viral sequence in a genome. In this course we focus on the most important algorithms for biological sequence analysis that can be applied to real scientific problems in biology.

After completing the course successfully,

  • You can demonstrate in-depth knowledge about the theory of sequence analysis methods.
  • You know how to implement several of the most important sequence alignment and analysis algorithms.
  • You understand the mathematical formulation behind sequence analysis algorithms.
  • You will have understanding and skills to apply sequence analysis algorithms to protein and DNA sequences.
  • You will have hands-on experience in tackling biological problems using sequence analysis algorithms, including the statistical framework of HMMs and algorithms used in genome sequencing and analysis.
  • You can decide which algorithm is best suited for a particular biological sequence analysis problem.
  • You can read through scientific and technical literature and learn to translate algorithms described in text and formal mathematical notation into computer code.

Course Content

Theory:

  • Dynamic programming
  • database searching
  • pairwise and multiple alignment
  • probabilistic methods including HMMs
  • pattern matching
  • entropy measures
  • evolutionary models
  • and phylogeny

Practical:

  • Programming (in Python) an alignment algorithm based on dynamic programming;
  • Aligning sequencing data from tumors to the human genome and analysing structural variants;
  • Programming (in Python) an implementation of HMMs and using it to predict protein domain structure.

Additional Information Teaching Methods

13 lectures: 2 two-hour lectures per week.
13 computer practicals and associated assignments: 2 two-hour hands-on sessions per week.

Method of Assessment

The final grade for this course will consist of 50% practical work (see above) and 50% theoretical assessment.
(assessment of practical assignments may be adjusted based on ongoing developments in generative language models)

The theoretical assessment will be an oral and/or written exam (depending on number of students).

Further assessment and grading details will be posted on Canvas (resits and compensation rules).

Entry Requirements

Bachelor in any science discipline (including medicine).
Basic programming skills (Python) and an interest in biological problems.

Literature

Course material on Canvas.

Books: Durbin, R., Eddy, S.R., Krogh, A., Mitchison, G.. Biological Sequence Analysis. Cambridge University Press, 1998, 350 pp., ISBN 0521629713.

Recommended reading: Marketa Zvelebil and Jeremy O. Baum Understanding Bioinformatics. Garland Science 2008. ISBN-10: 0-8153-4024-9

Additional Information Target Audience

M Bioinformatics and Systems Biology
M Biomolecular Sciences
M Artificial Intelligence
M Computational Science

Additional Information

BYOD policy (Bring Your Own Device)

We expect students in this course to use their own laptop. This laptop should at the very least support an SSH client, for remote shell access to the VU Linux servers. Ideally, this laptop supports a command line shell, Python 3 and a text editor with syntax highlighting -- either standalone (e.g. Atom or Sublime Text) or as part of a simple IDE (e.g. Spyder). As such, we recommend the Anaconda python distribution regardless of operating system, along with PuTTy or PowerShell for Windows users specifically.

The course is taught in English.