Algorithms in Comparative Genomics (2V + 2Ü)

392192 Dias Vieira Braga, Wittler Summer 2023 Fr 08:30 - 10:00 (Ü) in U10-146
392189 Dias Vieira Braga, Wittler Summer 2023 Fr 10:15 - 11:45 (V) in U10-146


Many questions in molecular biology, phylogenetics, and biomedicine can be approached through comparison of two or more genomes. However, a global alignment of multiple large genomes is often infeasible or comes at great expense. It is more efficient to compare genomes on a higher level of abstraction, as given by the succession of single-copy genes or other kinds of unique genomic markers on the chromosomal sequences.

In this course, various models of higher level genome comparison are discussed. We start with the classical breakpoint distance, followed by other simple measures such as SC/J and DCJ. The reversal distance will be discussed, and a general genome rearrangement distance. We will also study methods for the reconstruction of ancestral genomes.

Algorithms discussed in this course are mostly combinatorial by nature, similar to the sequence analysis course.

This course is taught in English.

Conditions for participation, prior knowledge

Required: Algorithms and Data Structures (or comparable)
Recommended: Sequence Analysis and Foundations of Genome Research


Preliminary version of the lecture notes:

Chapter 1

Chapter 2

Other references are listed below, together with the schedule.


  1. Distance and Sorting
    • Breakpoint model
    • Single-Cut-or-Join (SCJ) model
    • Double-Cut-and-Join (DCJ) model
    • DCJ-indel model
    • Inversion model
  2. Ancestral Reconstruction
    • Median and halving
    • SCJ Small Parsimony
  3. Conserved Gene Clusters
    • Generators for common intervals
    • Strong common intervals and PQ-trees
    • Common intervals of strings

Inversion Visualization Software

Prof. Istvan Miklos, from Alfréd Rényi Institute in Budapest, kindly shared his visualization software for the Breakpoint Diagram. It is written in Java, and you can download it here.

Usage: java InversionVisualisation file_name

For example: java InversionVisualisation example.txt

The input must be a signed permutation in one line, representing genome A (genome B is assumed to be the identity permutation), the numbers separated with a <tab>. There is an example in the provided archive.

Select the adjacency edges on which the reversal should act, and press the button Mutate. You can go forward and backward in the list of generated genomes, and you can delete any of them, too.

PQ-Tree applet

Download the jar-file and run java -jar <jar-file> -g n where n is the number of leaves for the initial PQ-Tree. Select the elements which shall appear consecutively by mouse click and Ctrl or shift in the list on the left side of the window. Then click Reduce to get the resulting tree. Use Reset to get the initial tree again. [Reference: J. Harris. A Graphical Java Implementation of PQ-Trees. (last visited 09/20/2006), April 2002. Carleton University. Debugged by Roland Wittler, Bielefeld University.]


Date Teacher Topic Literature Exercises
07.04. No class Holiday
14.04. Jens Introduction, Genes, Genomes, Breakpoint (BP) distance Tannier et al. 2009 Sheet 01
21.04. Marilia BP and SCJ distance, median and halving Tannier et al. 2009,
Feijão & Meidanis 2011
Sheet 02
28.04. Roland Small Parsimony under SCJ Feijão & Meidanis 2011,
Sheet 03
05.05. Roland Small Parsimony under SCJ Manuch et al. 2012,
Luhmann et al. 2014/2018,
Sheet 04
12.05. Marilia Double-Cut-and-Join (DCJ) model Bergeron et al. 2006 Sheet 05
19.05. Marilia DCJ halving, double distance and median Mixtacki 2008,
Tannier et al. 2009
Sheet 06
26.05. Marilia Inversion distance Hannenhalli and Pevzner 1999,
Bergeron et al. 2004
Sheet 07
02.06. Marilia Inversion distance/DCJ-indel distance Bergeron et al. 2004,
Braga et al. 2011
Sheet 08
09.06. Marilia DCJ-indel distance Braga et al. 2011 Sheet 09
16.06. Roland Consistency of gene clusters Slides,
Stoye et al. 2009,
Wittler et al. 2011
Sheet 10
23.06. Roland Generators for common intervals Bergeron et al. 2008, Sections 1 and 2 Sheet 11
30.06. Roland Generators, strong common intervals and PQ-trees see above, Sections 3, 4, 5.1, and 5.3 Sheet 12
07.07. Roland Common intervals of strings Didier at al., 2006,
Dany Doerr's notes
07.07. 13:00 Roland Common intervals of indeterminate strings Doerr, PhD thesis 2016 Sheet 13
14.07. (see above)