A Caltech Library Service

Formal Design and Analysis for DNA Implementations of Chemical Reaction Networks


Johnson, Robert Francis (2020) Formal Design and Analysis for DNA Implementations of Chemical Reaction Networks. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/a74v-kv80.


In molecular programming, the Chemical Reaction Network model is often used to describe systems of interacting molecules. This model can describe either real systems, allowing us to analyze and determine their computational function; or describe hypothetical systems, with known computational function but perhaps no known physical example. One significant breakthrough in the field is that any Chemical Reaction Network can be approximated by a system using DNA Strand Displacement mechanisms. This allows the Chemical Reaction Network model to be treated like a programming language, where programs can be written in the abstract and then compiled into physical molecules. Given a programming language and a proof-of-concept compiler, one would want to take the compiler from the proof-of-concept stage into a more reliable, more systematic, and better understood process. This thesis is made up of my contributions to that effort.

First, given a programming language and a compiler, it would be useful to formally verify that the compiler is correct. My collaborators, Qing Dong and Erik Winfree, and I defined a Chemical Reaction Network-specific form of bisimulation equivalence, which can compare two such networks and verify that one is (or is not) a correct implementation of the other. For example, the compiler-produced DNA circuit can be verified as an implementation of its abstract program, although this is not the only possible use. After defining this concept of equivalence, we show that it can be checked by algorithm; although various parts of the problem are NP-complete or PSPACE-complete, we give algorithms that meet these lower bounds. We also prove a number of interesting properties of Chemical Reaction Network bisimulation equivalence, including transitivity and modularity properties which are particularly useful for stepwise checking of large systems. We further extend this bisimulation method to linear Polymer Reaction Networks, a strictly more powerful abstraction which has been occasionally used in molecular programming. Again we prove complexity hardness results, which in this case are as expected uncomputable in the general case; however, many practical systems can still be verified, and we give one such example. Finally, we use bisimulation to identify a class of single-locus networks that are practical to implement. Thus we show a method of verification which can simplify use of the above-mentioned compiler by proving general statements of correctness about its results.

Second, given a programming language and a concept of compiling it, it would be useful to optimize the result of the compilation. One particular area of optimization is the number of DNA strands per prepared complex; some experiments suggest that systems with no more than 2 strands per complex are more robust. Lulu Qian and I developed some proposed DNA Strand Displacement schemes for general Chemical Reaction Network implementations with no more than 2 strands per complex, and a number of other desirable properties. Meanwhile, having been shown to be useful for many reasons, the mechanisms of DNA Strand Displacement have recently been formalized, abstracted, and analyzed. I show that this formalization, combined with the bisimulation methods above, can prove various statements about the limits of DNA Strand Displacement systems. For example, a set of desirable conditions including the 2-strand limit cannot be achieved by any general Chemical Reaction Network implementation scheme. I also observe that two of the new schemes we discovered, each meeting all but one condition of the impossible set, were found in the process of coming up with this proof. I thus argue that through formalization of DNA Strand Displacement we can have a more systematic method of finding and designing molecular programs, and of knowing when the programs we want do not exist.

Item Type:Thesis (Dissertation (Ph.D.))
Subject Keywords:Molecular programming; DNA; Verification; Chemical Reaction Networks; DNA strand displacement
Degree Grantor:California Institute of Technology
Division:Biology and Biological Engineering
Major Option:Bioengineering
Thesis Availability:Public (worldwide access)
Research Advisor(s):
  • Winfree, Erik (co-advisor)
  • Qian, Lulu (co-advisor)
Thesis Committee:
  • Murray, Richard M. (chair)
  • Pierce, Niles A.
  • Bruck, Jehoshua
  • Winfree, Erik
  • Qian, Lulu
Defense Date:21 January 2020
Record Number:CaltechTHESIS:04292020-052418975
Persistent URL:
Related URLs:
URLURL TypeDescription adapted for Chapter 2 on Chemical Reaction Network bisimulation. adapted for Chapter 5 on impossibility in DNA strand displacement.
Johnson, Robert Francis0000-0002-5340-8347
Default Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:13687
Deposited By: Robert Johnson
Deposited On:11 May 2020 19:13
Last Modified:18 May 2020 16:33

Thesis Files

PDF (Complete Thesis) - Final Version
See Usage Policy.


Repository Staff Only: item control page