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:305:50
Instructor 

Professor Eric SheaBrown 
Guggenheim 415F 
Office hours: M 10:3011: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
 EulerLotkerra formula and rootfinding 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: Stagestructured_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.13.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 89
 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_probaandneurosciv3.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.15.4, 5.7, 6.16.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
 ShenOrr et al, network motifs
Stochastic differential equations and biological memory models 

(5) Agentbased models (0.5 weeks)  Reading: EG Chapter 8.18.5

 NOTES on agentbased 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.
23 Work through lab manual part 2
Start group LAB PROJECT  population dynamics
(1) Please make sure you've kept up with reading  Ch. 12 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 TIPsheet
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!
910 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 inclass 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 SheaBrown 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 EdelsteinKeshet
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 / MINItutorials:
(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