合成生物学是一个相对较新的研究领域,可以显着影响许多领域,包括生物学,纳米制造和医学。这个新兴领域的主要挑战是在无法插入电子微控制器的情况下将计算嵌入分子环境中。这样做需要开发能够使用分子组件有效表示计算的方法。
德克萨斯大学奥斯汀分校的一组研究人员创建了CRN ++,这是一种在执行计算时编程确定性(质量作用)化学动力学的新语言。在他们的论文中,预先发表在arXiv上,研究人员概述了这种新语言,并构建了一个将CRN ++程序转化为化学反应的编译器。
“ 合成生物学的一个关键技术挑战是设计一个化学控制器,在细胞环境中相互作用,完成一项特定任务,”开展这项研究的研究人员之一Marko Vasic告诉Tech Xplore。“为了实现这一目标,有必要设计合成分子并对其进行编程。分子通过化学反应相互作用,通过编程分子,我们的意思是定义它们之间的相互作用规则(化学反应)。”
最近DNA合成的改进为分子工程开辟了新的令人兴奋的可能性。然而,合成生物学的研究人员首先需要设计方法来设计相互作用规则(化学反应)以达到预期目标。这项研究的主要目的是设计一种能够以更直观的方式表达化学反应行为的高级语言。
“在软件工程中,程序员用易于理解的高级语言编写,这样的程序被编译成机器代码,这是人类难以理解的,但机器可以理解,”Vasic解释说。 。“我们试图在分子编程中建立一个类比,通过定义一种更容易推理的高级语言,并将其编译成'复杂'化学。”
CRN ++基于两个想法:模块化和振荡器的使用。模块化意味着该语言包括一组称为模块的化学反应,这些反应可以在不同的反应集之间不受干扰地组成。为实现这一目标,研究人员将CRN ++的基本操作映射到这些模块。他们还使用化学振荡器进行时间排序,这使他们能够将语言的有序命令命令转换为化学。
“据我们所知,我们是第一个提供符合化学反应网络的命令式编程语言的人,”瓦西奇说。“我们开源我们的代码,包括CRN ++,以及模拟框架,因为我们希望这将使研究人员更容易尝试新方法,从而进一步推进该领域。”
研究人员对CRN ++进行了评估,并证明了其在一系列离散和实值计算算法中的可行性。新语言也可以轻松扩展,以支持新的命令或实现,使其成为开发更先进的分子程序的理想基础。
“从CRN ++翻译成化学的程序包含一些错误,这些错误在某些类别的程序中可能非常低,但在其他程序中可能会很高或随着时间的推移积累,”Vasic说。“因此,我们计划进一步调查错误来源并设计程序,以确保错误不会超过某些限制。”
Vasic和他的同事们也希望通过包含新模块来扩展他们的编程语言,这些模块被定义为可以执行基本操作的化学反应集。