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.

Teaching Staff:


  • Tuesday & Thursday, 10:05am to 11:25pm on Zoom.

Office hours:

Prof. Jérôme WaldispühlTuesday after classENGTR 3106
Roman Sarrazin-GendronThursday 2pm-3:30pmENGTR 3110 (if no one knock at 3140)

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.

Your final grade will be calculated as follows:

  • 30% for 2 assignments (15% each)
  • 35% 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
Mar 31, 2021Apr 30, 2021The description of the optional projects is now available!.
Mar 23, 2021Mar 30, 2021Guidelines for the student presentations: The format is free. Though, we encourage you to follow the following guidelines. The total time allocated for the presentation if 12 minutes (10 minute talk + 2 min of questions). This means that your slide deck should most likely not include more than 15 slides. The presentation should clearly explain (i) the objectives, (ii) context and previous contributions, (iii) Methodology, (iv) validation of the methods and (v) discussion and future directions. In particular, it is important to clearly describe the methodological contribution. You do not need to go into the technical details but you should highlight the key principles. The distribution of time should be (approximately) the following: 2min for the introduction/background, 4min for the methods and 4min for the results/discussion. Of course, it may vary from one article to another.
Please, send a PDF of your slides to the instructor before the beginning of the class.
Mar 10, 2021N/AAn optional tutorial on protein structure analysis is available at
Mar 10, 2021Apr 15, 2021The second assignment is now available!. We strongly recommend you to start it as soon as possible.
Feb 18, 2021N/AAn optional tutorial about how to use the Vienna RNA package is available at
Feb 18, 2021Feb 24, 2021Send to the instructor a selection of up to 5 articles to review (from online directory) for the paper presentation.
Feb 4, 2021Mar 9, 2021The first assignment is now available!. We strongly recomend you to start it as soon as possible.
Note 1: Edited on Feb 25, 2021. The deadline to return the assignment is postponed to March 9, 2021.
Note 2: You should use the option -p in RNAfold to generate the contact map.
Jan 7, 2021Welcome to COMP564!


Lecture 1Jan 7Syllabus. Introduction to RNA structure and function. Timeline of RNA bioinformatics.[Slides]
Lecture 2Jan 12 & 14RNA minimum free energy secondary structure prediction.
Application: The Vienna RNA package (RNAfold).
Chapter 2 of [GR2014]
Lecture 3Jan 19Ensemble of structures and base pair probabilities.[Slides]
Chapter 4 of [GR2014]
Lecture 4Jan 21Stochastic prediction of RNA Secondary Structures.
Application: The Vienna RNA package (RNAsubopt).
Chapter 4 of [GR2014]
Lecture 5Jan 26Comparative modeling of RNAs.
Application: Infernal & the Rfam database.
Chapter 3 of [GR2014]
Lecture 6Jan 28Simultaneous folding and alignment of structured RNAs.[Slides]
Chapter 5, 8, and 9 of [GR2014]. Chapter 6, 9, and 10 of [DEKM1998].
Lecture 7Feb 2RNA sequence-structure maps and simulation the evolution of RNA populations
Application: Jupyter notebook for simulating RNA evolution.
Chapter 16 of [GR2014]
Lecture 8Feb 4Pseudo-knots and RNA-RNA interaction predictions[Slides]
Chapter 19 of [GR2014]
Lecture 9Feb 9RNA 3D Modeling[Slides]
Chapter 13 of [GR2014]
Lecture 10Feb 11RNA 3D structure prediction[Slides]
Lecture 11Feb 16Conservation of structural long-range modules in RNAs. Guest Lecture by Vladimir Reinharz
Lecture 12Feb 18Introduction to Protein structure
Application: The protein data bank (PDB)
Lecture 13Feb 23Protein secondary structure prediction using Neural Networks[Slides]
Lecture 14Feb 25Protein residue contact prediction[Slides]
Lecture 15Mar 9Protein fold recognition and threading[Slides]
Lecture 16Mar 11Minimalist models: Protein folding on HP lattice models[Slides]
Lecture 17Mar 16Protein 3D structure prediction[Slides]
Lecture 18Mar 18Molecular dynamics simulation[Slides]
[MD Tutorial] [GROMACS5 Tutorial] [Data]
Lecture 19Mar 23Cheminformatics and prediction of inter-molecular interactions[Slides]
Lecture 20Mar 25Analysis and alignment of Protein-Protein Interaction networks[Slides]
Lecture 21Mar 30Student presentations (RNA bioinformatics) (Glouzon & Ouangraoua, 2018)
(Zirbel et al, 2015)
(Rivas et al., 2017)
(Do & Batzoglou, 2006)
(Andronescu et al., 2007)
(Hammer et al., 2019)
Lecture 22Apr 1Student presentations (3D structure)
(Boniecki et al., 2016)
(Marks et al., 2011)
(Peng & Xu, 2011)
(Mann et al., 2008)
(Rousseau et al., 2014)
(Adhikari et al. 2016)
Lecture 23Apr 6Student presentations (Systems biology)
(Kuzu et al., 2017)
(Kim et al., 2006)
(Cho et al., 2016)
(Chindelevitch et al., 2013)
(Hwang et al., 2017)
(Orenstein et al., 2016)
Lecture 24Apr 8Special Topics
Lecture 25Apr 15Special Topics
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. COMP462/561.
Undergraduate students: You can register to this class with the permission of the instructor.

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