Study plan Study plan



Recent experimental techniques in molecular and cell biology are providing enormous amounts of data (globally referred to as “omics”) that have the potential to revolutionize our understanding of biological complexity in cells, in a way that enables us to identify what makes an organism healthy or diseased. Extracting information from this data in a way that maximizes our ability to predict cellular behavior requires building large-scale models informed by experimental knowledge. Identifying the correct model and parameter values from experimental data is a reverse engineering problem not unlike those frequently encountered in technological settings. In this class we will examine a variety of strategies recently developed to reverse-engineer biological networks of genes and proteins associated with cellular processes, and to predict the behavior of cells from mathematical models of those networks.

The course will be evenly split between theoretical and practical aspects. A strong emphasis will be placed on using publicly available biological datasets of different types to apply the concepts discussed in the theory lectures. Students will also be required to undertake a computational project focusing on a specific topic of their interest, among the different ones that will be presented in the course.


Students who have successfully completed first-year mathematics courses in algebra and calculus, such as those offered in BSc degrees in engineering, physics, mathematics and the life sciences, should be able to follow the course. They should also have a basic knowledge of programming, preferably in Python, that enables them to understand and modify simple code.



  1. Types of data in cell biology: transcriptomics (DNA microarrays, RT-PCR, RNAseq), proteomics (immunoassays, mass spectrometry), and microscopy
  2. Biological networks: basic concepts on graph theory, network connectivity, robustness and reliability, types of biological networks
  3. Modeling biological circuits and networks: ordinary differential equations, stochastic simulations, boolean networks
  4. Network inference: linear correlation, regression analysis, mutual information, probabilistic graphical models, Bayesian networks
  5. Parameter inference: global optimization, Markov chain Monte Carlo, approximate Bayesian computation (ABC)
  6. Data assimilation: ensemble modeling, Kalman filtering



Practical exercises will be seamlessly embedded within the lectures. Students will be asked to bring their own laptops, or to team up with a colleague that brings a laptop. Each of the techniques discussed in the lectures will be followed up by a practical implementation of the method in Python, either using a provided code or developing a custom-made code, depending on the difficulty of the method. Real datasets will be used whenever possible.



The final grade will be assigned according to the following distribution:

  • Final exam: 30%
  • Practical exercises: 30%
  • Computational project: 40%



  • Handbook of Statistical Systems Biology . M.P. H. Stumpf, D.J. Balding, M. Girolami, eds. Wiley (2011)  
  • Systems Biology: A Textbook . E. Klipp, W. Liebermeister, C. Wierling, A. Kowald, R. Herwig. John Wiley & Sons (2016)
  • An introduction to systems biology: design principles of biological circuits . U. Alon. CRC (2006)