Bioinformatic Algorithms, UNIL 2022

Instructors: Prof. Christophe Dessimoz (CD) & Prof. David Gfeller (DG)
Assistants: Dr. Alex Warwick Vesztrocy and Simon Eggenschwiler
Location: Amphipole 336

15h lecture, 15h practical, 10h personal work (3 ECTS)

The course aims at improving the student’s programming skills by gaining a deep understanding of some of the key algorithms in bioinformatics, with a special emphasis on sequence and graph algorithms. Students will learn widely applicable concepts, such as asymptotic time complexity, binary search, suffix trees, dynamic programming, hashing, hidden Markov models, and neuronal networks.

Practicals and home assignments are essential parts of the course. The language of the course is Python, though the concepts covered in the course are applicable to all computer languages.

Assessment: 20 min oral examination

Prerequisites: The course assumes familiarity with basic programming concepts (variable and function declaration, arrays, for-loops, conditional statements, etc.). Algorithms are introduced from a practical angle so the mathematical formalism is kept at a minimum.

Moodle page (for Q&A, slides, worksheets, etc):

Link to lecture broadcast for remote attendees


Lecture (9-10.25am)
Amphipole 336


Practical (10.35-12am)
Amphipole 336

3 Mar 2022

Introduction. How computers work; fundamentals of algorithm and complexity theory.


Worksheet 1: Setting up environment, basic algorithm.

10 Mar 2022

Exact sequence matching I: read mapping, indexing


Answer questions, discuss solutions.

17 Mar 2022

Exact sequence matching II: hashing, edit distances.


Worksheet 2: Binary search and exact string matching; genomic signatures

24 Mar 2022

Approximate sequence matching: dynamic programming


Answer questions, discuss solutions.

31 Mar 2022

Alignment significance: permutation test, parameter estimation


Worksheet 3: Sequence alignment with dynamic programming

7 Apr 2022

Networks I: Introduction to different types of networks. Graph representation and data structure. Graph and tree traversals.


Answer questions, discuss solutions.

14 Apr 2022

Networks II: Clustering.


Worksheet 4: Networks, Dijkstra's algorithm, viewing networks with cytoscape

Easter break

28 Apr 2022

Networks III: Neural networks.


Answer questions, discuss solutions.

05 May 2022

Hidden Markov models. Forward-backward algorithm.


Worksheet 5: Neuronal network to predict transmembrane residues in a protein

12 May 2022

Conclusion. Review key ideas, next steps, feedback.


Answer questions, discuss solutions.