BE/CS/CNS/Bi 191ab: Biomolecular Computation
Professor: Erik Winfree
Winter term teaching assistants: Joseph Berleant, Paul Dieterle, Robert Johnson, and Nicholas Schiefer
This page is under development for Winter/Spring 2015. The previous incarnation was Winter/Spring 2014.
Description from the course catalog:
BE/CS/CNS/Bi 191 ab. Biomolecular Computation. 9 units (3-0-6) second
term; (2-4-3) third term. Prerequisite: none. Recommended: ChE/BE 163, CS
21, CS 129 ab, or equivalent. This course investigates computation by
molecular systems, emphasizing models of computation based on the
underlying physics, chemistry, and organization of biological
cells. We will explore programmability, complexity, simulation of and
reasoning about abstract models of chemical reaction networks,
molecular folding, molecular self-assembly, and molecular motors, with
an emphasis on universal architectures for computation, control, and
construction within molecular systems. If time permits, we will also
discuss biological example systems such as signal transduction,
genetic regulatory networks, and the cytoskeleton; physical limits of
computation, reversibility, reliability, and the role of noise,
DNA-based computers and DNA nanotechnology. Part a develops
fundamental results; part b is a reading and research course: classic
and current papers will be discussed, and students will do projects on
current research topics. Instructor: Winfree.
Time & Place:
BE/CS 191a: Winter 2015, Annenberg 105, Tu & Th 10:30am-11:55am
BE/CS 191b: Spring 2015, TBA
Please start your homework set early, and come to the first relevant TA session.
The homework will usually be too much to do at the last minute, and planning for this is your responsibility.
TAs (191a only): Mondays at 8pm and Tuesdays at 7pm in Annenberg 106.
TAs can also be reached by email at (preferred:) cs191_ta * dna.caltech.edu or (less likely to be answered promptly:)
firstname.lastname@example.org and pauldieterle * gmail.com and rfjohnso * caltech.edu and nschiefer * caltech.edu.
Please note that non-trivial questions should be deferred to and answered at the office hours.
Prof: Wednesdays from 2-3pm in Moore 204 (but 3-4pm Jan 28 only). This is for issues that can't be handled by the TA only. Email is answered, though often not quickly, at winfree * caltech.edu.
None. Please attend class. Everything you need to know should be presented there. The references suggested below are optional further reading, but neither sufficient nor necessary.
Syllabus for 191a:
The syllabus as presented gives you a rough idea of what will be in
the class, but it is subject to change in detail. The topics and
references should be considered final only on the day of the lecture,
and after. Prior to that, the topics and links may be revised.
Note: reference links may require a Caltech IP address.
- Introduction and overview -- 1 lecture
- Jan 6: computation in the cell and the promise of molecular programming.
- Chemical reaction networks (CRNs) -- 5 lectures (tools: GEC)
- Jan 8: continuous mass action model, kinetics, analog computation.
[example LBS file for analog computation];
[optional refs on mass action, analog computation]
- Jan 13: digital circuits using mass action, signal loss and restoration, digital abstraction, logic gates. (part 1)
[optional refs on digital circuits and an alternative design]
- Jan 15: digital circuits using mass action, signal loss and restoration, digital abstraction, logic gates. (part 2)
[example LBS file for digital computation]
- Jan 20: mass action dynamical systems for oscillators, chaos, and everything.
[optional refs on dual-rail linear and
general dynamical systems, and
- Jan 22: discrete stochastic model, kinetics and probabilities, computing with counts.
[optional refs on stochastic,
more computing, and
even more computing.]
- Biochemistry & combinatorial CRNs -- 4 lectures (tools: DACCAD)
- Jan 27: the central dogma and enzymes of molecular biology, engineering synthetic gene regulatory networks.
[optional refs on
the central dogma (classic paper), a
general CS formalism for biochemistry, a
genetic bistable switch, and a
genetic ring oscillator.]
- Jan 29: cell-free transcription-degradation circuits.
[optional refs on
the PURE system,
- Feb 3: neural network associative memories with cell-free transcription-degradation circuits.
[optional refs on
neural networks, and
transcription circuit theory.]
- Feb 5: winner-take-all computation with cell-free polymerase-exonuclease-nickase circuits.
[optional refs on
a memory circuit,
a pattern recognition design, and
the DACCAD design simulator.]
- Nucleic acid circuits -- 3 lectures (tools: DSD and NUPACK)
- Passive self-assembly -- 4 lectures (tools: xgrow and ISU TAS)
- Active self-assembly and molecular robots -- 0 lectures (tools: TBA)
- (not covered in 2015): Experimental molecular robots and the theoretical NUBOT model.
[optional refs TBA]
- (not covered in 2015): Capabilities of the NUBOT model: fast algorithmic developmental growth.
[optional refs TBA]
- Amorphous computing and synthetic biology -- 2 lectures (tools: gro)
The expectation is that homework will be handed out in class every other Thursday, and due by
email as a single PDF file before 11:59pm on Wednesday 13 days
thereafter. I expect to assign six homework sets.
Grading Policy for 191a:
There will be roughly one problem per class lecture, with homework sets due roughly every other week.
There is no midterm or final.
Homeworks: Homeworks will be graded on a 0-10 scale for each problem.
Late policy: Late homework up to 24 hours late will be
penalized by 10%, i.e. the score will be multiplied by 0.9 after
grading. For two-day late HW (i.e up to 48 hours), the penalty will
be 20%. The penalty increases by 10% per day, until a 9 day late
homework's score is multiplied by 0.1, and a 10 day late homework gets
The homework sets are hard, but ample time is given. Start as soon as they are handed out.
Grade composition: Your class grade will be based on homeworks only.
Collaboration policy: For all problem sets, you may discuss
problems with other students prior to writing anything down, but what
you turn in must be entirely written by you, by yourself, including
any program code. That is to say, the "50 foot rule" applies here explicitly for both program code and
mathematical derivations, and in spirit applies to other aspects of your
For more detail and discussion, see
the nice write-up for CS11 or this more recent
- Python, Matlab, or Mathematica programming
- Digital AND OR NOT circuits
- Finite State Machines and Regular Languages
- Turing machines & Register machines
- Cellular automata
- Chemical reaction networks; mass-action and stochastic kinetics and thermodynamics
- Basic molecular biology, central dogma enzymes, cytoskeleton
- DNA secondary structure, folding kinetics and thermodynamics,
hybridization & dissociation rates, toeholds, 3-way & 4-way
Description for 191b:
In the spring term, we will begin by reading and discussing classic
and contemporary research papers on biomolecular computation.
Simultaneously, you will formulate and explore a mini-project (theory
or simulation) of your own choosing. Each week you will hand in a
written critique of the reading and a summary of your research
progress (1 page each). At the end of the class, you will hand in a
5-10 page report on your research project.
Selected reading list for BE/CS 191b, and schedule of presentations:
Optional reading list for BE/CS 191b: