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),
Introductory Course in Biology
Instructor: Ron Dror
- Office Hours:
Tuesday 4:20-6 (beginning in Shriram 104 (classroom), then moving to Gates 204
Please use the staff email list for private issues that are not specific to a particular TA, and not relevant to the rest of the class (use Piazza for such questions): firstname.lastname@example.org
TA Office Hours are noted in the Google Calendar below.
TA: Rishi Bedi
TA: Joe Paggi
TA: Daniel Fernandes
TA: Adrian Sanborn
TA: Osama El-Gabalawy
Please use Piazza for questions related to lectures and assignments. If you have issues that cannot be resolved on Piazza, please contact us at email@example.com.
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 Tuesday, December 12, 2017 from 3:30 PM - 6:30 PM (location TBD). 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/26/17) [slides]
- Protein Structure (and Biomolecular Structure, more generally) (9/28/17 & 10/3/17) [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/3/17 & 10/5/17) [slides]
- Michael Levitt's Molecular Architecture II Lecture from former course SB228
- Molecular Dynamics Simulation (10/5/17 & 10/10/17) [slides]
- Protein Structure Prediction (10/10/17 & 10/12/17) [slides]
- [optional] Python Tutorial (10/17/17)
- Genome Structure (10/19/17)
- Protein Design (10/24/17)
- Fourier Transforms and Convolution (10/26/17 and 10/31/17)
- Image Analysis (10/31/17 & 11/2/17)
- Diffusion and Cellular-Level Simulation (11/2/17 and 11/7/17)
- Microscopy (11/7/17)
- Project Ideas (11/9/17)
- Ligand Docking (11/9/17 & 11/14/17)
- 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.
Note: This article covers molecular-dynamics-based methods for computing a ligand's binding affinity. These methods are distinct from standard docking methods.
- X-Ray Crystallography (11/14/17 and 11/16/17)
- Single-Particle Electron Microscopy (11/16/17 and 11/28/17)
- Recent Topics [e.g., emerging applications of machine learning to structure] (11/30/17)
- Review (12/5/17 & 12/7/17)
- Assignment 1 – Protein Structure and Visualization
Download Ramachandran Plot Generator for Question 6
Out: No later than October 3, 2017
Due: Thursday, October 12, 2017 at 3:00 PM
- Assignment 2 – Atomic-Level Molecular Modeling
Out: October 12, 2017
Due: Tuesday, October 31, 2017 at 3:00 PM
- Assignment 3 – Cellular Structure and Dynamics
Out: October 31, 2017
Due: Tuesday, November 14, 2017 at 3:00 PM
- Final Project
Out: November 9, 2017
Due: Friday, December 8, 2017 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 tutorial is a brief introduction to Python syntax.
- 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 year's (Fall 2016) website and content.