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