CS279: Structure and Organization of Biomolecules and Cells

Course Information

Description: 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.

Coursework: 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.

Prerequisites: Elementary programming background (at the level of 106A) and introductory course in biology

Instructors: Ron Dror and Possu Huang

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 cs279-aut1920-staff@lists.stanford.edu.

Class: Tuesdays and Thursdays, 3:00 PM - 4:20 PM in Shriram 104.

Announcements: All announcements will be made on Piazza.

Materials: There is no required textbook. We will suggest a variety of optional reading material throughout the course.

Exam: 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.


Python Resources

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.

Click here for last term's (Fall 2017) website and content.