▲欧几里德算法对应的CRN++语言
合成生物学是一个相对较新的研究领域,可能会对生物学、纳米制造和医学等多个领域产生重大影响。该新兴领域所面临的一个主要挑战是,如何在不插入电子微控制器的情况下将计算嵌入到分子环境中。为解决这一难题,需要开发一种能够有效地使用分子组成来表达计算的方法。
据TechXplore网站10月5日报道,美国德克萨斯大学奥斯汀分校的研究人员近日就创造了一种用于编程确定性(质量作用)化学动力学以进行计算的新语言——CRN++语言。研究人员在arXiv(一个收集物理学、数学、计算机科学与生物学的论文预印本的网站)上发表的论文介绍了这种新语言,文中还构建了一个编译器,将CRN++程序翻译成化学反应。
“合成生物学的一个关键技术是设计一种在细胞环境中相互作用的化学控制器,以完成特定任务。”这项研究的研究人员之一Marko Vasic告诉Tech Xplore。“为了实现这一目标,有必要设计合成分子并对其进行编程。分子通过化学反应来相互作用,编程分子便意味着定义它们之间的相互作用规则(即化学反应)。”
最近DNA合成的改进为分子工程开辟了新的、令人兴奋的可能性。然而,合成生物学的研究人员首先需要想出方法来设计相互作用规则以达到预期的目标。最近这项研究的主要目的是设计一种更高级的语言,以一种更直观的方式表达化学反应的行为。Vasic解释说:“在软件工程中,程序员用一种易于理解的高级语言编写程序,然后这样的程序被编译成机器代码。类似的,我们希望通过定义一种高级语言来建立分子编程。这种语言更容易被用户理解,也更容易被编译成‘复杂的’化学。”
CRN++语言基于两种思想:模块化和振荡器的使用。模块化意味着该语言包含一组被称为模块的化学反应,这些化学反应可以在不同的反应集之间不受干扰地组成。为了实现这一点,研究人员将CRN++的基本操作映射到这些模块上。他们还使用了一个化学振荡器进行时间排序,这样他们就可以把语言中命令的顺序翻译成化学语言。
Vasic说:“我们是第一个提供符合化学反应网络的编程语言的公司。我们开源我们的代码,包括CRN++,以及模拟框架,因为我们希望研究人员可更容易尝试新的方法,从而进一步推进该领域的发展。”
研究人员对CRN++进行了评估,并证明了其在一系列离散和实值计算算法上的可行性。新语言还可以很容易地扩展,以支持新的命令,使其成为开发更高级分子程序的理想基础。
Vasic和他的同事也在寻求方法来拓宽他们的编程语言,包括一系列可以进行基本操作的化学反应新模块。
科界原创
编译:Coke
审稿:阿淼
责编:南熙