Reactamole: functional reactive molecular programming

IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE
Titus H. Klinge, James I. Lathrop, Peter-Michael Osera, Allison Rogers
{"title":"Reactamole: functional reactive molecular programming","authors":"Titus H. Klinge, James I. Lathrop, Peter-Michael Osera, Allison Rogers","doi":"10.1007/s11047-024-09982-5","DOIUrl":null,"url":null,"abstract":"<p>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 R<span>eactamole</span>, a higher-level language for deterministic CRNs that utilizes the functional reactive programming (FRP) paradigm to represent CRNs as a reactive dataflow network. R<span>eactamole</span> equates a CRN with a functional reactive program, implementing the key primitives of the FRP paradigm directly as CRNs. The functional nature of R<span>eactamole</span> 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 R<span>eactamole</span> 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 R<span>eactamole</span> 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.</p>","PeriodicalId":49783,"journal":{"name":"Natural Computing","volume":"24 1","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2024-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Natural Computing","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s11047-024-09982-5","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 0

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.

Abstract Image

Reactamole: 功能性反应分子编程
化学反应网络(CRN)是分子编程的重要工具。这一领域正在迅速扩展我们将计算机程序部署到生物系统中进行各种应用的能力。然而,由于 CRN 的大规模并行性,它也很难处理,因此需要更高级别的语言来更直接地计算 CRN。最近,针对确定性 CRN 的各种高层次语言开展了研究,但 CRN 并行性建模、错误累积管理和寻找自然 CRN 表示法仍是持续面临的挑战。我们介绍 Reactamole,这是一种用于确定性 CRN 的高级语言,它利用函数式反应编程(FRP)范式将 CRN 表示为反应式数据流网络。Reactamole 将 CRN 等同于函数式反应程序,直接将 FRP 范式的关键基元作为 CRN 来实现。Reactamole 的功能特性使分子程序的推理变得更容易,而其强大的静态类型化功能则使我们能够确保 CRN 因类型化良好而形成良好。在本文中,我们将介绍 Reactamole 的设计,以及如何使用 CRN 来表示 FRP 中常见的数据类型和操作。我们通过一个扩展示例展示了这种功能反应式分子编程方法的潜力,示例中使用 FRP 构建了一个 CRN,用于调制和解调振幅调制信号。我们还展示了 Reactamole 如何用于指定抽象的 CRN,其结构取决于输入的反应和物种,从而允许用户指定更通用的 CRN 行为。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Natural Computing
Natural Computing Computer Science-Computer Science Applications
CiteScore
4.40
自引率
4.80%
发文量
49
审稿时长
3 months
期刊介绍: The journal is soliciting papers on all aspects of natural computing. Because of the interdisciplinary character of the journal a special effort will be made to solicit survey, review, and tutorial papers which would make research trends in a given subarea more accessible to the broad audience of the journal.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信