德克薩斯大學(xué)奧斯汀分校的研究人員創(chuàng)造了一種新的編程語(yǔ)言CRN++,旨在設(shè)計(jì)合成分子并對(duì)其進(jìn)行編程,通過(guò)編程分子定義它們之間的化學(xué)反應(yīng)。研究人員還開(kāi)源代碼,包括CRN ++,以及模擬框架。
合成生物學(xué)是一個(gè)相對(duì)較新的研究領(lǐng)域,可能會(huì)對(duì)生物學(xué)、納米制造、醫(yī)學(xué)等許多領(lǐng)域產(chǎn)生重大影響。這個(gè)新興領(lǐng)域的一個(gè)主要挑戰(zhàn)是在無(wú)法插入電子微控制器的情況下,在分子環(huán)境中嵌入計(jì)算。要做到這一點(diǎn),需要開(kāi)發(fā)出可以使用分子成分有效表示計(jì)算的方法。
德克薩斯大學(xué)奧斯汀分校的一組研究人員創(chuàng)造了一種新的編程語(yǔ)言CRN++,這是一種在執(zhí)行計(jì)算時(shí)編程確定性(質(zhì)量作用)化學(xué)動(dòng)力學(xué)的新語(yǔ)言。他們?cè)赼rXiv預(yù)印版論文中描述了這種新語(yǔ)言,并構(gòu)建了一個(gè)將CRN++程序翻譯成化學(xué)反應(yīng)的編譯器。
論文地址:https://arxiv.org/pdf/1809.07430.pdf
“合成生物學(xué)的一個(gè)關(guān)鍵技術(shù)挑戰(zhàn)就是設(shè)計(jì)一種在細(xì)胞環(huán)境中相互作用的化學(xué)控制器,以完成特定的任務(wù),”這項(xiàng)研究的研究人員之一Marko Vasic說(shuō):“為了實(shí)現(xiàn)這一目標(biāo),有必要設(shè)計(jì)合成分子并對(duì)其進(jìn)行編程。分子通過(guò)化學(xué)反應(yīng)相互作用,而通過(guò)編程分子,我們可以定義它們之間的相互作用規(guī)則(化學(xué)反應(yīng))?!?/p>
Euclid算法以及如何用CRN++編寫(xiě)圖片來(lái)源:Vasic et al.
最近,DNA合成取得的進(jìn)展為分子工程開(kāi)辟了新的、令人興奮的可能性。然而,合成生物學(xué)的研究人員首先需要找到設(shè)計(jì)相互作用規(guī)則(化學(xué)反應(yīng))的方法,以達(dá)到預(yù)期目標(biāo)。這項(xiàng)研究的主要目的是設(shè)計(jì)一種能夠以更直觀的方式表達(dá)化學(xué)反應(yīng)行為的高級(jí)語(yǔ)言。
Vasic解釋說(shuō):“在軟件工程中,程序員用一種易于理解的高級(jí)語(yǔ)言編寫(xiě)程序,這樣的程序被編譯成機(jī)器代碼,這些代碼人類(lèi)難以理解,但機(jī)器可以理解?!?“我們?cè)噲D通過(guò)定義一種高級(jí)語(yǔ)言來(lái)建立分子編程中的類(lèi)比,這種語(yǔ)言更容易理解,也更容易編譯成‘復(fù)雜的’化學(xué)。”
編譯器的輸出以及CRN++程序的模擬結(jié)果。 圖片來(lái)源:Vasic et al.
CRN++基于兩個(gè)想法:模塊化和振蕩器(oscillator)的使用。模塊化意味著該語(yǔ)言包含一組稱為模塊(modules)的化學(xué)反應(yīng),這些化學(xué)反應(yīng)可以在不同的反應(yīng)集之間不受干擾地組成。為了實(shí)現(xiàn)這一點(diǎn),研究人員將CRN++的基本操作映射到這些模塊。他們還使用了一個(gè)化學(xué)振蕩器(chemical oscillator)來(lái)進(jìn)行時(shí)間排序,這樣他們就能夠?qū)⒄Z(yǔ)言中的有序命令翻譯成化學(xué)。
“據(jù)我們所知,我們是第一個(gè)提供符合化學(xué)反應(yīng)網(wǎng)絡(luò)的命令式編程語(yǔ)言的團(tuán)隊(duì),”Vasic說(shuō)?!拔覀冮_(kāi)源了代碼,包括CRN++,以及模擬框架,因?yàn)槲覀兿M@將幫助研究人員更容易嘗試新的方法,從而進(jìn)一步推進(jìn)該領(lǐng)域的研究。”
研究人員對(duì)CRN++進(jìn)行了評(píng)估,并證明了其在一系列離散和實(shí)值計(jì)算算法上的可行性。新語(yǔ)言還可以輕松擴(kuò)展,以支持新的命令或?qū)崿F(xiàn),使其成為開(kāi)發(fā)更高級(jí)的分子程序的理想基礎(chǔ)。
“從CRN++翻譯成化學(xué)的程序包含一些錯(cuò)誤,這些錯(cuò)誤在某些類(lèi)別的程序中可能非常低,但在其他程序中可能很高,或隨著時(shí)間的推移錯(cuò)誤會(huì)逐漸增加,”Vasic說(shuō):“因此,我們計(jì)劃進(jìn)一步調(diào)查錯(cuò)誤來(lái)源并設(shè)計(jì)程序,以確保錯(cuò)誤不會(huì)超過(guò)一定的界限?!?/p>
Vasic和他的同事們也希望通過(guò)包含新的模塊來(lái)擴(kuò)展他們的編程語(yǔ)言,這些模塊被定義為可以執(zhí)行基本操作的化學(xué)反應(yīng)集。
-
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1956瀏覽量
36708 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50247
原文標(biāo)題:新編程語(yǔ)言CRN++誕生:用來(lái)編程化學(xué)反應(yīng)
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Loop Interchange如何幫助編譯器生成更高效的可執(zhí)行代碼
編譯器和解釋器的區(qū)別

怎么將符號(hào)翻譯成節(jié)拍?
是否有一些文檔描述了所有的SuxBuffTynXXXX編譯器功能?
元素化學(xué)反應(yīng)手冊(cè)

編譯器知識(shí)拾零
數(shù)字設(shè)計(jì)FPGA應(yīng)用:編譯器的設(shè)計(jì)及RTL分析

為什么國(guó)內(nèi)將silicon翻譯成硅而不是矽
華為編譯器吳峰的自述
借助手部動(dòng)作控制機(jī)械臂的手語(yǔ)翻譯成文本和語(yǔ)音手套

編寫(xiě)一個(gè)LISP到JS編譯器的全過(guò)程
如何使用模仿患者聲音的計(jì)算機(jī)程序將文本重新翻譯成語(yǔ)音

評(píng)論