Bioinformatic Algorithms, UNIL 2025
Instructors: Prof. Christophe Dessimoz (CD) & Prof. David Gfeller
(DG)
Assistants: Dr. Irene Julca, Daniel Tadros
Location: Amphipole 336 (to be confirmed)
19h lecture, 20h practical, 20h personal work (4 ECTS for MSc / 3 ECTS for PhD)
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, forloops, 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): https://moodle.unil.ch/course/view.php?id=30087
Date 
Lecture

Lecturer 
Practical


25 Feb 2025 9.0012.00 
Introduction. How computers work; fundamentals of algorithm and complexity theory. 
CD 
Worksheet 1: Setting up environment, basic algorithm. 
4 Mar 2025 9.0012.00 
Exact sequence matching I: read mapping, indexing 
CD 
Answer questions, discuss solutions. 
11 Mar 2025 9.0012.00 
Exact sequence matching II: hashing, edit distances. 
CD 
Worksheet 2: Binary search and exact string matching; genomic signatures 
18 Mar 2025 9.0012.00 
Approximate sequence matching: dynamic programming 
CD 
Answer questions, discuss solutions. 
25 Mar 2025 9.0012.00 
Alignment significance: permutation test, parameter estimation 
CD 
Worksheet 3: Sequence alignment with dynamic programming 
1 Apr 2025 9.0012.00 
Networks I: Introduction to different types of networks. Graph representation and data structure. Graph and tree traversals. 
DG 
Answer questions, discuss solutions. 
8 Apr 2025 9.0012.00 
Networks II: Clustering. 
DG 
Worksheet 4: Networks, Dijkstra's algorithm, viewing networks with cytoscape 
15 Apr 2025 9.0012.00 
Fast approximations: kmer, minimizers and minhashing 
CD 
Answer questions, discuss solutions 
Easter break 

29 Apr 2025 9.0012.00 
Networks III: Neural networks. 
DG 
Worksheet 5: Neuronal network to predict transmembrane residues in a protein 
6 May 2025 9.0012.00 
Network IV: Convolutional neural networks. 
DG 
No practical 
13 May 2025 9.0012.00 
Crossvalidation, avoiding overfitting 
DG 
Answer questions, discuss solutions 
20 May 2025 9.0012.00 
Hidden Markov models. Forwardbackward algorithm. 
CD 
Worksheet 6: Hidden Markov Models 
27 May 2025 9.0012.00 
Conclusion. Review key ideas, next steps, feedback. 
CD 
Answer questions, discuss solutions 