ECS 289: Theory of Molecular Computing
Winter 2016
Instructor
Dave Doty
doty@ucdavis.edu
Office: 3041 Kemper
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 14,7,8 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.
Notes
lecture notes (note that these are not
comprehensive since I often take material straight from a paper)
Homework
Project
Project ideas
Lectures
Tuesday and Thursday, 3:405:00pm, Olson 227
Algorithmic tile selfassembly

Tues, Jan 5, 2016
Introduction to abstract Tile Assembly Model (aTAM)
aTAM video introduction

Thurs, Jan 7, 2016
ISU TAS simulator
tile complexity of assembling squares
paper: The ProgramSize Complexity of SelfAssembled Squares

Tues, Jan 12, 2016
O(log n) tile types for assembling an n x n square
formal definition of the aTAM

Thurs, Jan 14, 2016
Brief introduction to Kolmogorov complexity
Ω(log n / log log n) tile types required to assemble an n x n square

Tues, Jan 19, 2016
O(log n / log log n) tile types suffice to assemble an n x n square
paper: Running Time and Program Size for Selfassembled Squares

Thurs, Jan 21, 2016
assembling scaledup version of any finite shape from optimal number of tile types
paper: Complexity of SelfAssembled Shapes

Tues, Jan 26, 2016
simulation of Turing machine with a tile assembly system

Thurs, Jan 28, 2016

Tues, Feb 2, 2016
Chemical reaction networks

Thurs, Feb 4, 2016
Introduction to chemical reaction networks (CRNs).
Examples of stable function computation.

Tues, Feb 9, 2016
Formal definition of stable function computation.
Examples of stable predicate computation.
paper (functions):
Deterministic Function Computation with Chemical Reaction Networks
paper (predicates):
Computation in Networks of Passively Mobile FiniteState Sensors

Thurs, Feb 11, 2016
Formal definition of stable predicate computation.
Definition of semilinear sets and functions, claim that only they can be stably computed.
paper:
Stably Computable Predicates are Semilinear

Tues, Feb 16, 2016
Formal definition discrete chemical kinetic model (Gillespie model).
paper:
Exact stochastic simulation of coupled chemical reactions

Thurs, Feb 18, 2016
Derivation of expected completion times for some simple CRNs.

Tues, Feb 23, 2016
Register machines.
Simulation of register machines by CRNs with a large probability of error.

Thurs, Feb 25, 2016
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
DNA strand displacement

Tues, Mar 1, 2016
Introduction to DNA strand displacement.
Visual DSD
(simulation tool)
papers (first is experimental, remainder are theoretical):

Thurs, Mar 3, 2016
DNA strand displacement experiments.
experimental papers:
Experimental algorithmic selfassembly with DNA tiles

Tues, Mar 1, 2016
Introduction to DNA origami.
Introduction to singlestranded tiles, copying, proofreading.

Thurs, Mar 3, 2016
Plan for next experiment. Layered circuit model. Universal tiles to implement any 6row circuit.