0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个将CRN++程序翻译成化学反应的编译器。

DPVg_AI_era 来源:未知 作者:李倩 2018-10-08 09:38 次阅读

德克萨斯大学奥斯汀分校的研究人员创造了一种新的编程语言CRN++,旨在设计合成分子并对其进行编程,通过编程分子定义它们之间的化学反应。研究人员还开源代码,包括CRN ++,以及模拟框架。

合成生物学是一个相对较新的研究领域,可能会对生物学、纳米制造、医学等许多领域产生重大影响。这个新兴领域的一个主要挑战是在无法插入电子微控制器的情况下,在分子环境中嵌入计算。要做到这一点,需要开发出可以使用分子成分有效表示计算的方法。

德克萨斯大学奥斯汀分校的一组研究人员创造了一种新的编程语言CRN++,这是一种在执行计算时编程确定性(质量作用)化学动力学的新语言。他们在arXiv预印版论文中描述了这种新语言,并构建了一个将CRN++程序翻译成化学反应的编译器。

论文地址:https://arxiv.org/pdf/1809.07430.pdf

“合成生物学的一个关键技术挑战就是设计一种在细胞环境中相互作用的化学控制器,以完成特定的任务,”这项研究的研究人员之一Marko Vasic说:“为了实现这一目标,有必要设计合成分子并对其进行编程。分子通过化学反应相互作用,而通过编程分子,我们可以定义它们之间的相互作用规则(化学反应)。”

Euclid算法以及如何用CRN++编写图片来源:Vasic et al.

最近,DNA合成取得的进展为分子工程开辟了新的、令人兴奋的可能性。然而,合成生物学的研究人员首先需要找到设计相互作用规则(化学反应)的方法,以达到预期目标。这项研究的主要目的是设计一种能够以更直观的方式表达化学反应行为的高级语言。

Vasic解释说:“在软件工程中,程序员用一种易于理解的高级语言编写程序,这样的程序被编译成机器代码,这些代码人类难以理解,但机器可以理解。” “我们试图通过定义一种高级语言来建立分子编程中的类比,这种语言更容易理解,也更容易编译成‘复杂的’化学。”

编译器的输出以及CRN++程序的模拟结果。 图片来源:Vasic et al.

CRN++基于两个想法:模块化和振荡器(oscillator)的使用。模块化意味着该语言包含一组称为模块(modules)的化学反应,这些化学反应可以在不同的反应集之间不受干扰地组成。为了实现这一点,研究人员将CRN++的基本操作映射到这些模块。他们还使用了一个化学振荡器(chemical oscillator)来进行时间排序,这样他们就能够将语言中的有序命令翻译成化学。

“据我们所知,我们是第一个提供符合化学反应网络的命令式编程语言的团队,”Vasic说。“我们开源了代码,包括CRN++,以及模拟框架,因为我们希望这将帮助研究人员更容易尝试新的方法,从而进一步推进该领域的研究。”

研究人员对CRN++进行了评估,并证明了其在一系列离散和实值计算算法上的可行性。新语言还可以轻松扩展,以支持新的命令或实现,使其成为开发更高级的分子程序的理想基础。

“从CRN++翻译成化学的程序包含一些错误,这些错误在某些类别的程序中可能非常低,但在其他程序中可能很高,或随着时间的推移错误会逐渐增加,”Vasic说:“因此,我们计划进一步调查错误来源并设计程序,以确保错误不会超过一定的界限。”

Vasic和他的同事们也希望通过包含新的模块来扩展他们的编程语言,这些模块被定义为可以执行基本操作的化学反应集。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1874

    浏览量

    32925
  • 编译器
    +关注

    关注

    1

    文章

    1564

    浏览量

    48531

原文标题:新编程语言CRN++诞生:用来编程化学反应

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Loop Interchange如何帮助编译器生成更高效的可执行代码

    C/C++代码在编译时,编译器将源码翻译成CPU可识别的指令序列并生成可执行代码,而最终代码的运行效率取决于由编译器生成的可执行代码。
    发表于 08-03 10:56 337次阅读

    编译器和解释器的区别

    编译器(compiler)对于我们并不陌生,它主要为程序设计语言提供服务,它将各种各样的程序设计语言(比如:C、C++、RUST、JAVA等)进行处理,翻译成我们底层的计算机能够理解并
    发表于 08-01 11:08 1142次阅读
    <b class='flag-5'>编译器</b>和解释器的区别

    Fortran的程序,要翻译成matlab

    不知有哪位大神,能帮下忙,有段Fortran的程序,要翻译成matlab,翻译些但数据不
    发表于 02-18 20:58

    cold crank, warm crank 具体翻译成中文是什么

    cold crank, warm crank 翻译成中文具体是什么场景, 越详细越好!想入门汽车电子的小白现行谢过!
    发表于 05-23 14:26

    请问snap翻译成中文是什么?

    snap翻译成中文是什么 我查没有对应的翻译
    发表于 05-07 07:35

    请问spartan3an支持mcs程序翻译成位?

    我的合作伙伴项目交给我。它由pcb布局,sch,FPGA Mcs组成。主设备是spartan3an。在影响中,Ididnot发现它支持mcs文件。mcs可以翻译成位吗?以上来自于谷歌翻译以下为原文
    发表于 07-18 09:43

    怎么符号翻译成节拍?

    你好,我想了解符号翻译成节拍的方法,反之亦然。在MLA中,在文件..h中写入://Time单元,它是根据IEEE 802.15.4规范定义的。/
    发表于 09-11 11:38

    是否有些文档描述了所有的SuxBuffTynXXXX编译器功能?

    是否有些文档描述了所有的SuxBuffTynXXXX编译器功能(如:(我的意思是翻译成汇编),我需要翻译到另一个
    发表于 03-06 06:42

    学习单片机过程中对编译原理的学习理解 精选资料推荐

    这个头文件的源文件。2.编译编译器对各个源文件中的代码进行语法分析,并将代码语言翻译成汇编语言,再将汇编语言翻译成机器语言(有些编译过程直接
    发表于 07-14 08:12

    元素化学反应手册

    元素化学反应手册系统地叙述了周期系各元素单质与空气、水、单质、无机化合物、有机化合物的化学反应生成物及生成物性质、反应式、反应条件与说明。所讨论的元素包括氢
    发表于 11-30 11:20 0次下载
    元素<b class='flag-5'>化学反应</b>手册

    碳锌电池化学反应

    碳锌电池化学反应 碳锌电池的容器是一个锌罐。里面有一层由NH4Cl和ZnCl2所构成的糊状液体,这个糊状液体通过一
    发表于 10-20 10:30 3230次阅读

    数字设计FPGA应用:编译器的设计及RTL分析

    编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序
    的头像 发表于 12-04 07:07 1850次阅读
    数字设计FPGA应用:<b class='flag-5'>编译器</b>的设计及RTL分析

    为什么国内将silicon翻译成硅而不是矽

    提到半导体,大家都知道各种处理器、闪存、内存等芯片都是基于半导体技术的,而我们现在常用的半导体实质上是硅基半导体,硅是这个行业最重要的材料。说到硅,很多人也见过另一个词矽,为什么国内现在翻译成硅而不是矽了呢?
    的头像 发表于 12-21 11:25 5160次阅读

    华为编译器吴峰的自述

    我是翻译官优化师 吴锋 2015年我加入华为中软院编译器实验室,那时候它还叫欧拉六部。 其实程序员敲代码写的编程语言机器是看不懂的,需要先翻译成汇编语言,也就是一条条指令,再转换成二进
    的头像 发表于 10-16 12:02 2152次阅读

    如何使用模仿患者声音的计算机程序将文本重新翻译成语音

    的新记录,带来了前所未有的将大脑信号翻译成句子的能力——速度接近正常语音,词汇量超过1000个单词。这些进步为那些不能说话的人提供了以接近对话水平的速度进行交流的能力,甚至展示了如何使用模仿患者声音的计算机程序将文本重新翻译成
    的头像 发表于 09-04 11:33 536次阅读
    如何使用模仿患者声音的计算机<b class='flag-5'>程序</b>将文本重新<b class='flag-5'>翻译成</b>语音