Advertisement

Natural Computing

, Volume 18, Issue 1, pp 119–137 | Cite as

Computing with chemical reaction networks: a tutorial

  • Robert BrijderEmail author
Article
  • 35 Downloads

Abstract

Chemical reaction networks (CRNs) model the behavior of chemical reactions in well-mixed solutions and they can be designed to perform computations. In this tutorial we give an overview of various computational models for CRNs. Moreover, we discuss a method to implement arbitrary (abstract) CRNs in a test tube using DNA. Finally, we discuss relationships between CRNs and other models of computation.

Keywords

Chemical reaction networks DNA strand displacement Population protocols Petri nets 

Notes

Acknowledgements

We thank Dave Doty, Grzegorz Rozenberg, David Soloveichik, and three anonymous referees for many useful comments on earlier versions of this paper. R.B. is a postdoctoral fellow of the Research Foundation–Flanders (FWO).

References

  1. Anderson DF, Kurtz TG (2011) Continuous time Markov chain models for chemical reaction networks. In: Koeppl H, Setti G, di Bernardo M, Densmore D (eds) Design and analysis of biomolecular circuits: engineering approaches to systems and synthetic biology. Springer, New York, pp 3–42Google Scholar
  2. Anderson DF, Enciso GA, Johnston MD (2014) Stochastic analysis of biochemical reaction networks with absolute concentration robustness. J R Soc Interface 11(93):20130943Google Scholar
  3. Angluin D, Aspnes J, Diamadi Z, Fischer MJ, Peralta R (2006) Computation in networks of passively mobile finite-state sensors. Distrib Comput 18(4):235–253zbMATHGoogle Scholar
  4. Angluin D, Aspnes J, Eisenstat D, Ruppert E (2007) The computational power of population protocols. Distrib Comput 20(4):279–304zbMATHGoogle Scholar
  5. Angluin D, Aspnes J, Eisenstat D (2008) Fast computation by population protocols with a leader. Distrib Comput 21(3):183–199zbMATHGoogle Scholar
  6. Aspnes J, Ruppert E (2007) An introduction to population protocols. Bull EATCS 93:98–117MathSciNetzbMATHGoogle Scholar
  7. Badelt S, Shin SW, Johnson RF, Dong Q, Thachuk C, Winfree E (2017) A general-purpose CRN-to-DSD compiler with formal verification, optimization, and simulation capabilities. In: Brijder R, Qian L (eds) Proceedings of the 23th international conference on DNA computing and molecular programming (DNA 23), vol 10467. Lecture Notes in Computer Science. Springer, Berlin, pp 232–248Google Scholar
  8. Balbo G (2000) Introduction to stochastic Petri nets. In: Brinksma E, Hermanns H, Katoen J (eds) Lectures on formal methods and performance analysis, vol 2090. Lecture Notes in Computer Science. Springer, Berlin, pp 84–155Google Scholar
  9. Bause F, Kritzinger PS (2002) Stochastic Petri nets: an introduction to the theory, 2nd edn. Vieweg Verlag, BerlinzbMATHGoogle Scholar
  10. Belleville A, Doty D, Soloveichik D (2017) Hardness of computing and approximating predicates and functions with leaderless population protocols. In: Chatzigiannakis I, Indyk P, Kuhn F, Muscholl A (eds) Proceedings of the 44th international colloquium on automata, languages, and programming (ICALP 2017), volume 80 of LIPIcs, Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik, pp 141:1–141:14Google Scholar
  11. Bournez O, Campagnolo ML, Graça DS, Hainry E (2007) Polynomial differential equations compute all real computable functions on computable compact intervals. J Complex 23(3):317–335MathSciNetzbMATHGoogle Scholar
  12. Brijder R (2016) Minimal output unstable configurations in chemical reaction networks and deciders. Nat Comput 15(2):235–244MathSciNetGoogle Scholar
  13. Brijder R (2017) Dominance and deficiency for Petri nets and chemical reaction networks. Nat Comput 16(2):285–294MathSciNetGoogle Scholar
  14. Brijder R, Doty D, Soloveichik D (2018) Democratic, existential, and consensus-based output conventions in stable computation by chemical reaction networks. Nat Comput 17(1):97–108MathSciNetGoogle Scholar
  15. Buisman HJ, ten Eikelder HMM, Hilbers PAJ, Liekens AML (2009) Computing algebraic functions with biochemical reaction networks. Artif Life 15(1):5–19Google Scholar
  16. Cardelli L, Kwiatkowska M, Laurenti L (2016a) Programming discrete distributions with chemical reaction networks. In: Rondelez Y, Woods D (eds) Proceedings of the 22th international conference on DNA computing and molecular programming (DNA 22), vol 9818. Lecture Notes in Computer Science. Springer, pp 35–51Google Scholar
  17. Cardelli L, Kwiatkowska M, Whitby M (2016b) Chemical reaction network designs for asynchronous logic circuits. In: Rondelez Y, Woods D (eds) Proceedings of the 22th international conference on DNA computing and molecular programming (DNA 22), vol 9818. Lecture Notes in Computer Science. Springer, pp 67–81Google Scholar
  18. Cardoza E, Lipton RJ, Meyer AR (1976) Exponential space complete problems for Petri nets and commutative semigroups: preliminary report. In: Chandra AK, Wotschke D, Friedman EP, Harrison MA (eds) Proceedings of the 8th annual ACM Symposium on theory of computing (STOC 1976). ACM, pp 50–54Google Scholar
  19. Case A, Lutz JH, Stull DM (2016) Reachability problems for continuous chemical reaction networks. In: Amos M, Condon A (eds) Proceedings of the 15th international conference on unconventional computation and natural computation (UCNC 2016), vol 9726. Lecture Notes in Computer Science. Springer, Berlin, pp 1–10Google Scholar
  20. Chen Y-J, Dalchau N, Srinivas N, Phillips A, Cardelli L, Soloveichik D, Seelig G (2013) Programmable chemical controllers made from DNA. Nat Nanotechnol 8:755–762Google Scholar
  21. Chen H-L, Doty D, Soloveichik D (2014a) Deterministic function computation with chemical reaction networks. Nat Comput 13(4):517–534MathSciNetzbMATHGoogle Scholar
  22. Chen H-L, Doty D, Soloveichik D (2014b) Rate-independent computation in continuous chemical reaction networks. In: Naor M (ed) Proceedings of the 5th conference on innovations in theoretical computer science (ITCS’14). ACM, pp 313–326Google Scholar
  23. Chen H-L, Cummings R, Doty D, Soloveichik D (2017) Speed faults in computation by chemical reaction networks. Distrib Comput 30(5):373–390MathSciNetzbMATHGoogle Scholar
  24. Cook M, Soloveichik D, Winfree E, Bruck J (2009) Programmability of chemical reaction networks. In: Condon A, Harel D, Kok JN, Salomaa A, Winfree E (eds) Algorithmic bioprocesses. Springer, Berlin, pp 543–584Google Scholar
  25. Cummings R, Doty D, Soloveichik D (2016) Probability 1 computation with chemical reaction networks. Nat Comput 15(2):245–261MathSciNetzbMATHGoogle Scholar
  26. David R, Alla H (2010) Discrete, continuous, and hybrid Petri nets, 2nd edn. Springer, BerlinGoogle Scholar
  27. Dirks R, Bois J, Schaeffer J, Winfree E, Pierce N (2007) Thermodynamic analysis of interacting nucleic acid strands. SIAM Rev 49(1):65–88MathSciNetzbMATHGoogle Scholar
  28. Doty D, Hajiaghayi M (2015) Leaderless deterministic chemical reaction networks. Nat Comput 14(2):213–223MathSciNetzbMATHGoogle Scholar
  29. Doty D, Soloveichik D (2018) Stable leader election in population protocols requires linear time. Distrib Comput 31:257–271MathSciNetzbMATHGoogle Scholar
  30. Fages F, Guludec GL, Bournez O, Pouly A (2017) Strong Turing completeness of continuous chemical reaction networks and compilation of mixed analog-digital programs. In: Feret J, Koeppl H (eds) 15th international conference on computational methods in systems biology (CMSB 2017), vol 10545. Lecture Notes in Computer Science. Springer, Berlin, pp 108–127Google Scholar
  31. Feinberg M (1980) Lectures on chemical reaction networks. https://crnt.osu.edu/LecturesOnReactionNetworks. Accessed 2 Aug 2018
  32. Feinberg M, Horn F (1977) Chemical mechanism structure and the coincidence of the stoichiometric and kinetic subspaces. Arch Ration Mech Anal 66(1):83–97MathSciNetzbMATHGoogle Scholar
  33. Fett B, Bruck J, Riedel MD (2007) Synthesizing stochasticity in biochemical systems. In: Proceedings of the 44th annual design automation conference (DAC 2007). ACM, pp 640–645Google Scholar
  34. Ginsburg S, Spanier EH (1966) Semigroups, Presburger formulas, and languages. Pac J Math 16(2):285–296MathSciNetzbMATHGoogle Scholar
  35. Gunawardena J (2003) Chemical reaction network theory for in-silico biologists. http://vcp.med.harvard.edu/papers/crnt.pdf. Accessed 2 Aug 2018
  36. Hopcroft JE, Pansiot J (1979) On the reachability problem for 5-dimensional vector addition systems. Theor Comput Sci 8:135–159MathSciNetzbMATHGoogle Scholar
  37. Hopcroft JE, Ullman JD (1979) Introduction to automata theory, languages, and computation. Addison-Wesley, BostonzbMATHGoogle Scholar
  38. Horn F (1972) Necessary and sufficient conditions for complex balancing in chemical kinetics. Arch Ration Mech Anal 49(3):172–186MathSciNetGoogle Scholar
  39. Horn F, Jackson R (1972) General mass action kinetics. Arch Ration Mech Anal 47(2):81–116MathSciNetGoogle Scholar
  40. Jensen K (1996) Coloured Petri nets: basic concepts, analysis methods and practical use, 2nd edn. Springer, BerlinzbMATHGoogle Scholar
  41. Johnson R, Winfree E (2014) Verifying polymer reaction networks using bisimulation. http://www.dna.caltech.edu/Papers/Polymers2014-VEMDP.pdf. Accessed 2 Aug 2018
  42. Johnson RF, Dong Q, Winfree E (2016) Verifying chemical reaction network implementations: a bisimulation approach. In: Rondelez Y, Woods D (eds) Proceedings of the 22th international conference on DNA computing and molecular programming (DNA 22), vol 9818. Lecture Notes in Computer Science. Springer, pp 114–134Google Scholar
  43. Karp RM, Miller RE (1969) Parallel program schemata. J Comput Syst Sci 3(2):147–195MathSciNetzbMATHGoogle Scholar
  44. Kurtz TG (1972) The relationship between stochastic and deterministic models for chemical reactions. J Chem Phys 57(7):2976–2978Google Scholar
  45. Leroux J (2012) Vector addition systems reachability problem (a simpler solution). In: Voronkov A (ed) Proceedings of the Alan turing centenary conference (Turing-100), vol 10. EPiC Series, pp 214–228Google Scholar
  46. Liekens AML, Fernando CT (2007) Turing complete catalytic particle computers. In: Almeida e Costa F, Rocha LM, Costa E, Harvey I, Coutinho A (eds) Proceedings of the 9th European conference on artificial life (ECAL 2007), vol 4648. Lecture Notes in Computer Science. Springer, Berlin, pp 1202–1211Google Scholar
  47. Lorenz R, Bernhart SH, Höner zu Siederdissen C, Tafer H, Flamm C, Stadler PF, Hofacker IL (2011) ViennaRNA package 2.0. Algorithms Mol Biol 6(1):26Google Scholar
  48. Magnasco MO (1997) Chemical kinetics is Turing universal. Phys Rev Lett 78:1190–1193Google Scholar
  49. Marsan MA (1988) Stochastic Petri nets: an elementary introduction. In: Rozenberg G (ed) Advances in Petri nets 1989, vol 424. Lecture Notes in Computer Science. Springer, Berlin, pp 1–29Google Scholar
  50. Mayr EW (1984) An algorithm for the general Petri net reachability problem. SIAM J Comput 13(3):441–460MathSciNetzbMATHGoogle Scholar
  51. McQuarrie DA (1967) Stochastic approach to chemical kinetics. J Appl Probab 4(3):413–478MathSciNetzbMATHGoogle Scholar
  52. Minsky ML (1961) Recursive unsolvability of Post’s problem of “tag” and other topics in theory of Turing machines. Ann Math 74(3):437–455MathSciNetzbMATHGoogle Scholar
  53. Peterson JL (1977) Petri nets. ACM Comput Surv 9(3):223–252zbMATHGoogle Scholar
  54. Qian L, Winfree E (2014) Parallel and scalable computation and spatial dynamics with DNA-based chemical reaction networks on a surface. In: Murata S, Kobayashi S (eds) Proceedings of the 20th international conference on DNA computing and molecular programming (DNA 20), vol 8727. Lecture Notes in Computer Science. Springer, Berlin, pp 114–131Google Scholar
  55. Recalde L, Teruel E, Suárez MS (1999) Autonomous continuous P/T systems. In: Donatelli S, Kleijn HCM (eds) Proceedings of the 20th international conference on the applications and theory of Petri nets (ICATPN ’99), vol 1639. Lecture Notes in Computer Science. Springer, Berlin, pp 107–126Google Scholar
  56. Reisig W, Rozenberg G (eds) (1998) Lectures on Petri nets I: basic models, vol 1491. Lecture Notes in Computer Science. Springer, BerlinzbMATHGoogle Scholar
  57. Salehi SA, Riedel MD, Parhi KK (2014) Asynchronous discrete-time signal processing with molecular reactions. In: Proceedings of the 48th Asilomar conference on signals, systems and computers, pp 1767–1772Google Scholar
  58. Senum P, Riedel M (2011) Rate-independent constructs for chemical computation. PLOS ONE 6(6):1–12 06Google Scholar
  59. Shannon CE (1941) Mathematical theory of the differential analyzer. J Math Phys 20(1–4):337–354MathSciNetzbMATHGoogle Scholar
  60. Shin SW, Thachuk C, Winfree E (2017) Verifying chemical reaction network implementations: a pathway decomposition approach. Theor Comput Sci.  https://doi.org/10.1016/j.tcs.2017.10.011
  61. Soloveichik D, Cook M, Winfree E, Bruck J (2008) Computation with finite stochastic chemical reaction networks. Nat Comput 7(4):615–633MathSciNetzbMATHGoogle Scholar
  62. Soloveichik D, Seelig G, Winfree E (2010) DNA as a universal substrate for chemical kinetics. Proc Natl Acad Sci 107(12):5393–5398Google Scholar
  63. Sparso J, Furber S (eds) (2001) Principles of asynchronous circuit design: a systems perspective. Springer, BerlinGoogle Scholar

Copyright information

© Springer Nature B.V. 2019

Authors and Affiliations

  1. 1.Hasselt UniversityDiepenbeekBelgium

Personalised recommendations