李曉燕 李建志 李京忠
[摘要] 基于分子對接的虛擬篩選方法已成為計算機(jī)輔助藥物研究領(lǐng)域的一項重要技術(shù),在揭示藥物與機(jī)體標(biāo)靶的作用機(jī)制以及藥品研發(fā)過程中發(fā)揮著非常大的作用。使用傳統(tǒng)的分子對接方法進(jìn)行虛擬藥物篩選,其操作流程復(fù)雜,無法實現(xiàn)自動對接以及計算結(jié)果自動收集。本文介紹的基于多虛擬機(jī)協(xié)同計算虛擬藥物篩選平臺,通過動態(tài)任務(wù)調(diào)度和腳本控制技術(shù),采用分布式架構(gòu)設(shè)計,實現(xiàn)了對接軟件的自動操控和計算結(jié)果的自動收集,有效減少了篩選時間,大幅提高了篩選效率。
[關(guān)鍵詞] 協(xié)同計算;虛擬藥物篩選;腳本控制;虛擬機(jī)
[中圖分類號] R914.2;TP393 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1673-7210(2018)06(a)-0146-04
[Abstract] The virtual screening method based on molecular docking has become an important technology in the field of computer aided drug research, which plays a very important role in revealing the mechanism of drug and the target of the body and in the process of pharmaceutical research and development. The traditional molecular docking method used in virtual drug screening is complex in the operation process, which cannot realize automatic docking and automatic collection of calculated results. Through dynamic task scheduling and script control technology and using distributed architecture design, the collaborative computing virtual drug screening platform based on multi virtual institutions introduced in this paper realizes automatic manipulation of docking software and automatic collection of calculated results, which reduces the screening time remarkably, and improve the screening efficiency greatly.
[Key words] Collaborative computing; Virtual drug screening; Script control; Virtual machine
虛擬藥篩選是通過計算機(jī)來模擬和預(yù)測藥物與生物大分子(受體)之間的作用關(guān)系,通過計算受體與配體的相互作用,篩選出在某些疾病中起到關(guān)鍵作用的先導(dǎo)化合物的方法[1]。隨著計算機(jī)科學(xué)的進(jìn)步和藥物篩選水平的完善,虛擬篩選方法已逐漸發(fā)展成為計算機(jī)輔助藥物設(shè)計的核心技術(shù)。虛擬篩選的目標(biāo)是在已有的分子庫中,挑選出新的先導(dǎo)化合物,減小化合物的篩選數(shù)量。為了提高篩選效率和命中率,通常利用高性能計算機(jī)進(jìn)行自動化的大規(guī)模藥物篩選,評估出分子的一般活性,明確方向,減少需要篩選的化合物的數(shù)目,進(jìn)而縮短研發(fā)周期和節(jié)省經(jīng)費[2]。本文介紹了在中藥治療冠心病藥物篩選中,利用多虛擬機(jī)協(xié)同計算和腳本控制技術(shù),通過部署桌面版Sybyl-X2.1 For Win軟件進(jìn)行虛擬藥物篩選的基本框架和實現(xiàn)方法。
1 基于分子對接的虛擬篩選
Sybyl-X2.1是專業(yè)分子模擬和藥物設(shè)計軟件,通過Sybyl-X對從蛋白質(zhì)三維數(shù)據(jù)庫(PDB)中下載的25個標(biāo)靶蛋白進(jìn)行分析和預(yù)處理,準(zhǔn)備蛋白結(jié)構(gòu)和進(jìn)行能量最小化處理。從中藥數(shù)據(jù)庫(TCMD)中選取1000個小分子配體構(gòu)建中藥小分子數(shù)據(jù)庫,并導(dǎo)入Sybyl-X軟件中,對小分子配體進(jìn)行預(yù)處理和優(yōu)化,以使配體分子更接近天然構(gòu)象,將已優(yōu)化好的1000個小分子配體保存為mol2 格式文件備用[3-4]。采用Sybyl-X軟件中的Surflex-dock模塊將中藥小分子數(shù)據(jù)庫中的小分子逐一與標(biāo)靶蛋白進(jìn)行柔性對接,尋找藥物小分子與標(biāo)靶蛋白作用的最佳構(gòu)象,計算其相互作用及結(jié)合能。使用打分函數(shù)進(jìn)行分子對接情況綜合打分,該值越大,對接復(fù)合物越穩(wěn)定,說明小分子化合物與標(biāo)靶蛋白的匹配結(jié)合作用越好。通過統(tǒng)計評分篩選出得分較高的化合物分析并評價,最終篩選出與標(biāo)靶蛋白結(jié)合最佳藥物分子,預(yù)測其生物活性和進(jìn)一步分析研究[5-7]。見圖1。
2 自動化操作的原理與實現(xiàn)
2.1 AutoIT3概述
AutoIT3是一款腳本控制程序,用于編寫Windows系統(tǒng)和軟件的自動化操控腳本。通過編寫腳本來模擬人工操作,從而實現(xiàn)對系統(tǒng)和軟件的自動化操控技術(shù)。凡是在計算機(jī)上需要手動完成的操作,尤其是經(jīng)常重復(fù)性的操作,都可以通過編寫AutoIT3腳本來自動完成[8]。
2.2 窗體控件定位
窗體控件的精確識別與定位以及選擇相對應(yīng)的函數(shù)來實現(xiàn)模擬操作是實現(xiàn)自動化操控的關(guān)鍵?!癉ocking”是Sybyl-X軟件對接窗體界面,主要包括文件路徑選擇、下拉列表的選擇、復(fù)選框、按鍵等控件以及參數(shù)設(shè)置。由于AutoIT3只能識別標(biāo)準(zhǔn)的Windows控件,“Docking”的窗體控件屬于非標(biāo)準(zhǔn)控件,其控件接口編號順序每次啟動都不一樣,造成無法單純依靠類和接口編號來精確定位相應(yīng)控件。為了使腳本操控過程能準(zhǔn)確定位相關(guān)控件,采用窗體控件相對坐標(biāo)與控件函數(shù)相結(jié)合的方式進(jìn)行定位操控[9-10]。利用“AutoIT3窗口信息工具”預(yù)先獲取窗體標(biāo)題和控件的相對坐標(biāo),通過編寫自定義函數(shù)Dock_Win()來完成標(biāo)靶蛋白和中藥小分子文件的加載,圖2展示了“Docking”窗口控件操控自定義函數(shù)代碼和含義。
2.3 “Docking”腳本控制流程
如圖3所示要實現(xiàn)分子對接的有序運(yùn)行,任務(wù)調(diào)度模塊起著關(guān)鍵作用。任務(wù)調(diào)度模塊從任務(wù)管理端讀取任務(wù)文件并加以分析,自動提取出標(biāo)靶蛋白和小分子配體文件加載到“Docking”窗口中的靶點蛋白和配體文件相應(yīng)選擇區(qū)域進(jìn)行對接操作。一個對接流程結(jié)束后,自動將計算結(jié)果上傳到管理控制端并在任務(wù)調(diào)度文件中進(jìn)行標(biāo)記,然后重新向任務(wù)調(diào)度模塊申請下一次任務(wù)。整個過程Sybyl-X軟件的運(yùn)行一直處于腳本程序的監(jiān)控之下,軟件的所有交互操作均由腳本程序自動控制完成。
3 虛擬化技術(shù)
虛擬化是一種資源管理技術(shù),是將計算機(jī)的物理資源,如服務(wù)器、網(wǎng)絡(luò)、內(nèi)存及存儲等,予以抽象后再呈現(xiàn)出來[11]。通過虛擬化一臺物理計算機(jī)可以虛擬成多臺邏輯計算機(jī),并擁有相互獨立的操作系統(tǒng)和應(yīng)用程序,各系統(tǒng)之間互不干擾[12]。
3.1 Hyper-V平臺及其特點
Hyper-V是微軟推出的一種虛擬化管理技術(shù),其主要作用就是管理、調(diào)度虛擬機(jī)的創(chuàng)建和運(yùn)行,并提供硬件資源的虛擬化。從圖4可以看出,Hyper-V采用了硬件、Hyper-V和虛擬機(jī)三層架構(gòu),Hypervisor是物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享硬件資源。虛擬機(jī)與硬件之間通過Hyper-V進(jìn)行連接,由于Hyper-V底層的Hypervisor代碼量很小,不包含任何第三方的驅(qū)動,可直接訪問物理服務(wù)器上的硬件資源。因此,虛擬機(jī)執(zhí)行效率高,其整體性能接近真實的操作系統(tǒng)[13-16]。
3.2 Hyper-V虛擬機(jī)的創(chuàng)建和配置
Hyper-V是Windows Server2012 R2的一個角色,在沒有應(yīng)用Hyper-V角色之前,Windows Server2012 R2只是一個單純的服務(wù)器操作系統(tǒng)。在部署Hyper-V角色后,作為宿主機(jī)存在的Windows Server2012 R2變成了第一臺虛擬機(jī),其硬件被Hypervisor接管。使用Hyper-V創(chuàng)建的Windows系統(tǒng)虛擬機(jī),其對物理內(nèi)存和設(shè)備的所有訪問都是通過虛擬機(jī)總線(VMBUS)提供的,其內(nèi)核模式下的虛擬化服務(wù)客戶端(VSC)組件,能通過虛擬化服務(wù)提供程序(VSP)的服務(wù)來完成對硬件的訪問。每一個設(shè)備類型,都有一對VSP/VSC來完成對這種類型硬件的使用。見圖4。
3.2.1 創(chuàng)建虛擬機(jī)母盤 通過Hyper-V管理器創(chuàng)建動態(tài)虛擬磁盤(20G)并安裝Windows7操作系統(tǒng),Windows7虛擬桌面通過密鑰管理服務(wù)器(KMS)進(jìn)行批量系統(tǒng)激活。開啟Windows7系統(tǒng)遠(yuǎn)程桌面服務(wù),并安裝虛擬機(jī)的集成服務(wù),以提高“虛擬機(jī)連接”和“遠(yuǎn)程桌面會話”用戶可操作性和桌面體驗;安裝桌面版Sybyl-X2.11 For Win軟件并進(jìn)行注冊授權(quán),安裝Sybyl-X腳本控制程序到系統(tǒng)中并確認(rèn)正常運(yùn)行。
3.2.2 基于差異磁盤的虛擬機(jī) 為實現(xiàn)虛擬機(jī)的快速部署,采用“母盤+差異磁盤”的形式。當(dāng)使用差異磁盤的虛擬機(jī)啟動系統(tǒng)時實際仍以母盤為基礎(chǔ)啟動,但在系統(tǒng)內(nèi)進(jìn)行的所有操作均保存在差異磁盤內(nèi),其母盤內(nèi)容保持不變,從而節(jié)省磁盤空間且并可快速創(chuàng)建虛擬機(jī)[17]。以母盤為基礎(chǔ)創(chuàng)建差異磁盤,根據(jù)需要復(fù)制多份差異磁盤文件并統(tǒng)一規(guī)范命名,創(chuàng)建N個虛擬機(jī)(可通過Windows Power Shell命令行工具或手工創(chuàng)建),使用差異磁盤作為虛擬機(jī)的虛擬硬盤,設(shè)置好虛擬機(jī)CPU和內(nèi)存以及網(wǎng)絡(luò)。
3.2.3 多虛擬機(jī)管理 RDCManV2.7(Remote Desktop Connection Manager)是微軟一款遠(yuǎn)程桌面管理工具。RDCMan通過RDP協(xié)議將多虛擬機(jī)連接成顯示矩陣,方便對虛擬機(jī)的操控,同時,RDCMan可直接連接到授權(quán)的Hyper-V服務(wù)器上,進(jìn)一步加強(qiáng)對虛擬機(jī)的管理。
4 多虛擬機(jī)協(xié)同計算框架
多虛擬機(jī)協(xié)同計算是指在虛擬化平臺上創(chuàng)建一定數(shù)量虛擬機(jī),同時將協(xié)同計算應(yīng)用程序封裝在虛擬機(jī)中,通過任務(wù)調(diào)度模塊使虛擬機(jī)之間的并行工作來加速任務(wù)的完成。多虛擬機(jī)協(xié)同計算的關(guān)鍵技術(shù)包括任務(wù)管理、資源管理和虛擬機(jī)調(diào)度,多虛擬機(jī)協(xié)同計算任務(wù)的分發(fā)部署起著關(guān)鍵作用[18]。將任務(wù)分解成多個子任務(wù),通過對子任務(wù)進(jìn)行特征和功能分析,構(gòu)建大小適中的子任務(wù)模型。多虛擬機(jī)協(xié)同計算的任務(wù)分發(fā)部署是由系統(tǒng)自動完成的,并可根據(jù)當(dāng)前系統(tǒng)的資源狀態(tài)進(jìn)行調(diào)整,無需人工干預(yù),從而提高任務(wù)分發(fā)部署的速度和可靠性[19]。
協(xié)同計算的主要目的是在短時間內(nèi)來完成復(fù)雜的計算,為數(shù)據(jù)的進(jìn)一步應(yīng)用奠定基礎(chǔ)[20]。在任務(wù)啟動運(yùn)行前,需將全部計算節(jié)點的虛擬機(jī)注冊到資源數(shù)據(jù)庫中,為協(xié)同計算任務(wù)做準(zhǔn)備。功能組成如圖5所示,任務(wù)調(diào)度模塊負(fù)責(zé)創(chuàng)建和分發(fā)子任務(wù),子任務(wù)劃分過程是一個動態(tài)的任務(wù)分解過程,依據(jù)虛擬機(jī)中子任務(wù)執(zhí)行狀態(tài)進(jìn)行任務(wù)分解。任務(wù)調(diào)度模塊將分解的子任務(wù)交給計算節(jié)點,節(jié)點狀態(tài)數(shù)據(jù)和計算結(jié)果上傳至任務(wù)調(diào)度模塊作為任務(wù)管理和調(diào)度的依據(jù)。具體來說就是將標(biāo)靶蛋白和藥物小分子依次自動加載到各節(jié)點的計算機(jī)中,通過虛擬機(jī)中腳本控制程序啟動Sybyl-X對接模塊進(jìn)行對接計算,運(yùn)行狀態(tài)自動上傳到協(xié)同計算管理控制端進(jìn)行收集和分析,其最終計算結(jié)果上傳到管理控制端保存,本次子任務(wù)結(jié)束后任務(wù)調(diào)度模塊自動為其分配下一次子任務(wù),其中個別子任務(wù)運(yùn)行出現(xiàn)問題由錯誤處理腳本判斷執(zhí)行,不會影響整個任務(wù)的執(zhí)行。
5 結(jié)語
基于分子對接的虛擬篩選方法已成為計算機(jī)輔助藥物研究領(lǐng)域的一項重要技術(shù),在揭示藥物與機(jī)體標(biāo)靶的作用機(jī)制以及藥品研發(fā)過程中發(fā)揮著非常大的作用。使用傳統(tǒng)的分子對接方式,無法實現(xiàn)自動對接以及結(jié)果文件的自動收集,需耗費大量的人力物力[21]。在借鑒當(dāng)前主流的協(xié)同計算系統(tǒng)的基礎(chǔ)上,將虛擬化技術(shù)、腳本控制技術(shù)以及任務(wù)管理技術(shù)等引入到協(xié)同計算中,構(gòu)建的基于多虛擬機(jī)的協(xié)同計算虛擬藥物篩選平臺,在實際的中藥治療冠心病虛擬藥物篩選應(yīng)用中,以1臺服務(wù)器虛擬40個虛擬機(jī)作為計算節(jié)點,在協(xié)同計算管理程序的調(diào)度下,各計算節(jié)點完全自動運(yùn)行,大幅減少了虛擬篩選所用時間,提高篩選效率。多虛擬機(jī)協(xié)同計算平臺,實現(xiàn)了桌面版Sybyl-X軟件的分布式架構(gòu)設(shè)計,省去了繁雜的軟件操作過程,具有一定的可擴(kuò)展性,是一種利用虛擬機(jī)技術(shù)進(jìn)行輔助藥物篩選的有益嘗試。
[參考文獻(xiàn)]
[1] 張洋.蘭州大學(xué) 云計算為科研加速[J].中國教育網(wǎng)絡(luò),2016(9):27-28.
[2] 許先進(jìn),王存新.分子對接方法在藥物發(fā)現(xiàn)之外領(lǐng)域的應(yīng)用[J].北京工業(yè)大學(xué)學(xué)報,2017,43(12):9.
[3] 劉福和,陳少軍,倪文娟.川芎中抗血栓活性成分的計算機(jī)虛擬篩選研究[J].中國藥房,2017,28(16):2182-2186.
[4] 劉景陶,劉映雪.計算機(jī)輔助藥物設(shè)計在分子對接中的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2016(34):67.
[5] 張煜卓,戚涵姝,谷笑雨,等.分子對接在藥物虛擬篩選中的應(yīng)用進(jìn)展[J].廣州化學(xué),2017(6):62-67.
[6] 黎永良,杜志云,鄭杰.基于分子對接虛擬篩選MEK1中藥抑制活性成分[J].中國中藥雜志,2017,42(10):1951-1956.
[7] 趙爽,劉軍娜.計算機(jī)輔助藥物分子設(shè)計教學(xué)改革初探[J].安徽農(nóng)學(xué)通報,2017,23(Z1):105-107.
[8] 江鳳兵.AutoIT腳本在計算機(jī)機(jī)房系統(tǒng)維護(hù)與管理中的應(yīng)用[J].科技廣場,2016(1):35-38.
[9] 孔柱新.基于AutoIt3的機(jī)房軟件自動安裝[J].實驗科學(xué)與技術(shù),2014,12(3):200-202,216.
[10] 陳希.使用Autoit腳本在虛擬內(nèi)存盤快速設(shè)置計算機(jī)考試模擬系統(tǒng)[J].電腦知識與技術(shù),2013(5):1140-1141.
[11] 陳景亮,張金石,陳晨.Hyper-V服務(wù)器虛擬化技術(shù)探究[J].青島科技大學(xué)學(xué)報:自然科學(xué)版,2017,38(S1):172-175.
[12] 王巖.云桌面系統(tǒng)在公共多媒體教室環(huán)境下應(yīng)用的探討[J].醫(yī)學(xué)教育管理,2017,3(S1):156-158.
[13] 李博文,嚴(yán)若樺,黃文莉,等.基于虛擬技術(shù)環(huán)境下的網(wǎng)絡(luò)實驗室構(gòu)建與研究[J].電腦知識與技術(shù),2017(17):46-48.
[14] 薛崢,孔憲森.基于Hyper-V搭建高可用性虛擬化的CORS系統(tǒng)[C]//2017年度江蘇省測繪地理信息學(xué)會GPS、大地專業(yè)委員會學(xué)術(shù)年會暨JSCORS技術(shù)交流大會論文集.南京:《現(xiàn)代測繪》編輯部,2017:12-13.
[15] 劉宇明.分析Windows Server 2008 Hyper-V虛擬化技術(shù)攻略[J].電腦知識與技術(shù),2017,13(3):40-42.
[16] 趙維國.Hyper-V虛擬化技術(shù)在建筑業(yè)企業(yè)信息化中的應(yīng)用[J].科學(xué)技術(shù)創(chuàng)新,2017(6):183.
[17] 卞昌軍.基于Hyper-V技術(shù)的云桌面構(gòu)建[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2016,16(1):18-20.
[18] 陳小軍,張璟,李軍懷.多虛擬機(jī)協(xié)同計算任務(wù)的分發(fā)部署及運(yùn)行框架[J].應(yīng)用科學(xué)學(xué)報,2011,29(5): 516-528.
[19] 陳小軍,張璟,李軍懷.多虛擬機(jī)協(xié)同計算任務(wù)的描述方法[J].系統(tǒng)工程與電子技術(shù),2011,33(12): 2767-2775.
[20] 陳輝.計算機(jī)支持的協(xié)同工作軟件技術(shù)研究[J].圖書情報導(dǎo)刊,2008,18(8):150-151.
[21] 宋新蕊,李達(dá),陳潔,等.計算機(jī)輔助藥物篩選平臺及應(yīng)用[J].生物信息學(xué),2014,12(4):300-304.