The Exelixis Lab

Enabling Research in Evolutionary Biology


Bioinformatics courses are taught by Alexis in Karlsruhe with the occasional help of his PostDocs and PhD students from the Heidelberg Institute for Theoretical Studies. See here for contact details.

Course Evaluation Results (Learning Quality Indices)

  • Winter 2012/13: 100 out of 100. PDF
  • Summer 2014: 97.9 out of 100. PDF
  • Winter 2014/15: 100 out of 100. PDF
  • Winter 2015/2016: 100 out of 100. PDF
  • Winter 2016/2017: 100 out of 100. PDF
  • Winter 2017/2018: 100 out of 100. PDF
  • Winter 2018/2019: 100 out of 100. PDF
  • Winter 2019/2020: 100 out of 100. PDF
  • Winter 2020/2021: 100 out of 100. PDF

Practical Evaluation results (Learning Quality Indices)

  • Summer 2015: 100 out of 100. PDF
  • Summer 2017: 100 out of 100. PDF

Seminar Evaluation results (Learning Quality Indices)

  • Summer 2018: 100 out of 100. PDF

Teaching Awards

  • Alexis and Michael Hamann (PhD student from the chair of Prof. Wagner at KIT) received a certificate for teaching excellence from the dean of the CS faculty at the Karlsruhe Institute of Technology for their programming practical "Hands-on Bioinformatics Practical" tought in summer 2017 based on the practical evaluation by the students. This practical also resulted in a peer-reviewed publication in the high quality journal Bioinformatics.
  • The three former students of the programming practical (Michael Hoff, Stefan Orf and Benedikt Riehm) will receive a prize from KIT on October 14, 2016, for research work conducted by students, since they published a peer-reviewed paper presenting the results of the practical.
  • Alexis and Tomas received a certificate for teaching excellence from the dean of the CS faculty at the Karlsruhe Institute of Technology for their programming practical "Hands-on Bioinformatics Practical" tought in summer 2015 based on the practical evaluation by the students.
  • Alexey, Alexis, Andre, Kassian, Mark Holder, and Tomas received a certificate for teaching excellence from the dean of the CS faculty at the Karlsruhe Institute of Technology for the course "Introduction to Bioinformatics for Computer Scientists" tought in winter 2014/15 based on the course evaluation by the students.

General Information

Course Slides

Please send Alexis an email to be added to the course mailing list and thereby obtain access to the course slides.


Knowledge Quiz Answers:

Reading List and on-line material


A 20 minute oral exam at the end of the semester, dates will be scheduled via doodle.

Course Mailing List

Write an email to Alexis such that he can add you to the course mailing list, very important!

Course beers

We will try to go for course beers with the entire course at least once. All drinks will be on Alexis.

Seminar: Bioinformatics

You will need to select papers to present, give a presentation and write a report.

This main seminar allows students to understand and present the contents of current papers in Bioinformatics such as published for instance in the journals Bioinformatics, BMC Bioinformatics, Journal of Computational Biology etc. or at conferences such as ISMB or RECOMB.

We will provide a list of interesting papers but students can also propose papers they are interested in. Students may also chose to cover broader topics of more general interest such as multiple sequence alignment, Bayesian phylogenetic inference, read assembly etc.

Each student will be assigned an Exelixis lab member for help with understanding the article and preparing the slides as well as the report.

Students should give a 35 minute presentation on their topic of choice and write a report (Seminararbeit) comprising 8 pages!

Below you will find some general material for the Bioinformatics seminar:

Latex template for reports

We are going to use the Springer LNCS (Lecture Notes in Computer Science) Latex template available here.

Please make sure to download file:!

Here are some examples from well-written reports of previous years:

Here are some examples of nice slides from previous years:


In the practical we will try to implement something "useful" as open source tool in C or C++.

Some notes about C programming

Here are some old slides by Alexis covering some aspects of C programming:

Code quality assessment

Make sure to use all tools/mechanisms at your disposal to produce high quality code, for instance:

  • Use as many assertions as you can.
  • Use the valgrind tool to detect and remove memory leaks, segmentation faults, etc.
  • Enable all compiler warning flags you can think of and fix all warnings! In my lab we typically activate the following flags:
    -Wall  -Wunused-parameter -Wredundant-decls  -Wreturn-type  -Wswitch-default -Wunused-value -Wimplicit  -Wimplicit-function-declaration  -Wimplicit-int -Wimport  -Wunused  -Wunused-function  -Wunused-label -Wno-int-to-pointer-cast -Wbad-function-cast  -Wmissing-declarations -Wmissing-prototypes  -Wnested-externs  -Wold-style-definition -Wstrict-prototypes -Wpointer-sign -Wextra -Wredundant-decls -Wunused -Wunused-function -Wunused-parameter -Wunused-value  -Wunused-variable -Wformat  -Wformat-nonliteral -Wparentheses -Wsequence-point -Wuninitialized -Wundef -Wbad-function-cast
  • use the clang compiler instead of gcc it generated and detects many more warnings.
  • Keep in mind that the argument for malloc is size_t and not an integer!
  • Play with the compiler optimization flags to see which ones generate the fastest code!
  • Use a version control management system like git for code development, in my lab we typically use github


The practical will be graded.

summer 2021 courses

Main Seminar: Hot Topics in Bioinformatics

The seminar on "Hot topics on Bioinformatics" only for students that attended the lecture taught in winter 2020/21, will take place virtually on Thursdays from 12:00 - 13:30.

There is a limited number of 10 places available for this seminar: students must register via the KIT campus system and will receive places (or not) on a first come first served basis. In case of difficulties with the registration please contact Alexis via Email. Also make sure you have been included in the seminar mailing list!

Paper & Supervisor Assignments

You can find the contact data of your supervisors here.

Deadlines & Dates

  • Seminar Introduction by Alexis: Already available now (Summer 2020! version), please watch BEFORE April 15!
    • Course Preliminaries: Youtube

      Note that the deadlines reported in the above video are those for 2020 and are hence invalid. This summer topics need to be fixed by April 30, presentation slots will be announced later on, and the report submission deadline is on September 30.

    • Giving scientific talks and writing scientific papers: Youtube
  • Questions about the seminar will be discussed via MS Teams or Zoom (TBA via the seminar mailing list) on April 15
  • Topic and Paper Selection Deadline: April 30, supervisors will be assigned immediately thereafter.
  • Preferably meet virtually with supervisor at least twice for (i) paper discussion (ii) presentation review before your presentation date
  • Depending on the situation with the pandemic, we might either conduct presentations on the reserved regular time slots (see below), in a block toward the end of the semester or via video conferencing during the reserved regular time slots.
  • Virtually meet with supervisor at least once for report review until September 30
  • Report Deadline: September 30

Intro slides

  • general intro slides
  • writing papers and giving talks slides


Presentation Schedule (Thursday at 12:00)

July 22
  • Luise
  • Xinyi
  • Felix

Programming Practical

Kick-off meeting on April 15 LIVE at 10:00 via MS Teams (see Ilias page of the course for the link).

Kick-off meeting slides:

Related slides from the lecture during the winter term:

Test datasets can be downloaded here.

This practical will be supervised together with Alexis' PhD students Lukas Hübner and Ben Bettisworth

Student teams:

    team 1
  • Robin
  • Luise
    team 2
  • Tobias
  • Robert

We will have a total of 3 individual milestone meetings during the semester with each of the two teams and one final meeting after the end of the summer term teaching period (date to be coordinated).

Milestone Meetings

  • Meeting 1 (standard RF distance): May 6
  • Meeting 2 (adapted RF distance): June 10
  • Meeting 3 (optimized and potentially parallelized adapted RF distance): July 15


Re-implement and optimize (the shit out of) the modified Robinson-Foulds distance described in this paper here

Please have a look at the associated software framework Ben prepared for you to parse phylogenetic trees and extract their bipartitions here.

Also have a look at the SoftWipe software quality assessment tool that we are going to use for checking code quality and the respective paper

The student team that will write the fastest, correct code on a reference system to which you will be given access to will be invited by Alexis for dinner.


  • Final code submission deadline July 30
  • Report submission (if we don't write a paper/preprint together, to be decided) September 30