|Instructor:||Prof. Samuel A. Isaacson|
|Time and Location:||T/TH 11-12:15PM, CAS 324|
|Office Hours:||T/TH 3:30-4:30pm in my office.|
Course Webpage (all homeworks / code will be posted here):
Required Textbook: R. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems, SIAM, 2007. (For numerical methods and analysis.)
- Note, this book is available to download for free through the BU library: here.
Description and Goals:
This course introduces students to the use of numerical methods for studying mathematical models of biological systems. An emphasis will be placed on the development of these methods; understanding their accuracy, performance, and stability; and their application to the study of biological systems. Students will learn to program in Python, develop mathematical models of biological systems, and understand the issues that arise in the numerical approximation of these models. Methods studied will include those for solving ordinary differential equations, partial differential equations, and simulating continuous-time stochastic processes. These methods will be applied to investigate mathematical models of virus dynamics, gene expression, search processes for DNA binding sites, molecular transport, and action potential propagation.
MA 226 or 231 or the equivalent. Elementary knowledge of linear algebra.
Prior programming experience helpful, but not required.
Requirements and Grading:
40% - Homework assignments involving both analytical calculations, implementation of numerical algorithms in Python, and their application to studying mathematical models of biological systems.
20% - Computer lab participation (you may work with one partner).
20% - Midterm exam. In class portion will be 10/26 during lecture.
20% - Final exam. In class portion will be during the assigned exam slot from the registrar, currently 12/19 from 12:30- 2:30pm.
You are expected to be able to attend class, and as such, makeup exams will not be given for scheduling conflicts. Similarly, it is your responsibility to make sure you both know the official registrar’s final exam date and can attend the exam. (For example, booking a plane flight before the exam date is not an excusable reason to be unable to take the exam.) If you feel you have an extraordinary reason you will not be able to attend an exam, the instructor must be notified now (otherwise no consideration will be given to providing a makeup exam). If you miss an exam, a makeup will be a possibility only if you have missed the exam for medical reasons and notify the instructor within 24 hours of the reason. Makeup exams will generally be oral exams with you answering questions on the blackboard.
Homework assignments will require a mix of analytical calculations,
coding, and numerical simulations. Assignments must be turned in as
printed typeset reports, with all problems
answered in order and any requested figures provided inline within the
write-up of the associated problem (or sub-problem). Handwritten
assignments will not be accepted. Write your assignments in Latex, or
in iPython notebooks with embedded Latex equations.
Assignments where problems or figures are provided out of order will not be graded. Provide a clear delineation between the different parts of each problem, and indication of your answer within each part. Figures must also be fully labeled, with a clear indication of what each curve corresponds to and what parameter values were used in that figure. It is fine to write this information on a printed figure by hand. If you print a figure with color curves in black and white you must label the curves by hand. Any code that is submitted must be provided at the very end of the assignment, following all solutions, with a clear label of what problem it is for. Do not include code within the problems. Any assignments that do not follow these guidelines with be returned with a grade of zero.
Use of Python:
Python will be used for many of the course assignments. I recommend Anaconda Python, which you can download it for free at: https://store.continuum.io/cshop/anaconda/. (Please use version 3.6 as your default install.)
Python documentation at: https://www.python.org/doc/
NumPy / SciPy tutorials and documentation: http://www.scipy.org/getting-started.html
Google’s Online Python Tutorial: https://developers.google.com/edu/python/
The iPython-based notebook tutorials at: https://github.com/jakevdp/2014_fall_ASTR599
See course webpage.
Tentative Course Outline:
Formulation of SIR Infectious Disease Models
Analytical Solution Methods
Finite Difference Approximations Leading to Euler's Method
Analytical Solutions to Euler's Method and Convergence
Introductory Python Labs
Implementation of Euler's Method
Application to HIV-1 Dynamics
Ordinary Differential Equation Models of Gene Expression and Regulation
Need For Higher Order Accuracy in Models for Gene Expression and Regulation
Runge-Kutta Methods and Their Implementation in MATLAB
Order of Accuracy of Runge-Kutta Methods
Bistability and Oscillations in Feedback Regulation Using Runge-Kutta Methods
Stochasticity in Gene Expression
Continuous Time Jump Process Models
Analytical Solution Techniques in Simple Cases
Numerical Studies of Gene Expression Models,
Bimodality vs. Bistability and Population Heterogeneity
Jump Process Approximation Methods for Diffusion and Drift-Diffusion Processes
Diffusion in 1D and as a Model of Movement on DNA
Exit Time Problems, Time to Find Binding Sites by 1D Diffusion
Euler's Method for Solving the Diffusion Equation, Explicit Solution
Accuracy and Stability for Euler's Method
Need for Implicit Methods, Crank Nicholson
Accuracy and Stability of Crank Nicholson
Application of Crank-Nicholson to 1D Diffusion
Molecular Motor Based Transport, Fokker-Planck Equations
Exit Time Problems, Time to Travel Across Microtubules
Discretization Methods for Fokker-Planck Equations, Preservation of Equilibrium
Hodgkin-Huxley Cable Equation Models; Derivation, Physical Significance
Discretization Methods for Hodgkin-Huxley Equations
Hodgkin-Huxley Equation Solution Behavior for Physical Examples