Few systems work the first time they are built, and a nanoscale molecular machine is no different. Given that the kinetics of DNA interactions are well studied, we proposed that it should be possible to simulate our counter system computationally. A number of important questions can be answered about our system using simulation. For example, we could ask what the optimal concentrations of threshold strands and gate strands are to ensure that our machine functions.
There exist software tools for simulating nucleic acid systems. Notably, Nupack and Visual DSD are both good options for many system applications. However, neither was able to completely simulate our system adequately. Hence, we developed TripleSim.
TripleSim is a
TripleSim attempts to give as complete a representation of the possible reactions the components of a DNA system can undergo, given initial concentrations. This is complicated by the fact that a system can produce an exponential number of possible products, sometimes even an infinite number. However, we can assume safely that in a useful DNA system, only a small number of these products are produced in noticeable concentrations. Hence, TripleSim is based on the concept of Dynamic Compilation: Only include a possible system reaction if its reactants are sufficiently important. TripleSim can enumerate all possible association, disassociation, and branch migration a DNA molecule can undergo. TripleSim can enumerate the reaction graph of a DNA system by enumerating these reactions involving each DNA molecule in the system, starting with the initial reactants, and then enumerating the reactions involving all the products of those initial reactions. TripleSim only enumerates the reactions involving species which occur above some specified threshold concentration over a specified machine running time in simulations of the incomplete system. This information comes at the cost of efficiency; simulating a large system of chemical reactions can be slow.
TripleSim converts an incomplete model of the interactions in a system of DNA molecules to a system of ordinary differential equations. These ODEs are integrated using the backwards Euler method. While this system is usually stiff, the backwards Euler method appears to lead to handle this system efficiently even at a strict error tolerance.
Like Visual DSD, TripleSim uses dynamic compilation to discover the "most important" reaction pathways through a system (diagram, below). Even though DNA has been shown to undergo only three main reaction types (figure below diagram), there are still an exponential number of reaction pathways that nucleic acid reagents can follow. Many of these "possible" reaction pathways are highly kinetically disfavored- a computer program which removes highly disfavored reaction pathways would be useful from an analysis perspective. Hence, TripleSim attempts to produce a reaction network representative of the behavior of a nucleic acid system, with off-the-main-road side products shown (graph, second to bottom). The most favored reaction pathway from the input signal to the output in our counter system is a subgraph of the reaction network produced by TripleSim (graph, bottom).
(Node numberings correspond to distinct reaction species, not shown).