肖 瑋, 強(qiáng)小利
(廣州大學(xué) 計算科技研究院, 廣東 廣州 510006)
DNA是生物遺傳信息的天然載體,它也可以作為可編程計算納米材料使用[1].研究人員使用人工合成DNA編碼序列實現(xiàn)了諸如可編程DNA納米結(jié)構(gòu)[2-5]、DNA信息存儲[6-7]、分子邏輯計算[8-10]等.
DNA計算模型首先由Adleman[11]于1994 年提出.它的最大優(yōu)點是充分利用了DNA分子具有海量存儲的能力, 以及生化反應(yīng)的海量并行性[12].近些年,許進(jìn)等在利用DNA性質(zhì)進(jìn)行高效計算上有較大突破[13-14].DNA計算的一個重要研究方向是DNA鏈置換技術(shù)(DSD)[15].DNA鏈置換是在DNA粘貼模型基礎(chǔ)上發(fā)展起來的一種動態(tài)DNA分子計算方法[16],它可以通過腳點完成各種復(fù)雜的動態(tài)DNA粘貼反應(yīng).DNA分子邏輯電路的實現(xiàn)需要由很多基礎(chǔ)門電路組成,而DNA鏈置換技術(shù)在組成各種基礎(chǔ)的分子門電路上給研究人員提供了極大的便利,可以說,DNA鏈置換技術(shù)促進(jìn)了DNA計算研究的發(fā)展,在DNA計算機(jī)的研究中起著至關(guān)重要的作用.
在之前的一些研究工作中,很多研究人員通過級聯(lián)組合一些簡單的門電路,實現(xiàn)了復(fù)雜的邏輯電路系統(tǒng),如2006年,Seelig等[17]構(gòu)造了三種基本邏輯門,包括AND、OR和NOT邏輯門,并通過級聯(lián)形成多層邏輯放大器電路,其分子邏輯運算的反應(yīng)機(jī)制完全依賴于鏈置換和序列識別.2011年,Qian等[18]通過DNA鏈置換的級聯(lián)實現(xiàn)了Hopfield聯(lián)想記憶神經(jīng)網(wǎng)絡(luò)計算.該網(wǎng)絡(luò)使用112條不同的DNA鏈組成4個完全連接的Hopfield網(wǎng)絡(luò)聯(lián)想記憶計算過程.為了組裝大規(guī)模的電路,Qian等[19]提出了蹺蹺板邏輯門并驗證了其能力,將其級聯(lián)并并聯(lián)到大規(guī)模邏輯電路中.近些年,Zhang[20]開發(fā)了一種基于邏輯的方法,通過級聯(lián)DNA鏈位移來操縱硫化DNA物種與AuNPs的結(jié)合.利用該方法,建立了多個基于邏輯的操作系統(tǒng),同時引入了多種DNA信號.這些研究都證明了DNA分子構(gòu)建的邏輯運算系統(tǒng)具有獨特的可編程邏輯計算能力和級聯(lián)擴(kuò)展功能.但是,目前基于DNA鏈置換邏輯電路的實現(xiàn)大多過于繁瑣,需要高超的實驗技巧,難以大規(guī)模應(yīng)用于實驗室操作實現(xiàn).
針對現(xiàn)有的DNA鏈置換邏輯電路實現(xiàn)過于繁瑣的難題,筆者提出了一種新的更加簡潔高效的分子全加器的實現(xiàn)方法,通過國際通用的DNA鏈置換仿真軟件Visual DSD進(jìn)行了仿真計算分析,該軟件是牛津大學(xué)的Lakin等[21]通過描述DSD編程語言和編譯器實現(xiàn)的.仿真結(jié)果表明,這一全加法電路具有很好的穩(wěn)定性,具備大規(guī)模級聯(lián)組裝實現(xiàn)基于全加器的四則運算分子電路系統(tǒng)的潛力,本文為分子計算模擬大規(guī)模邏輯運算電路的研究提供了理論基礎(chǔ).
本文設(shè)計的加法器邏輯電路由與門和異或門組成,通過DNA鏈置換設(shè)計了這兩種基本電路門,并且構(gòu)造了一個多輸入全加器,這些門的結(jié)構(gòu)如表1所示.半加器的電路結(jié)構(gòu)如圖1所示,全加器的電路結(jié)構(gòu)如圖2所示.
圖1 半加器的電路結(jié)構(gòu)Fig.1 Logic circuit structure of the half adder
表1 兩個基礎(chǔ)電路門(與門和異或門)Table 1 Basic circuit gates (and gate and xor gate)
異或門由一個包括t1,t2,t3三個不同腳點域的基底構(gòu)成,當(dāng)輸入鏈進(jìn)入異或門發(fā)生反應(yīng)后,會置換出帶有熒光標(biāo)記的信號鏈,通過信號鏈的濃度來判斷輸出的結(jié)果,DSD模擬實驗可以證明,當(dāng)輸入鏈和基底全都過量時,通過設(shè)定joint4(圖2)的濃度就可以知道信號鏈在各種輸入情況下對應(yīng)的濃度.圖3為各種情況下輸入對應(yīng)的熒光值柱狀圖.圖3可見,當(dāng)joint4設(shè)定為100 nM時,信號鏈的濃度會固定在0,100,200,300這四個值之間,當(dāng)濃度為0和200時輸出“0”,當(dāng)濃度為100和300時輸出“1”.通過模擬實驗可以發(fā)現(xiàn),這樣設(shè)計異或門的好處在于反應(yīng)過程簡單,避免生產(chǎn)過多復(fù)雜的產(chǎn)物干擾其他的反應(yīng)過程.雖然有四個輸出,但通過判斷濃度可以得到二元結(jié)果,因此該方法可以應(yīng)用于二元系統(tǒng).
圖2 全加器的電路結(jié)構(gòu)Fig.2 Logic circuit structure of the full adder
圖3 各種情況下輸入對應(yīng)的熒光值柱狀圖Fig.3 Histogram of fluorescence values corresponding to various inputs
利用這兩個基本邏輯門,構(gòu)造一個加法器的邏輯電路.該電路的結(jié)構(gòu)如圖2所示.
由圖2可見,初始輸入鏈為帶有腳點域t1和域A的input1、帶腳點域t2和域A的input2以及帶腳點域t3和域A的input3.當(dāng)input1,input2和input3輸入時,會同時和joint1,joint2,joint3進(jìn)行與門反應(yīng)以及和joint4進(jìn)行異或門反應(yīng).當(dāng)input1,input2,input3傳輸?shù)絡(luò)oint1,joint2,joint3時,它們將會和里面的基底發(fā)生反應(yīng).如果有2個以上的輸入,那就會產(chǎn)生代表進(jìn)位的輸出鏈c.在第二個反應(yīng)途徑中,input1,input2,input3傳輸?shù)絡(luò)oint4中,并與其中的基底發(fā)生反應(yīng),產(chǎn)生代表加法結(jié)果的輸出信號鏈s.可根據(jù)信號鏈的濃度來判斷加法結(jié)果是“1”還是“0”.真值表如表2所示,反應(yīng)網(wǎng)絡(luò)如圖4所示.
表2 邏輯電路真值表Table 2 Truth table of the logic circuit
圖4 全加器邏輯電路的反應(yīng)網(wǎng)絡(luò)Fig.4 Reaction network of the full adder logic circuit
仿真結(jié)果(圖5)和真值表(表2)根據(jù)不同的輸入顯示輸出信號.仿真實驗中除了joint4設(shè)定為100 nM,其他的反應(yīng)物都設(shè)定為過量(5 000 nM),這樣的設(shè)定一是為了固定信號鏈s的濃度,方便之后做級聯(lián)電路的時候可以提前知道代表“1”和“0”的濃度,二是為了產(chǎn)出大量的進(jìn)位鏈C,這樣才能使級聯(lián)的下一個反應(yīng)中進(jìn)位鏈C可以達(dá)到過量.
圖5 邏輯電路的DSD仿真結(jié)果Fig.5 DSD simulation results of the logic circuits注:括號中的數(shù)字是代表各種情況的邏輯輸入和輸出.(輸入1,輸入2,輸入3;加法結(jié)果s,進(jìn)位c)
筆者將這兩個反應(yīng)集成到一個支持多位輸入的級聯(lián)加法器上,由于最終產(chǎn)物代表進(jìn)位的鏈C和輸入鏈具有一樣的置換域,所以只需要在接下來的級聯(lián)電路中替換掉以上邏輯電路中的一些腳點就可以實現(xiàn).然后將四個一位加法器串聯(lián)起來,就實現(xiàn)了四位加法器邏輯電路,仿真實驗如圖6所示.反應(yīng)網(wǎng)絡(luò)如圖7所示.
圖6 仿真實驗圖Fig.6 Simulation experiment diagram
圖7 多位輸入加法器的反應(yīng)網(wǎng)絡(luò),由DSD仿真軟件自動生成Fig.7 Response network of multi-bit input adder automatically generated by DSD simulation software
每個加法器完成鏈置換反應(yīng)后產(chǎn)出的進(jìn)位鏈C都會比上一個域的進(jìn)位鏈多一個A(圖8).
圖8 四個加法器級聯(lián)成為四位全加器Fig.8 Four-bit Full Adder using cascading four Adders
為了避免出現(xiàn)破壞上一個加法器與門規(guī)則的情況,在每個加法器的基底上也加了一個域A,每發(fā)生一次級聯(lián),下一個加法器的基底就要加上一個域A,這樣可以保證上一個加法器中的秩序不會被破壞.每次級聯(lián)之后進(jìn)位鏈C的域變化如圖9所示.
圖9 每次級聯(lián)之后進(jìn)位鏈C的域變化Fig.9 Change of domain of carry strand C after each cascade
筆者與以前的一些研究[22-24]進(jìn)行了比較,見表3~表5.DSD所需的能量來自分子熱運動,其功耗和能耗都很低,因此,不需要比較功耗和能耗.所以在相同的輸入條件下比較了反應(yīng)時間.
表3 和Jiang研究的反應(yīng)速度比較Table 3 Comparison with Jiang’s research on reaction speed
表4 和Lederman研究的反應(yīng)速度比較Table 4 Comparison with Lederman’s research on reaction speed
DNA分子計算的鏈置換反應(yīng)機(jī)制是通過設(shè)定好的腳點域來精準(zhǔn)地完成一系列可編程邏輯運算的生化反應(yīng)過程,利用動態(tài)的腳點域能完成各種各樣的DNA分子計算操作.由于DSD分子計算的動態(tài)特性,使得這一方法在進(jìn)行分子運算邏輯設(shè)計的時候非常靈活和方便,一經(jīng)問世就深受研究人員們的喜愛,但是也正是因為它的靈活性以及腳點域的不穩(wěn)定性,導(dǎo)致反應(yīng)中也會經(jīng)常出現(xiàn)意想不到的副反應(yīng),有時候甚至?xí)a(chǎn)生很復(fù)雜的二級產(chǎn)物以及泄露過程[25].本文的邏輯設(shè)計避免了這些問題,并通過Visual DSD模擬實驗驗證了該設(shè)計,這一方法只在邏輯電路中設(shè)計必要的域,讓反應(yīng)盡量少產(chǎn)出會產(chǎn)生干擾的二級結(jié)構(gòu),使得邏輯電路保持簡潔高效.同時,基于這一原則設(shè)計的多種邏輯門構(gòu)建的多位輸入加法器也具有高效且簡潔的優(yōu)勢,組成該全加器邏輯電路的基礎(chǔ)門電路總和相較于同類研究的個數(shù)較少,涉及了更少的生化反應(yīng)過程,也避免產(chǎn)出一些復(fù)雜的二級產(chǎn)物,整個反應(yīng)過程高效且一目了然.進(jìn)一步的研究可以通過修改腳點域,不斷拓展這一加法器的輸入位.整個系統(tǒng)的仿真實驗結(jié)果表明,該電路具有強(qiáng)大的大規(guī)模計算能力和其他功能.這一研究為形成更復(fù)雜的分子邏輯電路結(jié)構(gòu)和功能奠定了基礎(chǔ),為DNA計算、生物檢測、納米電路等領(lǐng)域的發(fā)展提供了新的編碼設(shè)計思路.