Computational Models in Biology
AMATH 422/522
MATLAB will be the "official" course language this year (some R materials still available as an optional bonus).
WINTER 2013
MW 4:30-5:50
Room B027; of ICL lab, Communications Building
| Instructor |
|---|
| Professor Eric Shea-Brown |
| Guggenheim 415F |
| Office hours: M 10:30-11:30 |
Important: AMATH 422/522 W13 Discussion Board (link through here + netid)
Description and Objectives
In AMATH 422/522, 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 (see more below) 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.
This course is designed for students in a wide variety of departments and with backgrounds across the sciences. We assume only that we are starting with a working knowledge of calculus , together with a desire to learn more about the underlying science, mathematics, or both.
- Reading: EG Chapter 1, Lab manual part 1.
-
- Modeling objectives: prediction and theory development
- Introduction to programming: vectors, matrices, loops, logic, plotting
- (2) Matrix models -- discrete time, linear maps (2 weeks)
- Reading: EG Chapter 2.
-
- Introduction to population biology
- Linear algebra concepts: matrix multiplication and eigenvalues in MATLAB and R
- Dominant eigenvalues and population growth in MATLAB and R
- Euler-Lotkerra formula and root-finding in MATLAB and R
- EXTRA TUTORIALS FOR THOSE WHO WANT THEM. Please go through these in this order.
- review_on_summation_convention
- linear_algebra_review_overview.pdf
- geometric introduction to linear algebra by Eero Simoncelli (SVD section optional)
- notes_computing_on_eigenvalues_and_eigenvectors in matlab
- LECTURES
- week_2_population_models.pdf
- noteset_3_population_models_part_2.pdf
- codes:
- eulot.m, eulot.R
- eulot_plot.m, eulot_plot.R
- Leslie_iterate.m, Leslie_iterate.R
- LECTURES
- noteset_4_population_models.pdf
- noteset_5_population_models.pdf
- ADDITIONAL READING: crouse.pdf
- SLIDES: Stage-structured_pop_dynamics_sea_turtle_ex.pdf
- codes:
- loggerhead_stage_class_model.m, loggerhead_stage_class_model.R
- loggerhead_stage_class_model_check_power_positivity.m, loggerhead_stage_class_model_check_power_positivity.R
- (3) Stochastic models (2.5 weeks)
- Reading: EG Chapter 3.1-3.3, EG Lab manual (section 11). Also: Anderson and Stevens (1973), below. Additional resources on stochastic ion channels: (1) Foundations of Cellular Neurophysiology, by Johnston and Wu, (2) Introduction to Theoretical Neurobiology, Volume 2, by H. Tuckwell.
- Coin flipping and binomial distribution in MATLAB and R
- Transition probabilities and Markov chains
- Equilibrium states -- dominant eigenvalues return!
- Central limit theorem and deterministic limits
- LECTURES 8-9
- introduction_to_neurons_1.pdf
- noteset_7_probability.pdf
- hist_demo.m, hist_demo.R
- noteset_8_probability.pdf
- markov_chain_simulate_twostates.m, markov_chain_simulate_twostates.R
- noteset_9_proba-and-neurosci-v3.pdf
- sum_of_exp.m, sum_of_exp.R
- channel_markov_chain2.pdf
- noteset_10_binomial_and_channel_counts_v2.pdf
- Paper: On the Quantal Hypothesis of Katz
- Data: SequenceofCurrents.dat
- Slides on stochastic ion channels and quantal synapses.ppt
- Reading: EG Chapter 4, 5.1-5.4, 5.7, 6.1-6.3. Also: section 5 of Amath301 notes by N. Kutz (see link above).
- Ordinary differential equations and vector "arrow" fields -- visualizing flows in MATLAB
- Nullclines
- Equilibria: Newton's method in MATLAB and R
- Stability and oscillations
- Numerical solution methods, MATLAB and R implementation
- Applications in gene networks, oscillators, and genetic toggle switches
- Applications in population biology and epidemiology
- Applications in neuroscience models and action potentials
- noteset_11_ODEs.pdf
- noteset_12_ODEs.pdf
- noteset_13_ODEs.pdf
- noteset_14_sytems_biology.pdf
- MATLAB CODES: repress repress_simulate
- R CODES: repress repress_simulate
- Carothers et al, Synthetic Biology, Science 2011
- Shen-Orr et al, network motifs
Stochastic differential equations and biological memory models --
-
(5) Agent-based models (0.5 weeks) - Reading: EG Chapter 8.1-8.5
-
- NOTES on agent-based models
- CODE for example in E+G Ch. 8.1: agent_based_rice_93.m , agent_based_rice_93.R
- Additional reading / example: Cannas et al: Modeling Plant Spread in Forest Ecology using Cellular Automata
- CODE for the Cannas et al paper: agent_based_spatial.m, agent_based_spatial.R
- Reading: EG Chapter 9
-
- Least squares fits, concept of maximum likelihood
- Model optimization in MATLAB and R
- Building models: model vs. parameter error
- noteset_15_data_fitting
- noteset_16_data_fitting
- CODE data fitting examples: DATA FITTING CODES IN MATLAB AND R
-
LAB SESSIONS AND HW
WEEK LAB ASSIGNMENT HW 1 DAY 1: Work through lab manual part 1
DAY 2: Start LAB PROJECT -- nonlinear cell reproduction (MATLAB)
(1) Exercises 1.2, 1.3, 1.4, 2.2, 3.1, 4.1 from lab manual -- individually, and
(2) Lab Project (Turn in criterion, code, and results from Task 3 -- working in a group of ~4).
Due in class 1/16.
2-3 Work through lab manual part 2
Start group LAB PROJECT -- population dynamics
(1) Please make sure you've kept up with reading -- Ch. 1-2 of E+G should be read. Overall, Ch. 1 in particular is a truly excellent piece on modeling in biology.
(2) Exercises 1.1, 1.2, 3.3 -- do these individually, no need to turn in but make SURE you understand them completely!
(3) Lab Project. (Turn in code, and results and analysis -- working in a group of ~4).
Due in class 1/28.
4 Work through lab manual part 3
(1) Please make sure you've kept up with reading -- Ch. 3 of E+G should be read.
(2) Exercise 2.3 of the lab manual -- do this individually, and save your results (code / analysis / plots) to turn in later.
5 Read through our MATLAB PROGRAMMING TOOLS- and TIP-sheet
Group LAB PROJECT 3 -- stochastic models
Turn in Exercise 2.3 (from previous week, individual work) AND GROUP project on stochastic models, in class Weds. 2/13
6 Individual LAB PROJECT 4 -- ODE models
Optional Tutorial on ODE solvers in MATLAB -- ODE Solver Tutorial
Codes for ODE Tutorial: ODE Solver Codes
Turn in first exercise from lab project, at start of class Weds. 2/20. NOTE this is same day the author of the paper in question will give us a guest lecture, make extra sure to be on time!
9-10 Group LAB PROJECT 5 -- Biological networks
Course structure and grading
Here's what you need to keep track of: (1) Reading, listed under syllabus. (2) Lab assignments, and HW, listed in table above, and (3) case study and project. Please check this website frequently for updates and postings.
Note on formatting lab and problem sets: these are easier to read if all the material for a given problem is presented together -- e.g. under "Problem II" you'd have code, plots, any analysis and results, then we'd go to the next problem. So, that's what we'd prefer. Thanks!
HW Policy: 50% credit if turned in late but within 2 days of deadline; not accepted otherwise. A guide to the course There are many parts to this course, but if you dig in you'll find it rewarding and enjoyable.
Your course grade will be calculated via the following weights: homework 40%, class participation 10%, case study presentation 10%, course project 40%.
YOUR PROJECT MUST FOLLOW THE GUIDELINES BELOW -- PLEASE READ THEM AND TAKE CAREFUL NOTE. THANKS!
Project
Each student group will give a brief in-class presentation of a paper that applies the modeling and computational techniques we have learned in the course (case study).These studies will be developed into course projects.
Presentations: FEB 27, 2013 in class (literature and plan), MAR 13, 2013 in class (final presentation)
Papers due to Shea-Brown Mailbox: WEDS. MAR 20, 5 PM.
CLICK HERE TO GET STARTED ON CHOOSING A TOPIC AND RESEARCH ARTICLE!
PROJECT AND PRESENTATION GUIDELINES
Textbooks, Notes, and Course Resources
The required text for this course is "Dynamic Models in Biology," by Stephen Ellner and John Guckenhiemer (called EG below). A few chapters (including CHAPTER 1) are available free online, ***here***. The text should be in the bookstore. Also, amazon link.
This reference book is also critical: Matlab: A Practical Introduction to Programming and Problem Solving, by Stormy Attaway. You can buy it here: amazon link, or it should be in the bookstore soon.
The "Lab Manual" for this course is also required reading. This manual introduces, from scratch, the basics of scientific programming and computational methods -- and how to use them to solve and analyze the models and problems in the main text. We'll use a modified version of the manual, linked below.
OTHER COURSE RESOURCES -- Mathematical models in biologyThere are several useful texts on mathematical modeling in the life sciences on course reserve in the library. Two of special note are:
A course in Mathematical Biology, by de Vries, Hillen, Lewis, Muller, Schonfisch
Mathematical Models in Biology, by Leah Edelstein-Keshet
OTHER COURSE RESOURCES -- Computational methods and MATLAB
We will teach what we need here from scratch, but further information and reference material on numerical methods and MATLAB use can be found in the lecture notes of Prof. Nathan Kutz for AMATH 301. Prof. Kutz has provided them online here: (pdf)There are a variety of MATLAB resource books available at the library.
MATLAB -- access, manuals, and further resources
In this course, we will make extensive use of Matlab ( The MathWorks, Inc) a technical computing environments for numerical computation and visualization. As an OPTIONAL bonus, some codes will also be provided in the excellent language R, which has closely related syntax and is used extensively in some computational biology communities.There is access to both MATLAB and R at the ICL labs on campus. A Matlab manual is available in the ICL Lab.
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 even email or "dropbox" or "google drive" the files to yourself before logout to be extra safe! 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.
Another option is to purchase the student version of MATLAB for your personal computer -- this is available for a very heavily discounted price.
R can be downloaded free of charge for mac, pc, and linux variety, via this link.
Many Matlab and R resources are available on the net, such as:
- Matlab Hypertext Reference, Portland State University
Syllabus and course notes, AND CODES
Additional REVIEWS / MINI-tutorials:
(1) Course overview, introduction to programming, and introduction to mathematical models in the life sciences (1 week).
(4) Continuous time models (3 weeks)
notes on stochastic differential equations and biological memory models.pdf
codes and lecture material: neural_nets_and_stoch_diff_eqns
