An introduction to computational structural and systems biology. Theory and practice of Protein and RNA structure prediction, RNA-RNA, Protein-RNA, protein-protein interaction prediction, biological network analysis.


This class extends the material covered in COMP462/561 (i.e. Computational Biology Methods and Research). We introduce fundamental concepts and techniques in computational structural biology and computational systems biology, which have a broad impact on the understanding of gene regulation processes and biological systems mechanisms.

This course covers the theory and practice of computational techniques used in these research areas, such as dynamic programming algorithms for RNA structure analysis, molecular dynamics and machine learning techniques for protein structure prediction, and graphical models for biological networks analysis. We also feature practical sessions introducing how to use state-of-the-art software.



  • Tuesday & Thursday, 11:35am to 12:55pm in Rutherford Physics Building 114.

Office hours:

Prof. Jérôme WaldispühlTuesday 14:00-15:00ENGTR 3106

Course Webpage:

Course Material:
All the material needed for this class will be available on the public course web page. There is no required textbook. Although, we recommend the following textbooks to deepen the material presented in class:

  • [CB2000] Peter Clote and Rolf Backofen, Computational Molecular Biology: An Introduction, Wiley, 2000.
  • [DEKM1998] Richard Durbin, Sean R. Eddy, Anders Krogh, and Graeme Mitchison, Biological Sequence Analysis, Cambridge University Press, 1998.
  • [GR2014] Jan Gorodkin and Walter Russo, RNA Sequence, Structure, and Function: Computational and Bioinformatics Methods, Humana Press, 2014.
Lecture slides will be made available in PDF form on the course web page. Lectures will be recorded and available on MyCourse.

Your final grade will be calculated as follows:

  • 40% for 2 assignments (20% each)
  • 25% for the final exam
  • 25% for the project report
  • 10% for the paper presentation
The final exam is closed book and electronic devices are not allowed.


Release DateDue DateAnnounce
Dec 10Dec 19The final exam is scheduled on December 19th at 18h30.
Dec 10A practice final exam is now available.
Nov 20Formatting guidelines for paper presentation: (i) Slides should be in PDF or PPT; (ii) include a title slides, introduction/background section, results, discussion ; (iii) max 30 slides. Be clear and do not make busy slides. Minimum font: 20pt. Each presentation will be approx. 20min + 5min questions.
Nov 5Dec 7The second assignment is now available. Return your answers by email to the instructor.
Nov 4Please, return your answers to Assignment 1 by email to the instructor.
Oct 31Extra Office Hours at 2pm.
Oct 26The class is cancelled.
Oct 12The class is cancelled.
Oct 5Nov 1The first assignment is now available. You must return your answers electronically on MyCourse.
Oct 5Oct 13The list of papers available for review is now available. Fill the form to give your preferences (at least 5).
Sep 5Welcome to COMP598!


Lecture 1Sep 5Syllabus. Introduction to RNA structure and function. Timeline of RNA bioinformatics.[Slides]
Lecture 2Sep 7RNA minimum free energy secondary structure prediction.
Application: The Vienna RNA package (RNAfold).
Chapter 2 of [GR2014]
Lecture 3Sep 12Boltzmann ensemble of RNA secondary structures.[Slides]
Chapter 4 of [GR2014]
Lecture 4Sep 14Rational sampling of RNA secondary structures.
Application: The Vienna RNA package (RNAsubopt).
Chapter 4 of [GR2014]
Lecture 5Sep 19Comparative modeling of RNAs
Application: Infernal & the Rfam database.
Chapter 3 of [GR2014]
Lecture 6Sep 21Alignment of structured RNAs
Application: RNAalifold.
Chapter 5, 8, and 9 of [GR2014]. Chapter 6, 9, and 10 of [DEKM1998].
Lecture 7Sep 26Simultaneous folding and alignment of structured RNAs
Application: LocARNA
Chapter 13 of [GR2014]
Lecture 8Sep 28Variations on RNA secondary structure prediction
Application: The Vienna RNA package (kinefold).
Chapter 19 of [GR2014]
Lecture 9Oct 3Evolution of RNAs and sequence-structure maps
Application: Jupyter notebook for simulation of the evolution of RNA populations.
Chapter 16 of [GR2014]
Lecture 10Oct 5RNA 3D Modeling
Application: RNA-MoIP and MC-Sym
Chapter 13 of [GR2014]
Lecture 11Oct 10Pseudo-knots and RNA-RNA interaction predictions
Application: The Vienna RNA package (RNAup).
Chapter 19 of [GR2014]
Oct 12Class cancelled
Lecture 12Oct 17RNA inverse folding
Application: The Vienna RNA package (RNAinverse) and IncaRNAtion.
Chapter 16 of [GR2014]
Lecture 13Oct 19Introduction to Protein structure. Timeline of protein structure prediction.
Application: The protein data bank (PDB)
Lecture 14Oct 24Protein secondary structure prediction using Neural Networks (Part I)
Application: PSIPRED
Oct 26Class cancelled
Lecture 15Oct 31Protein secondary structure prediction using Neural Networks (Part II)
Lecture 16Nov 2Protein residue contact prediction
Application: EVcoupling
Lecture 17Nov 7Protein Threading
Application: RaptorX
Lecture 18Nov 9Minimalist models: The HP lattice model
Application: The CPSP software suite
Lecture 19Nov 14Molecular dynamics simulation
Application: GROMACS
[Tutorial] [Tutorial 2] [Data]
Lecture 20Nov 16Protein-Protein Interaction networks
Application: Struct2net, IsoRank
Lecture 22Nov 21
  • Jesse Islam: "The Phyre2 web portal for protein modeling, prediction and analysis" by L.A. Kelley et al.
  • Etienne Guillot-Marquet: "Protein 3D Structure Computed from Evolutionary Sequence Variation" By D. Marks et al.
  • Eric Kissel: "Binding Site Identification and Flexible Docking of Single Stranded RNA to Proteins Using a Fragment-Based Approach" by I. Chauvot de Beauchene et al.
  • Theodore Morley: "sequence-based identification of 3D structural modules in RNA with RMDetect" by J. A. Cruz & E. Westhof
Lecture 22Nov 23
  • Anurag Roy: "SimRNA: a coarse-grained method for RNA folding simulations and 3D structure prediction" by M. Boniecki et al.
  • Eric Zhang: "An integrated 3-Dimensional Genome Modeling Engine for data-driven simulation of spatial genome organization" bu P. Szalaj et al.
  • Samy Coulombe: "Classifying leukemia types with chromatin conformation data" by M. Rousseau et al.
Lecture 21Nov 283D Genomics
Application: 3DGB
Lecture 22Nov 30Crowdsourcing molecular biology research
Application: Phylo
Lecture 23Dec 5TBD
Note: This schedule is subject to modification.


Background & Pre-requisites
Good understanding of basic algorithms (equivalent to COMP251), and core molecular biology concepts (i.e. DNA, RNA, Proteins structure and function). A basic progamming in Python.
Undergraduate students: You can register to this class with the permission of the instructor. If you have not taken it yet, it is possible (and even recommended) to register at the same time to COMP462/561. We will synchronize the material taught in COMP598 with the one of COMP462/561.

Policy on discussion Board
Please follow common sense rules and etiquette for discussion board postings: be polite, avoid texting shorthand ("ur" instead of "you are", ...), choose a suitable subject line for your posting and use multiple postings for multiple subjects, keep your postings brief, etc.

Policy on collaborations
We greatly encourage you to discuss the assignment problems with each other. However, these discussions should not go so far that you are sharing code or giving away the answer. A rule of thumb is that your discussions should considered public in the sense that anything you share with a friend should be sharable with any student in the class. We ask you to indicate on your assignments the names of the persons with who you collaborated or discussed your assignments (including TA’s and instructors).

Policy on re-grading
If you wish us to re-grade a question on an exam (or assignment), we will do so. However, to avoid grade ratcheting, we reserve us the right to re-grade other questions on your exam as well.

Policy on final grades
I will use the same rules and formula for calculating the final grade for everyone. We understand that your performances may be influenced by many factors, possibly out of your control. However, that is the only way we can be fair. The only exceptions will be medical exceptions. In that case, I will require a medical note, which has to be also reported to McGill, and to be informed as early as possible. Failure to comply to these rules, may results in the impossibility to invoke a medical exception.

Policy on Assignments
Due date/time, location/mode for returning your solutions, and accepted formats will be announced in class and indicated on the course web page.
Failure to return your assignment in time will results in penalties or even absence of grading. Late submission of 24h or less will receive a penalty of 20%. In all other cases, your assignment will be refused and not graded.
Importantly, solutions that do not follow the requested format will receive a penalty. By default, we only accept PDF or TEXT files. Images (if any) must be embedded in a PDF. Do not compress your files. All files must open on LINUX SOCS workstations.
The quality of the presentation of your solution is very important. Unreadable material, cryptic notations, or bad organization of the material will results in penalties, and potentialy even an absence of grading. If you scan your hand-written solutions, it is your responsability to ensure that you submit a high-quality image (i.e. excellent luminosity, contrast, focus and resolution). The clarity of your explanations will also be an integral part of your final grade.

Policy on programming code
Questions in assignments may require you to write a Python program. We will provide, as much as possible, input and output data to test your programs. However, it will be your duty to ensure that your Java files compile on LINUX SOCS workstations. We will not grade programs that do not compile on these machines.
Submission of class files (instead of Java source files) will be considered as an absence of submission. Do not compress your files.

Use of French in assignments and exams
In accordance with McGill University’s Charter of Students’ Rights, students in this course have the right to submit in English or in French any written work that is to be graded.

McGill policies
McGill University values academic integrity. Therefore, all students must understand the meaning and consequences of cheating, plagiarism and other academic offenses under the Code of Student Conduct and Disciplinary Procedures. See this link for more information.


If you have any additional question, you can contact the instructor:

Jérôme Waldispühl
3630 University Street, Room 3106, Montreal QC H3A 0C6
(Phone) +1 514 398 5018

Based on a template from