Skip to main content
Top

19-04-2024

Reactamole: functional reactive molecular programming

Authors: Titus H. Klinge, James I. Lathrop, Peter-Michael Osera, Allison Rogers

Published in: Natural Computing

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Chemical reaction networks (CRNs) are an important tool for molecular programming. This field is rapidly expanding our ability to deploy computer programs into biological systems for various applications. However, CRNs are also difficult to work with due to their massively parallel nature, leading to the need for higher-level languages that allow for more straightforward computation with CRNs. Recently, research has been conducted into various higher-level languages for deterministic CRNs but modeling CRN parallelism, managing error accumulation, and finding natural CRN representations are ongoing challenges. We introduce Reactamole, a higher-level language for deterministic CRNs that utilizes the functional reactive programming (FRP) paradigm to represent CRNs as a reactive dataflow network. Reactamole equates a CRN with a functional reactive program, implementing the key primitives of the FRP paradigm directly as CRNs. The functional nature of Reactamole makes reasoning about molecular programs easier, and its strong static typing allows us to ensure that a CRN is well-formed by virtue of being well-typed. In this paper, we describe the design of Reactamole and how we use CRNs to represent the common datatypes and operations found in FRP. We demonstrate the potential of this functional reactive approach to molecular programming by giving an extended example where a CRN is constructed using FRP to modulate and demodulate an amplitude-modulated signal. We also show how Reactamole can be used to specify abstract CRNs whose structure depends on the reactions and species of its input, allowing users to specify more general CRN behaviors.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
Literature
go back to reference 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–253CrossRef 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–253CrossRef
go back to reference Aris R (1964) Prolegomena to the rational analysis of systems of chemical reactions. Arch Ration Mech Anal 19(2):81–99MathSciNetCrossRef Aris R (1964) Prolegomena to the rational analysis of systems of chemical reactions. Arch Ration Mech Anal 19(2):81–99MathSciNetCrossRef
go back to reference 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) DNA computing and molecular programming. Springer, Cham, pp 232–248CrossRef 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) DNA computing and molecular programming. Springer, Cham, pp 232–248CrossRef
go back to reference Bainomugisha E, Carreton AL, Cutsem TV, Mostinckx S, de Meuter W (2013) A survey on reactive programming. ACM Comput Surv 45(4):1–34CrossRef Bainomugisha E, Carreton AL, Cutsem TV, Mostinckx S, de Meuter W (2013) A survey on reactive programming. ACM Comput Surv 45(4):1–34CrossRef
go back to reference Bournez O, Graça DS, Pouly A (2017a) Polynomial time corresponds to solutions of polynomial ordinary differential equations of polynomial length. J ACM 64(6):1–76 Bournez O, Graça DS, Pouly A (2017a) Polynomial time corresponds to solutions of polynomial ordinary differential equations of polynomial length. J ACM 64(6):1–76
go back to reference Bournez O, Graça D, Pouly A (2017b) On the functions generated by the general purpose analog computer. Inf Comput 257:34–57 Bournez O, Graça D, Pouly A (2017b) On the functions generated by the general purpose analog computer. Inf Comput 257:34–57
go back to reference Calzone L, Fages F, Soliman S (2006) BIOCHAM: an environment for modeling biological systems and formalizing experimental knowledge. Bioinformatics 22(14):1805–1807CrossRef Calzone L, Fages F, Soliman S (2006) BIOCHAM: an environment for modeling biological systems and formalizing experimental knowledge. Bioinformatics 22(14):1805–1807CrossRef
go back to reference Cardelli L (2020) Kaemika App: integrating protocols and chemical simulation. In: Abate A, Petrov T, Wolf V (eds) Computational methods in systems biology. Springer, Cham, pp 373–379CrossRef Cardelli L (2020) Kaemika App: integrating protocols and chemical simulation. In: Abate A, Petrov T, Wolf V (eds) Computational methods in systems biology. Springer, Cham, pp 373–379CrossRef
go back to reference 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–584CrossRef 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–584CrossRef
go back to reference Courtney A (2001) Frappé: functional reactive programming in Java. In: Proceedings of the third international symposium on practical aspects of declarative languages, PADL’01. Springer, Berlin, pp 29–44 Courtney A (2001) Frappé: functional reactive programming in Java. In: Proceedings of the third international symposium on practical aspects of declarative languages, PADL’01. Springer, Berlin, pp 29–44
go back to reference Czaplicki E, Chong S (2013) Asynchronous functional reactive programming for GUIs. In: Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation - PLDI’13. ACM Press, Seattle, p 411 Czaplicki E, Chong S (2013) Asynchronous functional reactive programming for GUIs. In: Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation - PLDI’13. ACM Press, Seattle, p 411
go back to reference Doty D, Eftekhari M, Gąsieniec L, Severson E, Uznański P, Stachowiak G (2022) A time and space optimal stable population protocol solving exact majority. In: 2021 IEEE 62nd annual symposium on foundations of computer science (FOCS), pp 1044–1055 Doty D, Eftekhari M, Gąsieniec L, Severson E, Uznański P, Stachowiak G (2022) A time and space optimal stable population protocol solving exact majority. In: 2021 IEEE 62nd annual symposium on foundations of computer science (FOCS), pp 1044–1055
go back to reference Elliott CM (2009) Push–pull functional reactive programming. In: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell, Haskell’09. Association for Computing Machinery, New York, pp 25–36 Elliott CM (2009) Push–pull functional reactive programming. In: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell, Haskell’09. Association for Computing Machinery, New York, pp 25–36
go back to reference Elliott C, Hudak P (1997) Functional reactive animation. In: Proceedings of the second ACM SIGPLAN international conference on Functional programming—ICFP’97. ACM Press, Amsterdam, pp 263–273 Elliott C, Hudak P (1997) Functional reactive animation. In: Proceedings of the second ACM SIGPLAN international conference on Functional programming—ICFP’97. ACM Press, Amsterdam, pp 263–273
go back to reference Ellis SJ, Klinge TH, Lathrop JI (2019) Robust chemical circuits. Biosystems 186:103983CrossRef Ellis SJ, Klinge TH, Lathrop JI (2019) Robust chemical circuits. Biosystems 186:103983CrossRef
go back to reference Epstein IR, Pojman JA (1998) An introduction to nonlinear chemical dynamics: oscillations, waves, patterns, and chaos. Oxford University Press, OxfordCrossRef Epstein IR, Pojman JA (1998) An introduction to nonlinear chemical dynamics: oscillations, waves, patterns, and chaos. Oxford University Press, OxfordCrossRef
go back to reference Fages F, Soliman S (2018) On robustness computation and optimization in BIOCHAM-4. In: Computational methods in systems biology. Springer, Cham, pp 292–299 Fages F, Soliman S (2018) On robustness computation and optimization in BIOCHAM-4. In: Computational methods in systems biology. Springer, Cham, pp 292–299
go back to reference Fages F, Le Guludec G, 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) Computational methods in systems biology. Springer, Cham, pp 108–127CrossRef Fages F, Le Guludec G, 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) Computational methods in systems biology. Springer, Cham, pp 108–127CrossRef
go back to reference Feinberg M (2019) Foundations of chemical reaction network theory. Springer, ChamCrossRef Feinberg M (2019) Foundations of chemical reaction network theory. Springer, ChamCrossRef
go back to reference Gibbons J, Wu N (2014) Folding domain-specific languages: deep and shallow embeddings (functional pearl). In: Proceedings of the 19th ACM SIGPLAN international conference on functional programming, ICFP’14. Association for Computing Machinery, New York, pp 339–347 Gibbons J, Wu N (2014) Folding domain-specific languages: deep and shallow embeddings (functional pearl). In: Proceedings of the 19th ACM SIGPLAN international conference on functional programming, ICFP’14. Association for Computing Machinery, New York, pp 339–347
go back to reference Hemery M, Fages F, Soliman S (2021) Compiling elementary mathematical functions into finite chemical reaction networks via a polynomialization algorithm for ODEs. In: Cinquemani E, Paulevé L (eds) Computational methods in systems biology. Springer, Cham, pp 74–90CrossRef Hemery M, Fages F, Soliman S (2021) Compiling elementary mathematical functions into finite chemical reaction networks via a polynomialization algorithm for ODEs. In: Cinquemani E, Paulevé L (eds) Computational methods in systems biology. Springer, Cham, pp 74–90CrossRef
go back to reference Hudak P, Courtney A, Nilsson H, Peterson J (2002) Arrows, robots, and functional reactive programming. In: Advanced functional programming Hudak P, Courtney A, Nilsson H, Peterson J (2002) Arrows, robots, and functional reactive programming. In: Advanced functional programming
go back to reference Hughes J, O’Donnell J (1990) Expressing and reasoning about non-deterministic functional programs. In: Davis K, Hughes J (eds) Functional programming. Springer, London, pp 308–328CrossRef Hughes J, O’Donnell J (1990) Expressing and reasoning about non-deterministic functional programs. In: Davis K, Hughes J (eds) Functional programming. Springer, London, pp 308–328CrossRef
go back to reference Jeffrey A (2012) LTL types FRP: linear-time temporal logic propositions as types, proofs as functional reactive programs. In: Proceedings of the sixth workshop on Programming languages meets program verification—PLPV’12. ACM Press, Philadelphia, p 49 Jeffrey A (2012) LTL types FRP: linear-time temporal logic propositions as types, proofs as functional reactive programs. In: Proceedings of the sixth workshop on Programming languages meets program verification—PLPV’12. ACM Press, Philadelphia, p 49
go back to reference Klinge TH, Lathrop JI (2020) Modulated signals in chemical reaction networks. CoRR, abs/2009.06703 Klinge TH, Lathrop JI (2020) Modulated signals in chemical reaction networks. CoRR, abs/2009.06703
go back to reference Klinge TH, Lathrop JI, Lutz JH (2020a) Robust biomolecular finite automata. Theor Comput Sci 816:114–143 Klinge TH, Lathrop JI, Lutz JH (2020a) Robust biomolecular finite automata. Theor Comput Sci 816:114–143
go back to reference Klinge TH, Lathrop JI, Moreno S, Potter HD, Raman NK, Riley MR (2020b) ALCH: an imperative language for chemical reaction network-controlled tile assembly. In: Geary C, Patitz MJ (eds) 26th International conference on DNA computing and molecular programming (DNA 26), vol. 174 of Leibniz International Proceedings in Informatics (LIPIcs). Schloss Dagstuhl-Leibniz-Zentrum für Informatik, Dagstuhl, pp 6:1–6:22 Klinge TH, Lathrop JI, Moreno S, Potter HD, Raman NK, Riley MR (2020b) ALCH: an imperative language for chemical reaction network-controlled tile assembly. In: Geary C, Patitz MJ (eds) 26th International conference on DNA computing and molecular programming (DNA 26), vol. 174 of Leibniz International Proceedings in Informatics (LIPIcs). Schloss Dagstuhl-Leibniz-Zentrum für Informatik, Dagstuhl, pp 6:1–6:22
go back to reference Krantz SG, Parks HR (2002) A primer of real analytic functions. Springer, Boston Krantz SG, Parks HR (2002) A primer of real analytic functions. Springer, Boston
go back to reference Lakin MR, Youssef S, Polo F, Emmott S, Phillips A (2011) Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics 27(22):3211–3213CrossRef Lakin MR, Youssef S, Polo F, Emmott S, Phillips A (2011) Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics 27(22):3211–3213CrossRef
go back to reference Nilsson H (2005) Dynamic optimization for functional reactive programming using generalized algebraic data types. In: Proceedings of the tenth ACM SIGPLAN international conference on functional programming, ICFP’05. Association for Computing Machinery, New York, pp 54–65 Nilsson H (2005) Dynamic optimization for functional reactive programming using generalized algebraic data types. In: Proceedings of the tenth ACM SIGPLAN international conference on functional programming, ICFP’05. Association for Computing Machinery, New York, pp 54–65
go back to reference Nilsson H, Courtney A, Peterson J (2002) Functional reactive programming, continued. In: Proceedings of the 2002 ACM SIGPLAN workshop on Haskell, Haskell’02. Association for Computing Machinery, New York, pp 51–64 Nilsson H, Courtney A, Peterson J (2002) Functional reactive programming, continued. In: Proceedings of the 2002 ACM SIGPLAN workshop on Haskell, Haskell’02. Association for Computing Machinery, New York, pp 51–64
go back to reference Ott J, Loveless T, Curtis C, Lesani M, Brisk P (2018) BioScript: programming safe chemistry on laboratories-on-a-chip. Proc ACM Program Lang 2(OOPSLA):1–31CrossRef Ott J, Loveless T, Curtis C, Lesani M, Brisk P (2018) BioScript: programming safe chemistry on laboratories-on-a-chip. Proc ACM Program Lang 2(OOPSLA):1–31CrossRef
go back to reference Paterson R (2001) A new notation for arrows. Sigplan Not SIGPLAN 36:229–240CrossRef Paterson R (2001) A new notation for arrows. Sigplan Not SIGPLAN 36:229–240CrossRef
go back to reference Pembeci I, Nilsson H, Hager G (2002) Functional reactive robotics: an exercise in principled integration of domain-specific languages. In: Proceedings of the 4th ACM SIGPLAN international conference on principles and practice of declarative programming, PPDP’02. Association for Computing Machinery, New York, pp 168–179 Pembeci I, Nilsson H, Hager G (2002) Functional reactive robotics: an exercise in principled integration of domain-specific languages. In: Proceedings of the 4th ACM SIGPLAN international conference on principles and practice of declarative programming, PPDP’02. Association for Computing Machinery, New York, pp 168–179
go back to reference Soloveichik D (2008) Robust stochastic chemical reaction networks and bounded tau-leaping. CoRR, abs/0803.1030 Soloveichik D (2008) Robust stochastic chemical reaction networks and bounded tau-leaping. CoRR, abs/0803.1030
go back to reference Soloveichik D, Cook M, Winfree E, Bruck J (2008) Computation with finite stochastic chemical reaction networks. Nat Comput 7:615MathSciNetCrossRef Soloveichik D, Cook M, Winfree E, Bruck J (2008) Computation with finite stochastic chemical reaction networks. Nat Comput 7:615MathSciNetCrossRef
go back to reference Wan Z, Hudak P (2000) Functional reactive programming from first principles. In: Proceedings of the ACM SIGPLAN 2000 conference on programming language design and implementation, PLDI’00. Association for Computing Machinery, New York, pp 242–252 Wan Z, Hudak P (2000) Functional reactive programming from first principles. In: Proceedings of the ACM SIGPLAN 2000 conference on programming language design and implementation, PLDI’00. Association for Computing Machinery, New York, pp 242–252
go back to reference Wan Z, Taha W, Hudak P (2001) Real-time FRP. In: Proceedings of the ACM SIGPLAN international conference on functional programming, ICFP, vol 36 Wan Z, Taha W, Hudak P (2001) Real-time FRP. In: Proceedings of the ACM SIGPLAN international conference on functional programming, ICFP, vol 36
Metadata
Title
Reactamole: functional reactive molecular programming
Authors
Titus H. Klinge
James I. Lathrop
Peter-Michael Osera
Allison Rogers
Publication date
19-04-2024
Publisher
Springer Netherlands
Published in
Natural Computing
Print ISSN: 1567-7818
Electronic ISSN: 1572-9796
DOI
https://doi.org/10.1007/s11047-024-09982-5

Premium Partner