CS279: Structure and Organization of Biomolecules and Cells
This course will focus on computational techniques used to study the structure and dynamics of
biomolecules, cells, and everything in between. For example, what is the structure of proteins, DNA,
and RNA, and how do their motions contribute to their function? How are molecules distributed and
compartmentalized within a cell, and how do they move around? How might one modify the behavior
of these systems using drugs or other therapeutics? How can structural information contribute to the
design of drugs, proteins, or perhaps even cells?
Computation can contribute to addressing such questions in at least two distinct ways. First, one can
use computational analysis to extract information from experimental measurements, and to interpret
and combine the results of such experiments. Second, one can use physical principles to predict
structure or simulate motion.
The first part of the course will cover atomic-level molecular modeling methods for proteins and
other biomolecules, including structure determination and prediction, molecular dynamics simulation,
docking, and protein design. The second part will cover techniques for determining structures or
structural properties of macromolecular complexes – for example, through cryoelectron microscopy.
The third part will cover the cellular level of spatial organization, including computational analysis of
optical microscopy images and video, and simulations at the cellular scale. The course will cover both
foundational material and cutting-edge research in each of these areas.
Students will be expected to complete three assignments, each
of which will involve a combination of theoretical questions and computer work. Students will also
be expected to complete a project. The project will involve about as much work as an
assignment, but it will be more open-ended and will allow students to delve into a topic of their
choosing in more depth.
Elementary programming background (at the level of 106A) and
introductory course in biology
Instructors: Ron Dror and Possu Huang
- Professor Dror's Office Hours:
Tuesday 4:20-5:10 PM / Gates 204. On days when Professor Dror is giving lecture, OH will start in Shriram 104 and move to Gates 204
- Professor Huang's Office Hours: Friday 3:00-3:50 PM / Shriram 040
TA Office Hours are noted in the Google Calendar below.
TA: Adrian Sanborn
TA: Daniel Tang
TA: Laura Miron
TA: Meera Srinivasan
TA: Yianni Laloudakis
Please use Piazza for questions related to lectures and assignments.
If you have issues that cannot be resolved on Piazza, or are private issues not relevant to the rest of the class, please contact us at firstname.lastname@example.org.
Class: Tuesdays and Thursdays, 3:00 PM - 4:20 PM in Shriram 104.
Announcements: All announcements will be made on Piazza.
There is no required textbook. We will suggest a variety of optional
reading material throughout the course.
There will be a final exam held on Thursday, December 12, 2019 from 12:15 PM - 3:15 PM in STLC 111. It will include free-response questions.
The schedule for upcoming lectures is approximate. In particular, we’re likely to get a bit behind this schedule; there’s some slack built in toward the end of the course.
- Introduction (9/24/19) [slides] [annotated slides]
- Biomolecular Structure, Including Protein Structure (9/26/19) [slides] [annotated slides]
- Michael Levitt's Introductory Lecture from former course SB228
- Michael Levitt's Molecular Architecture I Lecture from former course SB228
- Energy Functions & Their Relationship to Molecular Conformation (10/1/19)
[slides] [annotated slides]
- Michael Levitt's Molecular Architecture II Lecture from former course SB228
- [optional] Python Tutorial (Wednesday 10/2/19, 3-4 PM in Room 200-205) [slides]
- Molecular Dynamics Simulation (10/3/19) [slides] [annotated slides]
- Protein Structure Prediction (10/8/19 and 10/1019) [slides][annotated slides][Rosetta protein folding video]
- [optional] PyMOL Tutorial (Thursday 10/10/19, 1:40-2:40 PM in Room 420-041) [slides]
- Protein Design (10/15/19)[slides][annotated slides]
- Ligand Docking (10/17/19)[slides]
- Glide: A New Approach for Rapid, Accurate Docking and Scoring
- Prediction of Protein — Ligand Interactions. Docking and Scoring: Successes and Gaps
- Alchemical free energy methods for drug discovery: progress and challenges.
- Predicting ligand binding potency using free energy calculations
Note: The last two articles cover molecular-dynamics-based methods for computing a ligand's binding affinity. These methods are distinct from standard docking methods.
- Fourier Transforms and Convolution (10/22/19)
- Image Analysis (10/24/19)
- Microscopy (10/29/19)
- Diffusion and Cellular-Level Simulation (10/31/19)
- Project Ideas (11/5/19)
- X-Ray Crystallography (11/7/19)
- Single-Particle Electron Microscopy (11/12/19)
- Genome Structure (11/14/19)
- Review (11/19/19 and 11/21/19)
- TBD/Guest Lectures (12/3/19 and 12/5/19)
- Assignment 1 – Protein Structure and Visualization [assign1.zip]
Out: October 3, 2019
Due: Tuesday, October 15, 2019 at 3:00 PM
- Assignment 2 – Atomic-Level Molecular Modeling [assign2.zip] [assignment 2 setup]
Out: October 15, 2019
Due: Thursday, October 31, 2019 at 3:00 PM
- Assignment 3 – Cellular Structure and Dynamics
Out: October 31, 2019
Due: Thursday, November 14, 2019 at 3:00 PM
- Final Project
Sample Projects from Previous Years
Out: November 5, 2019
Due: Friday, December 6, 2019 at 11:59 PM
In this class, the programming assignments will be in Python. If you have prior experience with Python, great! If you don't, no worries! All we expect is familiarity with basic programming. That said, if you've never worked with Python before, it may be helpful to look at some of the following resources to help you get up to speed.
- This class's introduction to Python tutorials (, ) are brief introductions to Python programming.
- Codecademy is a site that does a good job of introducing the basics of Python, organized by topic. If you're just getting started with Python or if you want to brush up on specific issues, this may be helpful.
- BMI 214 is another class on computational biology. They have put together a python tutorial for their class, which gives a great overview of Python's functionality.
- Check out CME 193: Introduction to Scientific Python! It's a 1-unit course that runs for four weeks, beginning in the second week of the quarter. It is recommended for students who want to use Python in math, science, or engineering courses and for students who want to learn the basics of Python programming.
Click here for last term's (Fall 2017) website and content.