Introduction to Computational Models in Biology
AMATH 422/522

Fall 2015
MW 4:30-5:50 Room B027; of ICL lab, Communications Building.

Here, you will learn about models that arise in the life sciences and how they're analyzed using modern mathematical and computational techniques. We will cover statistical models, discrete- and continuous- time dynamical models, and stochastic models. Applications will sample a wide range of scales, from biomolecules to population dynamics, with an emphasis on common mathematical concepts and computational techniques. Throughout, our themes will include interpretation of existing data and predictions for new experiments.

MATLAB will be used for numerical computation, visualization, and data analysis -- and mathematical tools taught in parallel with their computational implementation. No prior programming experience is assumed.

Images: Terrence Sanger, Medical College of Georgia, Steve Coombes, Yulia Timofeeva.

Eric Shea-Brown
325 Lewis Hall
Office hours: Tu 2:00-2:50

Required text: "Dynamic Models in Biology,". by Stephen Ellner and John Guckenhiemer (called EG below). .

Optional reference: "Matlab: A Practical Introduction to Programming and Problem Solving," by Stormy Attaway is a very helpful programming guide and reference, for use as needed.

Codes and data for lectures and lab exercises


Syllabus and readings

(1) Course overview, introduction to programming, and introduction to mathematical models in the life sciences.
  • EG Chapter 1
(2) Matrix models -- discrete time, linear maps (2 weeks)


(3) Stochastic models (2.5 weeks)
  • Introduction to electrical membranes and neurons
  • Random variables and probability
  • Channel statistics: the binomial distribution
  • Transition probabilities and Markov chains
  • Equilibrium states -- dominant eigenvalues and Perron-Frobenius return!
  • Central limit theorem and deterministic limits
  • Applications to ion channels and reverse-engineering molecular configurations
(4) Continuous time models and biological networks (3 weeks)
  • Ordinary differential equations and vector "arrow" fields -- visualizing flows in MATLAB
  • Nullclines
  • Equilibria: Newton's method in MATLAB
  • Stability and oscillations
  • Numerical solution methods, MATLAB implementation
  • Applications in gene networks, oscillators, and genetic toggle switches
  • Stochastic differential equations and biological memory models

Course structure and grading

Course grades are composed of: Problem Sets 40%, Case study presentation 10%, Project presentation 10%, Project paper 40%.

Problem sets will be due on select Wednesdays (roughly every other week) at the start of class.

Important formatting instructions: in your writeup please present all material for a given problem together -- e.g. under "Problem II" you'd have any and all code that you used for that problem, a written answer (i.e., "the dominant eigenvalue is 0.921"), plots that explain and back up your findings and answers, and any analysis. Then we'd go to the next problem. (Not stapling all code for all problems together as an appendix at the end.) You may find the publish(code.m) command in MATLAB helpful. You can print out your codes and plots and intermingle this with handwritten answers and explanations, or, again, some have found the MATLAB "publish" function handy. Late policy: 50% credit if turned in late but within 2 days of deadline; not accepted otherwise.

Case study: Each group of students will give a brief in-class presentation of a paper that applies the modeling and computational techniques we have learned in the course. Paper suggestions, guidelines and grading criteria will be distributed. Presentation dates: Nov 18 and 23.

Project: These case studies will be developed into course projects, consisting of a brief presentation and paper writeup. Presentations Dec. 7 and 9. Papers due to Shea-Brown mailbox, Lewis Hall: MON. Dec. 14, 5 PM.


In this course, we will make extensive use of the Matlab ( The MathWorks, Inc) programming language. As an OPTIONAL bonus, the textbook's website also provides many codes in the language R, which has closely related syntax and is used extensively in some computational biology communities.

I strongly recommend that you obtain a student copy of MATLAB for use on your own machine.

There is access to MATLAB at the ICL labs on campus. Additionally, you can access MATLAB remotely by following the links to "terminal server" -- or follow this link to instructions for how to log in. Two tips: on mac, you might need to select "millions of colors." AND, PLEASE BE CAREFUL: on any platform, make sure you know where you are saving your files before you logout -- if they are on a remote machine, you might not be able to access them easily or at all again. You can also email or "dropbox" or "google drive" the files to yourself before logout. Or, depending on platform/setup, you might need to check a box such as "disk drives" to gain direct access to local harddrive or flash drive.

Learning Python next!

Python tutorial, courtesy of Higham and MacMillen: