ECS 289A: Theory of Molecular Computation
Winter 2018
Instructor
Dave Doty
doty@ucdavis.edu
Office: 2069 Academic Surge
Office hours: Tues 2:103:00pm
Course objective
To study the fundamental abilities and limits to the engineering of automated (i.e., computational) molecular systems, in a mathematically rigorous way.
Prerequisites
ECS 120 or equivalent (familiarity with Chapters 1,3,4,7 of Introduction to the Theory of Computation by Sipser).
Prior experience with probability theory is useful; in particular, Chapters 12 of Probability in Computing: Randomized Algorithms and Probabilistic Analysis, by Mitzenmacher and Upfal.
Piazza
The Piazza page
for the course can be used to ask questions about the course and
homework.
Use access code "ecs289a" to enroll.
Please read this warning about Piazza as well.
Notes
lecture notes (note that these are not
comprehensive since I often take material straight from a paper)
Homework
There is a Canvas page with the homework posted.
Project
Project ideas
Lectures
Tuesday and Thursday, 12:101:30pm, Olson 144
Algorithmic tile selfassembly

Tues, Jan 9, 2018
Introduction to abstract Tile Assembly Model (aTAM)
aTAM video introduction
ISU TAS simulator
pyTAS (newer version, easier to install, fewer features, likely to have more bugs)

Thurs, Jan 11, 2018
tile complexity of assembling squares
O(log n) tile types for assembling an n x n square
paper: The ProgramSize Complexity of SelfAssembled Squares

Tues, Jan 16, 2018
formal definition of the aTAM

Thurs, Jan 18, 2018
Brief introduction to Kolmogorov complexity
Ω(log n / log log n) tile types necessary to assemble an n x n square
O(log n / log log n) tile types sufficient to assemble an n x n square
paper: Running Time and Program Size for Selfassembled Squares

Tues, Jan 23, 2018
simulation of Turing machine with a tile assembly system
assembling scaledup version of any finite shape from optimal number of tile types
paper: Complexity of SelfAssembled Shapes

Thurs, Jan 25, 2018
Chemical reaction networks

Tues, Jan 30, 2018
Introduction to chemical reaction networks (CRNs).
Examples of stable function computation.
paper (functions):
Deterministic Function Computation with Chemical Reaction Networks

Thurs, Feb 1, 2018
Formal definition of stable function computation.
Examples of stable predicate computation.
Formal definition of stable predicate computation.
paper (predicates):
Computation in Networks of Passively Mobile FiniteState Sensors

Tues, Feb 6, 2018
Definition of semilinear sets and functions, claim that only they can be stably computed.
Formal definition discrete chemical kinetic model (Gillespie model).
Derivation of expected completion times for some simple CRNs.
paper:
Exact stochastic simulation of coupled chemical reactions

Thurs, Feb 8, 2018
time complexity analysis of computing functions/predicates with CRNs
Register machines.
Simulation of register machines by CRNs with a large probability of error.

Tues, Feb 13, 2018
Turinguniversality: simulation of register machines by CRNs with a small probability of error.
paper:
Computation with Finite Stochastic Chemical Reaction Networks
paper:
Fast Computation by Population Protocols With a Leader

Thurs, Feb 15, 2018
Every semilinear set can be stably decided by a CRN.
paper:
Computation in Networks of Passively Mobile FiniteState Sensors

Tues, Feb 20, 2018
Only semilinear sets can be stably decided by a CRN.
paper:
Stably Computable Predicates are Semilinear
DNA strand displacement

Thurs, Feb 22, 2018
Introduction to DNA strand displacement.
Visual DSD
(simulation tool)
papers:
Thermodynamic binding networks

Tues, Feb 27, 2018
Thermodynamic binding networks
Boolean circuits
paper:
Thermodynamic binding networks
slides

Thurs, Mar 1, 2018
Thermodynamic binding networks
Exponential size bound on stable polymers
aTAM counter that is thermodynamically stable
Experimental selfassembly

Tues, Mar 6, 2018
Introduction to DNA origami.
Design of geometric molecular bonds
papers:
Programmable molecular recognition based on the geometry of DNA nanostructures
Dynamic DNA devices and assemblies formed by shapecomplementary, nonbase pairing 3D components
Design of geometric molecular bonds

Thurs, Mar 8, 2018
Algorithmic selfassembly with singlestranded tiles.
Project presentations

Tues, Mar 13, 2018
Project presentations

Thurs, Mar 15, 2018
Project presentations