Skip to main content

CRN++: Molecular Programming Language

  • Conference paper
  • First Online:
DNA Computing and Molecular Programming (DNA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11145))

Included in the following conference series:

Abstract

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 , a new language for programming deterministic (mass-action) chemical kinetics to perform computation. We present its syntax and semantics, and build a compiler translating 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 on a suite of well-known algorithms for discrete and real-valued computation. 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Although certain pathological CRNs can drive concentrations to infinity in finite time (e.g., \(2A \rightarrow 3A\)), and thereby drive certain other species to 0 in finite time (e.g., with an additional \(B + A \rightarrow A\)), these cases cannot be implemented with any reasonable chemistry.

References

  1. \(CRN++\) Github page. https://github.com/marko-vasic/crnPlusPlus

  2. Angluin, D., Aspnes, J., Eisenstat, D.: A simple population protocol for fast robust approximate majority. Distrib. Comput. 21(2), 87–102 (2008)

    Article  Google Scholar 

  3. Baccouche, A., Montagne, K., Padirac, A., Fujii, T., Rondelez, Y.: Dynamic DNA-toolbox reaction circuits: a walkthrough. Methods 67(2), 234–249 (2014)

    Article  Google Scholar 

  4. Bournez, O., Graça, D.S., Pouly, A.: Polynomial time corresponds to solutions of polynomial ordinary differential equations of polynomial length. J. ACM 64(6), 38 (2017)

    Article  MathSciNet  Google Scholar 

  5. Buisman, H.J., ten Eikelder, H.M.M., Hilbers, P.A.J., Liekens, A.M.L.: Computing algebraic functions with biochemical reaction networks. Artif. Life 5–19 (2009)

    Article  Google Scholar 

  6. Cardelli, L., Csikász-Nagy, A.: The cell cycle switch computes approximate majority. Sci. Rep. 2, 656 (2012)

    Article  Google Scholar 

  7. Chen, Y.J., et al.: Programmable chemical controllers made from DNA. Nat. Nanotechnol. 8(10), 755 (2013)

    Article  Google Scholar 

  8. CRNSimulator Mathematica package. http://users.ece.utexas.edu/~soloveichik/crnsimulator.html

  9. Fages, F., Le Guludec, G., Bournez, O., Pouly, A.: Strong turing completeness of continuous chemical reaction networks and compilation of mixed analog-digital programs. In: Feret, J., Koeppl, H. (eds.) CMSB 2017. LNCS, vol. 10545, pp. 108–127. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67471-1_7

    Chapter  Google Scholar 

  10. Huang, D.A., Jiang, J.H.R., Huang, R.Y., Cheng, C.Y.: Compiling program control flows into biochemical reactions. In: Proceedings of the International Conference on Computer-Aided Design, pp. 361–368 (2012)

    Google Scholar 

  11. Jiang, H., Riedel, M., Parhi, K.: Synchronous sequential computation with molecular reactions. In: 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC), pp. 836–841 (2011)

    Google Scholar 

  12. Lachmann, M., Sella, G.: The computationally complete ant colony: global coordination in a system with no hierarchy. In: Morán, F., Moreno, A., Merelo, J.J., Chacón, P. (eds.) ECAL 1995. LNCS, vol. 929, pp. 784–800. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-59496-5_343

    Chapter  Google Scholar 

  13. Magnasco, M.O.: Chemical kinetics is Turing universal. Phys. Rev. Lett. 78(6), 1190 (1997)

    Article  Google Scholar 

  14. Salehi, S.A., Parhi, K.K., Riedel, M.D.: Chemical reaction networks for computing polynomials. ACS Synth. Biol. 6(1), 76–83 (2017)

    Article  Google Scholar 

  15. Soloveichik, D., Seelig, G., Winfree, E.: DNA as a universal substrate for chemical kinetics. Proc. Natl. Acad. Sci. 107(12), 5393–5398 (2010)

    Article  Google Scholar 

Download references

Acknowledgment

We thank the fellow students of EE 381V (Programming With Molecules) at The University of Texas at Austin for constructive discussions on the material presented in this paper. We also thank Keenan Breik, Cameron Chalk, Milos Gligoric, Aleksandar Milicevic, Boya Wang and Kaiyuan Wang for their feedback on this work. This research was partially supported by the US National Science Foundation under Grants Nos. CCF-1618895, CCF-1718903, CCF-1652824, and CCF-1704790.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marko Vasic .

Editor information

Editors and Affiliations

Appendix A Modules

Appendix A Modules

Table 1. Modules. The first column denotes the type of the module. The restrictions column imposes compile-time restrictions for using modules, here \(\not \equiv \) is used to mean different species (not values). The output column shows the value of outputs at the steady state. Finally, the CRN column shows chemical reactions implementing the module.

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vasic, M., Soloveichik, D., Khurshid, S. (2018). CRN++: Molecular Programming Language. In: Doty, D., Dietz, H. (eds) DNA Computing and Molecular Programming. DNA 2018. Lecture Notes in Computer Science(), vol 11145. Springer, Cham. https://doi.org/10.1007/978-3-030-00030-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00030-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00029-5

  • Online ISBN: 978-3-030-00030-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics