This course is designed to teach computational aspects of using modeling and simulation methods to understand biological systems, with an emphasis on practical application. The course will be divided into three general topics: models for optimization problems, simulation and sampling, and model parameter tuning. Specific model types to be covered will include graph models in evolution, string models for biological sequence data, Markov chain Monte Carlo models, hidden Markov models, and discrete-event models, as well as examples of special-purpose models important to specific sub-disciplines of biology. Algorithmic techniques to be studied will include common algorithms for graph optimization problems, mathematical programming methods, event queue data structures, key machine learning methods, commonly used heuristic methods, and methods for generating random numbers and accurately sampling from probability distributions required by or implicit in mathematical models. All of the above will be illustrated with examples from molecular, cellular, or evolutionary biology.
The overall goal of the course is to familiarize students with the computational tools available to them for designing and analyzing models of biological systems. By the end of the course, students should be familiar with a broad range of computational techniques useful in biological modeling and simulation, know how to develop models that take advantage of the available methods, and be able to analyze the expected performance of the models they use. While this course will cover too many topics to teach the theory behind each in depth, students will be sufficiently familiar with the methods covered to be able to apply them and to know where to look for further information.
This course is intended to be part of the core curriculum for graduate students interested in computational biology and a recommended elective for advanced undergraduates intending to pursue careers in computational biology. It will generally be taken by these students following 03-710 but can be taken before or after 03-711. The primary contribution of this course for Biological Sciences students will be to collect in one class many techniques used in biological simulation that would otherwise require taking more computer science and mathematics classes than can feasibly fit in their schedule. It is also meant to be an advanced elective for students in computer science, mathematics, or statistics who are interested in biological applications and would like to learn about the computational tools required for biological simulation work.
Computational Methods for Biological Modeling and Simulation complements Shlomo Ta'asan's modeling and simulation class, 21-366B (Topics in Applied Analysis: Modeling and Simulation of Biological Systems). Whereas 21-366B focuses primarily on mathematical analysis tools, 03-512/712 will focus primarily on tools from theoretical computer science. Biological Sciences students interested in modeling and simulation as part of their primary research activity are encouraged to take both courses.
There is no text for the class. A packet of lecture notes has been created for the class for use in place of a text. Students will also be provided with a list of optional reference readings, which are useful for those interested in greater depth on particular topics.