Algorithms in Sequence Analysis

2025-2026

Algemene informatie

Vakcode X_405050
Studiepunten 6 EC
Periode P2
Vakniveau 600
Onderwijstaal Engels
Faculteit Faculteit der Bètawetenschappen
Vakcoördinator R. Kumar
Examinator dr. S. Pissis
Docenten dr. Z. Işik MSc
dr. J.M. Urtasun Elizari
prof. dr. J. Heringa
dr. S. Pissis
H. Verbeek MSc
dr. ir. K.A. Feenstra
Onderdeel van opleiding(en)

Praktische informatie

Voor dit vak moet je zelf intekenen. De inteken- en afmeldtermijnen staan op VU.nl

Onderwijsvorm Computerpracticum, Hoorcollege

Doelgroepen

Dit vak is ook toegankelijk als:

Dit vak wordt in het Engels aangeboden. Omschrijvingen kunnen daardoor mogelijk alleen in het Engels worden weergegeven.

Doel vak

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.

Inhoud vak

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.

Aanvullende informatie onderwijsvormen

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

Toetsvorm

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).

Vereiste voorkennis

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

Literatuur

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

Aanvullende informatie doelgroep

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

Overige informatie

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.