江 鋒,林 定,唐麗玉,周 翔,陳崇成
(福州大學(xué)空間數(shù)據(jù)挖掘與信息共享教育部重點實驗室,福州大學(xué)地理空間信息技術(shù)國家地方聯(lián)合工程研究中心, 福建 福州 350108)
DNA分子結(jié)構(gòu)抽象、 微觀且復(fù)雜,初學(xué)者較難想象DNA雙鏈反向互補(bǔ)匹配的三維空間形態(tài)及其螺旋和解旋的動態(tài)過程. 通常采用圖片、 文字、 視頻等二維形式進(jìn)行說明[1],或者采用曲別針、 泡沫塑料、 橡皮泥等實物或者3D打印物類比DNA結(jié)構(gòu)的組分,逐個拼接形成DNA分子結(jié)構(gòu)示意模型,以增強(qiáng)三維效果[2]. 這些教學(xué)手段通常占用較多課堂時間、 形式單一、 信息傳遞效果不佳[3],而且受材料限制難以動態(tài)展示相關(guān)的DNA微觀生物過程,如堿基互補(bǔ)配對、 DNA復(fù)制等. 隨著計算機(jī)視覺技術(shù)快速發(fā)展,利用增強(qiáng)現(xiàn)實(augmented reality,AR)、 虛擬現(xiàn)實(virtual reality,VR)等技術(shù)手段呈現(xiàn)受時空限制而無法在現(xiàn)實世界中觀察和控制的現(xiàn)象具有顯著優(yōu)勢,如變化太快或太慢的微觀現(xiàn)象以及空間結(jié)構(gòu)復(fù)雜的物體等. 增強(qiáng)現(xiàn)實技術(shù)由虛擬現(xiàn)實技術(shù)發(fā)展而來,深度融合專業(yè)知識,將虛擬場景與真實場景實時精準(zhǔn)疊加,構(gòu)建沉浸式三維可視化場景, 在真實環(huán)境中增強(qiáng)感知體驗[4-5],培養(yǎng)探究式邏輯思維[6-7],是促進(jìn)認(rèn)知的一種新方法和支撐技術(shù)[8-9], 已在教育[10]、 古建筑物重建[11]、 旅游[12]等方面得到越來越廣泛的應(yīng)用. 大量事例說明了增強(qiáng)現(xiàn)實技術(shù)推動了生物化學(xué)教學(xué)的發(fā)展[13-14],現(xiàn)有軟件能夠模擬生物大分子結(jié)構(gòu)和功能之間的關(guān)系,如BiochemAR[15]、 CADD[16]、 ChemPreview[17]等. 但是這些工具都是面向大學(xué)課程和科學(xué)研究的,對硬件要求比較高,模型復(fù)雜,受實驗場地的限制等原因,難以大眾化使用.
生物大分子結(jié)構(gòu)的三維模擬是增強(qiáng)現(xiàn)實教學(xué)資源制作的關(guān)鍵,常結(jié)合曲線進(jìn)行可視化模擬,如GraphiteLifeExplorer[18]和cellVIEW[19]等軟件對DNA分子的建模. 本研究面向DNA知識初學(xué)者,利用基于自然特征識別的AR技術(shù)和曲線,實現(xiàn)了一種交互式參數(shù)化DNA三維動態(tài)模擬的方法,并研發(fā)了原型系統(tǒng),直觀形象地展示了DNA的多種三維構(gòu)象,動態(tài)模擬了堿基互補(bǔ)配對、 堿基對邊堆疊邊螺旋、 DNA復(fù)制的邊解旋邊半保留半不連續(xù)復(fù)制等微觀過程,增強(qiáng)用戶對DNA基本知識的認(rèn)知.
DNA分子是由一系列的磷酸、 脫氧核糖、 堿基(如腺嘌呤(A)、 鳥嘌呤(G)、 胸腺嘧啶(T)和胞嘧啶(C)),按一定的先后次序和相對空間位置關(guān)系,形成雙螺旋模式. DNA三維結(jié)構(gòu)特點[20]如圖1(a)所示:① 脫氧核糖(圖1(a)中Ci處)和磷酸(圖1(a)中Hi處)以磷酸二酯鍵交互連接成主鏈,外側(cè)的兩條主鏈以反向平行方式組成雙螺旋鏈的骨架; ② 堿基以氫鍵(圖1(a)中的紅色線段)相連,且遵循堿基互補(bǔ)配對的原則(A-T型2個氫鍵,C-G型3個氫鍵); ③ DNA分子在三維空間中有線狀(圖1(b)[20])、 環(huán)狀(圖1(c))等多種形態(tài),環(huán)狀DNA是對線性DNA的雙螺旋鏈參考中心軸進(jìn)行交互式仿射變換而得,具體詳見圖1(d)所示.
圖1 DNA雙螺旋結(jié)構(gòu)Fig.1 Structure of DNA double helix
1.1.1主鏈的模擬
以線狀DNA為例,構(gòu)建DNA主鏈的基本思想如下:首先,根據(jù)DNA三維結(jié)構(gòu)的直徑參數(shù),生成雙螺旋結(jié)構(gòu)的圓柱狀參考空間,以圓柱底面圓心為原點建立局部參考坐標(biāo)系F0,并令y軸與圓柱中心軸對齊; 其次,根據(jù)不同DNA模式參數(shù)的螺距d、 堿基對轉(zhuǎn)角θ等,構(gòu)建沿y軸位移d并繞y軸旋轉(zhuǎn)θ的仿射變換矩陣T,重復(fù)執(zhí)行一系列的T變換得到Fi,于是將雙螺旋鏈的參考中心軸(圖1(a)中的紅色虛線)離散化并計算得到堿基對的局部參考標(biāo)架集合F,其中Fi(0≤i≤n)為各個堿基對的局部參考標(biāo)架; 接著,根據(jù)不同DNA模式參數(shù)(如磷酸和脫氧核糖相對于堿基對的扭轉(zhuǎn)參數(shù)),結(jié)合堿基對的局部參考坐標(biāo)系Fi,計算雙螺旋鏈上磷酸的局部參考標(biāo)架集合Hi和脫氧核糖局部參考標(biāo)架集合Ci,其中(0≤i≤n); 然后,生成磷酸二酯鍵交替連接磷酸和脫氧核糖,形成DNA外側(cè)雙螺旋主鏈上的組分連接(如圖1(a)中的粉色線段),利用Hermite曲線將主鏈上的磷酸位點(圖1(a)中的紅點)進(jìn)行平滑渲染處理(如圖1(a)中的紫色曲線).
1.1.2堿基對邊螺旋邊堆疊的動態(tài)模擬
采用隨機(jī)游走模擬游離的堿基對f(即DNA的基本構(gòu)造單元脫氧核苷酸對)的邊螺旋邊堆疊形成DNA的動態(tài)過程,如圖1(a)所示. 在游離堿基對的初始位置(如圖1(a)中的J)和目標(biāo)位置(如圖1(a)中的B)間構(gòu)建隨機(jī)游走緩沖區(qū)(如圖1(a)中的淺黃色區(qū)域),游離堿基對f在該緩沖區(qū)內(nèi)按照設(shè)定隨機(jī)移動步長序列S={S1,S2,…,Si}和運動時間,在初始位置和目標(biāo)位置之間進(jìn)行插值,運用仿射變換將其放置到局部標(biāo)架Fi,模擬堿基一對一對地在雙螺旋空間中逐漸堆疊的動態(tài)過程.
動態(tài)堆疊脫氧核苷酸對后,每個脫氧核苷酸對仍為獨立個體,缺少磷酸二酯鍵的交替連接. 采用線段將相鄰脫氧核苷酸對上的同側(cè)Hi+1和Ci進(jìn)行連接,實現(xiàn)磷酸二酯鍵(如圖1(a)中的粉色線段)的模擬,形成類似鋸齒狀的雙螺旋結(jié)構(gòu). 為了美化雙螺旋結(jié)構(gòu)的視覺效果,本研究采用分段Hermite曲線對位于雙螺旋外側(cè)兩條主鏈上的磷酸(圖1(a)中的Hi)進(jìn)行平滑,如公式(1)所示:
Q(t)=T·Mh·Gh(0≤t≤1)
(1)
用戶可交互式選擇常見的線狀DNA類型,依據(jù)不同的結(jié)構(gòu)參數(shù)更新圓柱狀參考空間和仿射變換矩陣T,計算每組脫氧核苷酸對上的Fi、Hi和Ci,實現(xiàn)對DNA雙螺旋結(jié)構(gòu)的交互式參數(shù)化模擬.
1.1.3非線狀結(jié)構(gòu)的模擬
在三維空間中DNA分子有線狀、 環(huán)狀、 螺線管狀和彎曲纏繞狀等多種形態(tài),線狀DNA三維結(jié)構(gòu)是非線狀結(jié)構(gòu)的基礎(chǔ). 非線狀DNA三維形態(tài)模擬的基本思想是:首先,按小節(jié)1.1.1~1.1.2方法生成線狀DNA三維模型; 接著,采用文獻(xiàn)[21]的方法,用Bezier曲線對雙螺旋鏈參考中心軸進(jìn)行交互式仿射變換,計算非線狀雙螺旋繞轉(zhuǎn)的中心軸線,更新其離散化成局部參考標(biāo)架集合F,如圖1(d)所示; 然后,利用仿射變換矩陣級聯(lián)乘法運算,更新非線狀DNA結(jié)構(gòu)主鏈上各組脫氧核糖和磷酸的局部參考標(biāo)架Hi和Ci,根據(jù)這些標(biāo)架放置DNA分子的各相應(yīng)組分,形成非線狀DNA三維結(jié)構(gòu),其中,環(huán)狀DNA分子的雙螺旋結(jié)構(gòu)如圖1(c)所示.
表1 常見DNA模式參數(shù)
為拓展用戶對DNA三維結(jié)構(gòu)和功能的認(rèn)識,促進(jìn)探究性學(xué)習(xí),模擬表1中所示的常見DNA的三維構(gòu)象. 根據(jù)表中的結(jié)構(gòu)參數(shù),采用交互式參數(shù)化建模方法模擬,讓用戶體驗相同的組成元件因不同的空間布局而造成的三維結(jié)構(gòu)差異,探索DNA三維結(jié)構(gòu)和功能之間的關(guān)系. 仍以線狀DNA為例,不同模式DNA的雙螺旋結(jié)構(gòu)參數(shù)的計算如圖2(a)所示,交互式變換結(jié)構(gòu)參數(shù),實現(xiàn)對B-DNA和A-DNA的三維結(jié)構(gòu)表達(dá),如圖2(b)所示.
圖2 不同模式的DNA結(jié)構(gòu)參數(shù)化表達(dá)Fig.2 Parametric expression of DNA structure in different modes
假設(shè)y軸為螺旋參考中心軸,根據(jù)下式計算1.1節(jié)中堿基對單元的局部參考標(biāo)架Fi的局部坐標(biāo)系原點:
[xiyizi1]=[xi-1yi-1zi-11]T
(2)
其中: (x0,y0,z0)為雙螺旋結(jié)構(gòu)的圓柱狀參考空間的底面圓心坐標(biāo),即局部坐標(biāo)系F0的原點;T為仿射變換矩陣,根據(jù)不同的DNA模式參數(shù)計算變換矩陣T, 如以下表達(dá)式所示:
(3)
式中:θ為相鄰堿基對之間的旋轉(zhuǎn)角度,A-DNA為33.6,B-DNA為36;m為一對堿基之間相互推擠而產(chǎn)生的相對于雙螺旋中心軸的偏移距離,m非零時,形成如A-DNA三維空間形態(tài)的“中空”現(xiàn)象,m取0時為B-DNA.
用戶可交互式選擇DNA類型,改變結(jié)構(gòu)參數(shù),得到不同模式DNA的三維構(gòu)象,如圖2(b)所示. DNA的三維物理結(jié)構(gòu)呈現(xiàn)空間不均一性,在螺旋軸方向上主鏈與堿基沒有完全充滿雙螺旋空間,呈現(xiàn)“大溝”和“小溝”的現(xiàn)象,為藥物蛋白功能結(jié)合.
DNA復(fù)制是重要的微觀生物過程,不可直接觀察且難以理解,利用移動增強(qiáng)現(xiàn)實技術(shù)實現(xiàn)DNA復(fù)制過程的動態(tài)模擬,有助于提高初學(xué)者對DNA知識的掌握程度. DNA復(fù)制過程的原理如圖3(a)所示. 首先,利用參數(shù)化模擬方法生成DNA的雙螺旋三維結(jié)構(gòu),并使用Tag設(shè)定解旋初始位置; 其次,構(gòu)造一個緩沖區(qū)(如圖中3(a)的綠色區(qū)域)跟隨在復(fù)制叉周圍,在該緩沖區(qū)內(nèi)隨機(jī)地(包括隨機(jī)類型、 隨機(jī)位置、 隨機(jī)運動方向等)生成游離的脫氧核苷酸; 然后,采用基于自然特征的識別和跟蹤技術(shù),通過標(biāo)識物的碰撞檢測觸發(fā)DNA在復(fù)制叉處邊解旋邊復(fù)制的交互式模擬, 如圖3(b)所示,具體步驟如下.
步驟1對用于進(jìn)行場景交互操作的實物標(biāo)識物圖像(如表征限制酶)提取特征點信息并保存;
步驟2程序運行時,相機(jī)實時捕捉真實場景信息,在當(dāng)前幀圖像中,識別并提取標(biāo)識物圖像的特征信息而后保存;
步驟3利用特征匹配方法,對標(biāo)識物圖像的兩組特征點進(jìn)行匹配,若匹配失敗則忽略,若匹配成功,則轉(zhuǎn)向下一步;
步驟4利用標(biāo)識物圖像特征點對的匹配信息,計算相機(jī)位姿的變換關(guān)系,對當(dāng)前視頻幀中的標(biāo)識物進(jìn)行定位;
步驟5利用相機(jī)位姿信息設(shè)置虛擬場景相機(jī)的相關(guān)參數(shù),將虛擬DNA三維模型渲染到當(dāng)前視頻幀中;
步驟6采用基于包圍盒的碰撞檢測,在當(dāng)前視頻幀中的標(biāo)識物位置處,渲染跟隨標(biāo)識物運動的疊加場景,如DNA復(fù)制過程中動態(tài)移動的復(fù)制叉、 跟隨復(fù)制叉的緩沖區(qū)以及緩沖區(qū)內(nèi)的游離堿基對等,模擬DNA邊解旋邊復(fù)制的動態(tài)過程; 若DNA復(fù)制結(jié)束則停止,否則,返回步驟3.
通過實物標(biāo)識物的識別、 跟蹤和交互操作,對占用相同屏幕空間的兩個或多個不可穿透的物體進(jìn)行消隱或半透明處理,實現(xiàn)場景位移、 縮放、 旋轉(zhuǎn)等變換,以及物體拾取、 觸發(fā)子場景渲染等功能. 如圖3(a)所示,操縱代表解旋酶/聚合酶的標(biāo)識物圖像,執(zhí)行層次包圍盒碰撞檢測,若疊加的酶模型(圖3(a)中的粉色塊狀物體)與螺旋鏈上堿基發(fā)生碰撞,則觸發(fā)解旋事件,在發(fā)生碰撞處渲染復(fù)制叉并構(gòu)建與復(fù)制叉正交的緩沖區(qū); 緩沖區(qū)內(nèi)隨機(jī)生成游離脫氧核苷酸. 游離的脫氧核苷酸按預(yù)設(shè)的隨機(jī)步長序列和運動時間,從初始位置移動至目標(biāo)位置,與母鏈(圖3(a)中的紅色曲線)上裸露堿基碰撞生成氫鍵,模擬動態(tài)“吸附”的效果. 前導(dǎo)鏈上從5′至3′復(fù)制生成新子鏈(圖3(a)中的紫色曲線),后隨鏈上形成岡崎片段(圖3(a)中的藍(lán)色曲線),以鏈表形式記錄岡崎片段的空間位置; 對代表連接酶標(biāo)識物的圖像進(jìn)行識別和跟蹤,獲取鏈表中存儲的位置信息,觸發(fā)渲染磷酸二酯鍵和后隨鏈新鏈的右螺旋子場景.
圖3 基于圖像的AR交互設(shè)計Fig.3 Design of image-based AR interactive
互補(bǔ)配對的堿基之間才能形成氫鍵,維持雙螺旋結(jié)構(gòu)的穩(wěn)定性. 為增加趣味性,本研究模仿連連看游戲,通過隨機(jī)組合兩條單鏈上的堿基對,設(shè)計了包含不同錯誤率的實驗. 采用雙向鏈表結(jié)構(gòu)存儲DNA螺旋雙鏈結(jié)構(gòu)中的鏈1#和鏈2#上的堿基,堿基取值如表2所示. 重載運算符實現(xiàn)對鏈表結(jié)點的直接訪問,對鏈1#和2#上相同索引的結(jié)點數(shù)據(jù)(即堿基)執(zhí)行位異或運算,位異或運算值為11則堿基匹配成功,否則匹配失?。?對匹配失敗的堿基對,設(shè)定A-T-C-G的輪播循環(huán)糾錯規(guī)則,結(jié)合觸屏點選的交互操作,對鏈1#和鏈2#上錯配堿基進(jìn)行“翻牌”式糾正,糾錯成功時觸發(fā)生成氫鍵.
表2 堿基的取值
本研究還集成了RTVoice和百度語音識別,實現(xiàn)觸屏、 語音、 實物等多通道交互功能. 移動端手勢觸屏操作中的單點劃動,依據(jù)劃動的距離實現(xiàn)對DNA三維模型的旋轉(zhuǎn),亦可喚醒虛擬按鍵,調(diào)用定制的響應(yīng)事件和模擬特效; 雙指交互操作可對三維場景進(jìn)行任意縮放操作,以便從多個角度觀察DNA細(xì)節(jié). 語音和實物交互,使虛實融合場景具有更好的用戶體驗,如即時語音播報DNA的相關(guān)知識、 DNA實驗操作的講解、 即時錯誤提示等.
基于AR的移動DNA應(yīng)用的開發(fā)流程如圖4所示. 利用Autodesk 3ds Max構(gòu)建DNA模型的各個元件,如脫氧核苷酸、 酶、 堿基等; 在Visual Studio2017開發(fā)環(huán)境中集成Unity3D和Vuforia SDK,實現(xiàn)了AR標(biāo)識物的檢測和追蹤、 DNA的三維構(gòu)象以及復(fù)制過程的動態(tài)模擬,具備單點/多點觸控交互、 語音輔助、 實物交互等多模態(tài)交互功能,設(shè)計了引導(dǎo)、 激發(fā)自主學(xué)習(xí)的內(nèi)容; 采用趣味性游戲方式對課標(biāo)知識點進(jìn)行延伸,適用不同知識水平用戶的探究性學(xué)習(xí).
系統(tǒng)在功能上主要劃分為三大模塊:知識導(dǎo)覽模塊、 實驗操作模塊、 內(nèi)容回顧模塊. 知識導(dǎo)覽功能模塊包含了視頻學(xué)習(xí)功能,以視頻方式引導(dǎo)學(xué)生對相關(guān)知識的學(xué)習(xí)(如發(fā)現(xiàn)DNA雙螺旋結(jié)構(gòu)的故事、 DNA結(jié)構(gòu)的概念和DNA復(fù)制過程等),通過視覺和聽覺開展預(yù)習(xí),為實驗操作模塊做準(zhǔn)備. 實驗操作功能模塊目前實現(xiàn)了DNA三維結(jié)構(gòu)、 DNA復(fù)制、 構(gòu)建載體表達(dá)等內(nèi)容. 其中,DNA三維結(jié)構(gòu)模擬了堿基對動態(tài)堆疊的過程; DNA復(fù)制和構(gòu)建載體表達(dá)交互式模擬了AR場景中DNA邊解旋邊復(fù)制、 切割質(zhì)粒、 獲取和插入目的基因等微觀過程. 內(nèi)容回顧功能模塊包含練習(xí)題庫,收錄了常見題型以及高頻易錯題,用戶完成答題后,答錯處將觸發(fā)相關(guān)的正確解答內(nèi)容的講解.
圖4 系統(tǒng)實現(xiàn)的技術(shù)流程Fig.4 Flow of system implementation
本研究研發(fā)的是基于移動平臺的DNA三維模擬原型系統(tǒng). 為了測試該系統(tǒng)的用戶體驗,將開發(fā)的原型系統(tǒng),發(fā)布為面向Android系統(tǒng)的“.apk”文件,在20個中學(xué)生的手機(jī)上安裝和使用,同時收集測試者的反饋,如表3所示. 從數(shù)據(jù)中可見,本研究實現(xiàn)的視、 聽、 觸、 實物等多模態(tài)交互功能,受到中學(xué)生的普遍歡迎,運行效果如圖5所示. 基于AR的應(yīng)用程序能夠快速準(zhǔn)確地展示DNA三維結(jié)構(gòu),模擬堿基對邊堆疊邊螺旋的動態(tài)過程,靈活展示DNA復(fù)制過程,能夠有效增強(qiáng)學(xué)生對DNA知識的理解,提高學(xué)習(xí)效率.
表3 實驗者測試結(jié)果
圖5 系統(tǒng)運行效果Fig.5 Some scenarios of system
本研究實現(xiàn)一種交互式參數(shù)化模擬DNA三維構(gòu)象的方法,展示了參數(shù)差異導(dǎo)致DNA三維構(gòu)象不同的現(xiàn)象; 利用Hermite曲線平滑處理DNA雙螺旋骨架,采用Bezier曲線控制螺旋鏈的中心軸,形成環(huán)狀DNA等; 模擬了堿基對邊堆疊邊螺旋和DNA復(fù)制的微觀動態(tài)過程; 所研發(fā)的原型系統(tǒng)實現(xiàn)了語音、 實物等多通道交互功能,為用戶帶來舒適體驗. 該系統(tǒng)能夠利用實時顯示和AR交互的特性,以三維可視化的方式輔助初學(xué)者完成DNA基本結(jié)構(gòu)特征和復(fù)制過程的認(rèn)知學(xué)習(xí). 實驗結(jié)果表明, 該原型系統(tǒng)能夠快速高效地模擬出不同類型的DNA三維構(gòu)象,虛實結(jié)合可視化效果佳,系統(tǒng)提供的動態(tài)化學(xué)習(xí)引導(dǎo),有助于增強(qiáng)用戶對DNA知識的理解、 掌握. 借助移動增強(qiáng)現(xiàn)實技術(shù)的學(xué)習(xí)資源,可以打破時間和空間的約束,使用戶能夠隨時隨地學(xué)習(xí)DNA知識,沉浸式交互方式有利于引發(fā)更深層次的思考,培養(yǎng)探究式邏輯思維. 但參與測試的中學(xué)生中也存在因趣味性交互而陷入長時間使用電子屏幕的現(xiàn)象,可能帶來視力傷害.