DNA Computing and Molecular Programming

Synthetic biology is a rapidly emerging research area, with expected wide-ranging impact in biology, nanofabrication, and medicine. A key technical challenge lies in embedding computation in molecular contexts where electronic micro-controllers cannot be inserted. This necessitates effective representation of computation using molecular components. While previous work established the Turing-completeness of chemical reactions, defining representations that are faithful, efficient, and practical remains challenging. This paper introduces CRN++, a new language for programming deterministic (mass-action) chemical kinetics to perform computation. We present its syntax and semantics, and build a compiler translating CRN++ programs into chemical reactions, thereby laying the foundation of a comprehensive framework for molecular programming. Our language addresses the key challenge of embedding familiar imperative constructs into a set of chemical reactions happening simultaneously and manipulating real-valued concentrations. Although some deviation from ideal output value cannot be avoided, we develop methods to minimize the error, and implement error analysis tools. We demonstrate the feasibility of using CRN++ on a suite of well-known algorithms for discrete and real-valued computation. CRN++ can be easily extended to support new commands or chemical reaction implementations, and thus provides a foundation for developing more robust and practical molecular programs.

[1]  Ezra Miller Theory and applications of lattice point methods for binomial ideals , 2010, ArXiv.

[2]  Ho-Lin Chen,et al.  Parallelism and Time in Hierarchical Self-Assembly , 2011, SIAM J. Comput..

[3]  Natasa Jonoska,et al.  Active Tile Self-assembly, Part 1: Universality at temperature 1 , 2014, Int. J. Found. Comput. Sci..

[4]  Ming-Yang Kao,et al.  Complexities for generalized models of self-assembly , 2004, SODA '04.

[5]  Lulu Qian,et al.  Supporting Online Material Materials and Methods Figs. S1 to S6 Tables S1 to S4 References and Notes Scaling up Digital Circuit Computation with Dna Strand Displacement Cascades , 2022 .

[6]  Jacob Hendricks,et al.  Self-Assembly of 4-Sided Fractals in the Two-Handed Tile Assembly Model , 2017, UCNC.

[7]  E. Robinson Cybernetics, or Control and Communication in the Animal and the Machine , 1963 .

[8]  K Oishi,et al.  Biomolecular implementation of linear I/O systems. , 2011, IET systems biology.

[9]  Georg Seelig,et al.  Molecular circuits for dynamic noise filtering , 2016, Proceedings of the National Academy of Sciences.

[10]  David J. C. MacKay,et al.  Information Theory, Inference, and Learning Algorithms , 2004, IEEE Transactions on Information Theory.

[11]  Jonathan Bath,et al.  A DNA-based molecular motor that can navigate a network of tracks. , 2012, Nature nanotechnology.

[12]  Brad Shutters,et al.  Self-Assembling Rulers for Approximating Generalized Sierpinski Carpets , 2012, Algorithmica.

[13]  Jack H. Lutz,et al.  Strict Self-assembly of Discrete Sierpinski Triangles , 2007, CiE.

[14]  L. Pachter,et al.  Algebraic Statistics for Computational Biology: Preface , 2005 .

[15]  Erik D. Demaine,et al.  Two Hands Are Better Than One (up to constant factors): Self-Assembly In The 2HAM vs. aTAM , 2013, STACS.

[16]  Michael I. Jordan,et al.  Graphical Models, Exponential Families, and Variational Inference , 2008, Found. Trends Mach. Learn..

[17]  G. McLachlan,et al.  The EM algorithm and extensions , 1996 .

[18]  Jehoshua Bruck,et al.  Neural network computation with DNA strand displacement cascades , 2011, Nature.

[19]  Manoj Gopalkrishnan,et al.  A Stochastic Molecular Scheme for an Artificial Cell to Infer Its Environment from Partial Observations , 2017, DNA.

[20]  James I. Lathrop,et al.  Self-assembly of the Discrete Sierpinski Carpet and Related Fractals , 2009, DNA.

[21]  Matthew J. Patitz,et al.  Self-assembly of Discrete Self-similar Fractals , 2008, DNA.

[22]  David Furcy,et al.  Scaled Tree Fractals Do not Strictly Self-assemble , 2014, UCNC.

[23]  E. Jaynes Information Theory and Statistical Mechanics , 1957 .

[24]  Eiichi Yoshida,et al.  Self-assembly and self-repair method for a distributed mechanical system , 1999, IEEE Trans. Robotics Autom..

[25]  M. Tribus,et al.  Energy and information , 1971 .

[26]  Robert T. Schweller,et al.  Strict Self-Assembly of Fractals Using Multiple Hands , 2015, Algorithmica.

[27]  R. Sarpeshkar Analog synthetic biology , 2014, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[28]  Jacob Hendricks,et al.  Hierarchical Self-Assembly of Fractals with Signal-Passing Tiles - (Extended Abstract) , 2016, DNA.

[29]  D. Sherrington Stochastic Processes in Physics and Chemistry , 1983 .

[30]  Nick S. Jones,et al.  Chemical Boltzmann Machines , 2017, DNA.

[31]  A. Zellner Optimal Information Processing and Bayes's Theorem , 1988 .

[32]  Shun-ichi Amari,et al.  Stochastic Reasoning, Free Energy, and Information Geometry , 2004, Neural Computation.

[33]  Itamar Willner,et al.  A dynamically programmed DNA transporter. , 2012, Angewandte Chemie.

[34]  Matthew Cook,et al.  Computation with finite stochastic chemical reaction networks , 2008, Natural Computing.

[35]  E. Winfree,et al.  Algorithmic Self-Assembly of DNA Sierpinski Triangles , 2004, PLoS biology.

[36]  Chris Luhrs,et al.  Polyomino-safe DNA self-assembly via block replacement , 2009, Natural Computing.

[37]  Ryan P. Adams,et al.  Message Passing Inference with Chemical Reaction Networks , 2013, NIPS.

[38]  Jacob Hendricks,et al.  Hierarchical growth is necessary and (sometimes) sufficient to self-assemble discrete self-similar fractals , 2019, Natural Computing.

[39]  E. Winfree,et al.  Toward reliable algorithmic self-assembly of DNA tiles: a fixed-width cellular automaton pattern. , 2008, Nano letters.

[40]  Nataša Jonoska,et al.  Active Tile Self-assembly, Part 2: Self-Similar Structures and Structural Recursion , 2014, Int. J. Found. Comput. Sci..

[41]  Matthew J. Patitz,et al.  Resiliency to multiple nucleation in temperature-1 self-assembly , 2017, Natural Computing.