The main audience of the book consists in graduate students in bioinformatics and in graduate students in computer science with a strong interest in molecular biology.

If you use this book as a textbook, or as a source of suggested reading material or exercises in your course, please let us know via email and we will mention your course on this website.

An idea of how the book could be used to organize a course, can be given by the following graduate-level, 7-week courses, delivered by the Department of Computer Science, University of Helsinki, in 2015 and 2016:

Biological Sequence Analysis
Project in Biological Sequence Analysis
Algorithms in Molecular Biology
Project in Algorithms in Molecular Biology
Data Structures in Genome Analysis

Here is how such courses map to the logical dependencies among chapters:


Squares represent chapters that have connections to most other chapters: most of their connections have been omitted for clarity.

The book could also be used as an introduction to biological sequence analysis and to high-throughput sequencing for the novice. Selected parts of the book could even be used in an introductory course in bioinformatics, however such basic topics were not chosen to cover the whole bioinformatics, but just to give the minimal foundations required to understand the more advanced concepts that appear in later chapters.

1. Molecular biology and high-throughput sequencing
2. Algorithm design
3. Data structures
4. Graphs
5. Network flows
6. Alignments
7. Hidden Markov models (HMMs)
8. Classical indexes
9. Burrows-Wheeler indexes
10. Read alignment
11. Genome analysis and comparison
12. Genome compression
13. Fragment assembly
14. Genomics
15. Transcriptomics
16. Metagenomics