Verifying Chemical Reaction Network Implementations: A Bisimulation Approach

@article{Johnson2016VerifyingCR,
  title={Verifying Chemical Reaction Network Implementations: A Bisimulation Approach},
  author={Robert F. Johnson and Qing Dong and Erik Winfree},
  journal={Theor. Comput. Sci.},
  year={2016},
  volume={765},
  pages={3-46}
}
Efforts in programming DNA and other biological molecules have recently focused on general schemes to physically implement arbitrary Chemical Reaction Networks. Errors in some of the proposed schemes have driven a desire for formal verification methods. We show that by interpreting each implementation species as a set of formal species, the concept of weak bisimulation can be adapted to CRNs in a way that agrees with an intuitive notion of a correct implementation. We give examples of how to… 
Simplifying Chemical Reaction Network Implementations with Two-Stranded DNA Building Blocks
TLDR
It is shown how Chemical Reaction Network implementations can be built out of abstracted motifs, discussing existing implementations as well as presenting two new implementations based on 4-way strand exchange, one of which uses the new cooperative motif.
A General-Purpose CRN-to-DSD Compiler with Formal Verification, Optimization, and Simulation Capabilities
TLDR
A CRN-to-DSD compiler, Nuskell, that makes a first step in this direction and to support the wide range of translation schemes that have already been proposed in the literature, as well as potential new ones that are yet to be proposed.
Computational complexity of atomic chemical reaction networks
TLDR
The computational complexity of deciding whether a given network is atomic according to each of these definitions is investigated and equivalence relationships between these definitions and some cases of an existing definition of atomicity due to Gnacadja are demonstrated.
A domain-level DNA strand displacement reaction enumerator allowing arbitrary non-pseudoknotted secondary structures
TLDR
This work builds on prior practice to provide a new formalization of ‘domain-level’ representations of DNA strand displacement systems that has a natural connection to nucleic acid biophysics while still being suitable for formal analysis.
Compiler-aided systematic construction of large-scale DNA strand displacement circuits using unpurified components
TLDR
A systematic procedure for overcoming the challenges involved in using unpurified DNA strands is developed and a model that takes synthesis errors into consideration and semi-quantitatively reproduces the experimental data is developed.
Domain-specific programming languages for computational nucleic acid systems.
TLDR
There is a continuum of practical implementation strategies for computational nucleic acid systems, which can all benefit from appropriate domain-specific languages and software design tools, and the need for specialized yet flexible tools that can be realized using domain- specific languages that compile to more general-purpose representations is emphasized.
Optimizing Tile Set Size While Preserving Proofreading with a DNA Self-assembly Compiler
TLDR
This work presents a tile set optimization technique that, through analysis of algorithmic growth equivalence, potentially sensitive error pathways, and potential lattice defects, can significantly reduce the size of tile systems while preserving proofreading behavior that is essential for obtaining low error rates.
Automated sequence-level analysis of kinetics and thermodynamics for domain-level DNA strand-displacement systems
TLDR
A computational method for verifying sequence-level systems by identifying discrepancies between the domain-level and sequence- level behaviour, implemented as the Python package KinDA, will allow researchers to predict the kinetic and thermodynamic behaviour of domain- level systems after sequence assignment, as well as to detect violations of the intended behaviour.
Computing with chemical reaction networks: a tutorial
TLDR
An overview of various computational models for CRNs is given and a method to implement arbitrary (abstract) CRNs in a test tube using DNA is discussed.
...
...

References

SHOWING 1-10 OF 48 REFERENCES
Forward and Backward Bisimulations for Chemical Reaction Networks
TLDR
A unified algorithm is provided that computes the coarsest refinement up to the authors' bisimulations in polynomial time and algorithms to compute quotient CRNs induced by a bisimulation are given.
Modular verification of chemical reaction network encodings via serializability analysis
Syntactic Markovian Bisimulation for Chemical Reaction Networks
TLDR
An efficient partition-refinement algorithm which computes the largest SMB of a CRN in polynomial time in the number of species and reactions, and implies forward CRN bisimulation, a recently developed behavioral notion of equivalence for the ODE semantics, in an analogous sense: it yields a smaller ODE system that keeps track of the sums of the solutions for equivalent species.
Deterministic function computation with chemical reaction networks
TLDR
It is shown that a function f:Nk→Nl is deterministically computed by a CRN if and only if its graph x is a semilinear set, and that each semilInear function f can be computed by an CRN on input x in expected time.
EGAC: a genetic algorithm to compare chemical reaction networks
TLDR
This paper develops a genetic algorithm for a class of CRNs called influence networks, which can be used to model a variety of biological systems including cell-cycle switches and gene networks and can successfully establish relations between influence networks from the literature which cannot be found by exact algorithms due to their large computational requirements.
Rate-independent computation in continuous chemical reaction networks
TLDR
A formal definition of computation of a chemical reaction network is developed using a novel notion of reachability, and it is proved that a function is computable in this manner if and only if it is continuous piecewise linear.
Computation with finite stochastic chemical reaction networks
TLDR
This work shows a design of a chemical computer that achieves fast and reliable Turing-universal computation using molecular counts, and demonstrates that molecular counts can be a useful form of information for small molecular systems such as those operating within cellular environments.
A General-Purpose CRN-to-DSD Compiler with Formal Verification, Optimization, and Simulation Capabilities
TLDR
A CRN-to-DSD compiler, Nuskell, that makes a first step in this direction and to support the wide range of translation schemes that have already been proposed in the literature, as well as potential new ones that are yet to be proposed.
Comparing Chemical Reaction Networks: A Categorical and Algorithmic Perspective
TLDR
This work uses a categorical framework to extend and relate model-comparison approaches based on structural and dynamical properties of a CRN to prove their equivalence, and provides an algorithm to compare CRNs, running linearly in time with respect to the cardinality of all possible comparisons.
...
...