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

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

    关注

    10

    文章

    1938

    浏览量

    34591
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49043

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    编译器和解释的区别

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

    Fortran的程序,要翻译成matlab

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

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

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

    怎么符号翻译成节拍?

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

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

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

    元素化学反应手册

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

    碳锌电池化学反应

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

    编译器知识拾零

    分享到: 编译器,是便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序编译器
    发表于 11-07 15:44 0次下载

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

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

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

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

    华为编译器吴峰的自述

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

    借助手部动作控制机械臂的手语翻译成文本和语音手套

    电子发烧友网站提供《借助手部动作控制机械臂的手语翻译成文本和语音手套.zip》资料免费下载
    发表于 10-21 11:57 0次下载
    借助手部动作控制机械臂的手语<b class='flag-5'>翻译成</b>文本和语音手套

    编写LISP到JS编译器的全过程

    编译器就是种语言(通常为高级语言)”翻译为“另种语言(通常为低级语言)”的程序
    的头像 发表于 01-13 09:28 1045次阅读

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

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