陳云俠,張 洋,陳文波
(蘭州大學網絡安全與信息化辦公室,甘肅 蘭州 730000)
2014年在國際著名期刊《Nature》上報道了一種針對腫瘤癌細胞的激酶MTH1,文章指出MTH1是癌細胞生存所必需的,而在正常細胞中MTH1是非必需的[1-3]。MTH1是一種氧化嘌呤核苷三磷酸酶,內含抗氧化相關修復基因,能夠將dNTP池中的氧化核苷酸進行選擇地清除,為癌細胞生存所必須,所以對MTH1抑制劑的研究將對癌癥的治療有著重要的意義。
在藥物研究領域中對于新藥的發(fā)現工作主要使用虛擬篩選方法[4],這是一種計算密集型任務。在高性能計算的帶動下這種方法有了突飛猛進的發(fā)展,極大地縮短了藥物研究與開發(fā)的進程,提高了藥物開發(fā)的效率。計算機輔助藥物設計已經成為現代藥物研發(fā)進程中不可替代的方法[5-6]。最近文獻[7]用虛擬篩選方法來搜索潛在的藥物用于治療導致乙型腦炎的化合物NiV-G。文獻[8]用計算模擬的方法預測出雌二醇可能是治療CMT1A患者的首選藥物,CMT1A在不久的將來可能會引起生物學家的更多關注。
網格是大規(guī)模虛擬篩選的首選技術,有報道稱使用Worldwide Grid的網格計算資源成功篩選了抗甲型流感病毒的藥物[9];文獻[10]利用EELA-2網格研究了在委內瑞拉的登革熱病毒的分子流行病學的機制;有學者專門設計了名叫Hydra的軟件,使用165節(jié)點進行了基于網格計算的藥物虛擬篩選的計算[11];開源的分布式計算軟件Hadoop已經被用于基于UCSF Dock(僅限于LinuxOS)的藥物虛擬篩選中[12]。但是,網格技術需要先進的架構,高效的工具、軟件等來管理,才能最大化利用共享的資源和架構,成本非常高;其次,它嚴重依賴分散的數據管理,一些軟件的定義不明確,有些應用須修改才能適應網格的使用,這些問題導致了網格技術比較難以進一步推廣和應用[13]。Hadoop是MapReduce計算模型的一個實現框架,它采用了共享的HDFS文件系統(tǒng)。該文件系統(tǒng)對本地服務器的磁盤讀寫要求很高,且會在節(jié)點間產生大量的流量,故對網絡的通暢性要求很高。所以,Hadoop架構只有在完成網絡優(yōu)化后,才有可能實現計算性能提升[14]。以虛擬化技術為主的云計算,面對以性能為主的高性能計算應用來說也不是一個很好的解決方案。
分布式計算在現代藥物設計中起到越來越重要的作用[15-17]。雖然很多關于藥物的分布式計算的研究已經陸續(xù)被報道,但是相關的源碼和成型的軟件尚沒有被報道。對于一般的實驗室來講,組建靈活方便并且穩(wěn)定有效的網格去進行藥物的虛擬篩選仍然是一項不容易的工作。
JPPF提供了一種很好的異步分布式計算框架,可以管理和充分利用不同架構乃至不同操作系統(tǒng)下的計算資源。如果將這些資源組織起來并高效地利用,就可以進行大規(guī)模的虛擬篩選。不僅如此,通過JPPF(Java Parallel Processing Framework, Java并行處理框架)還可以統(tǒng)一調配后期的分子動力學模擬的任務,將其部署到計算能力更高的GPU計算平臺上。GPU架構的機器可以加速分子動力學模擬的計算,實驗測試中1臺GPU就可以達到普通集群約224核心的計算能力[18]。所以,對于基于分子對接的虛擬篩選和分子動力學模擬來說,組建不同架構的平臺資源進行調度和參與計算就可以滿足不同方面的計算需要。
本文以JPPF異步分布式計算框架和AutodockVina分子對接技術作為基礎技術,設計一種異步分布式虛擬篩選系統(tǒng),通過對100萬藥物分子集進行篩選,最終得到MTH1抑制劑的目標結果集。
JPPF是一個開源的網格計算架構,它可以在分布式環(huán)境下同時運行多個Java應用,利用它可以簡單方便地構建異構分布式計算環(huán)境來處理大規(guī)模并行問題[19]。
為了減少處理時間,JPPF將一個應用分解成能夠在多臺計算機上同時執(zhí)行的小任務來實現,使得需要大規(guī)模處理能力的應用可以在任意數量的計算機上運行。JPPF提供了多種負載平衡算法、故障轉移、錯誤恢復和應用級安全策略,并可以與J2EE集成。JPPF具備下列特點:可以快速建立和運行JPPF網格;根據需求動態(tài)擴展;與領先的J2EE應用服務器連接;易于編程的模型;細粒度的監(jiān)控和管理;容錯和自我修復能力;高性能的服務水平和可靠性。
JPPF包括clients、servers和nodes這3個部分。clients通過調用JPPF API將應用程序的計算任務提交給JPPF網格;servers接收來自clients的任務并將任務分派到nodes上,然后接收從nodes計算得到的結果并將結果返回給clients;nodes執(zhí)行真正的計算任務[20]。這3部分之間的關系如圖1所示。
圖1 JPPF的基本結構
由圖1可以看出,server扮演著非常重要的角色,負責client和nodes之間的通信。在實際部署中,如果采用一個server負責所有處理情況,那么當server出現故障或崩潰時整個JPPF網格將癱瘓。JPPF可以擴展成包含多個server的結構,各server之間通過P2P的網絡連接方式進行通信,并且對于clients和nodes提供了額外的連接選項和容錯機制。在這種拓撲結構中,每一個server視它的對等節(jié)點為一個client,并被它的對等節(jié)點看作是一個node,這極大地增強了JPPF的可靠性。
AutoDockVina是一款由Molecular Graphics實驗室的Dr. Oleg Trott開發(fā)的用于分子對接和虛擬篩選的開源軟件[21]。目前該軟件已經歷2代,分別是AutoDock 4和AutoDockVina,其中AutoDock 4是AutoDockVina之前的一個版本。除了用于分子對接之外,這2個版本還可以實現原子之間引力關系的可視化,這可以指導有機合成化學家設計更好的所需材料[22]。AutoDockVina因為具有準確性高、運算速度快、容易使用等特征,所以與其他同類軟件相比具有極強的競爭優(yōu)勢。相對于之前的版本AutoDock 4,AutoDockVina通過在多核機器上使用多線程技術以及充分利用所有的CPU和GPU資源,極大地提高了綁定模式預測的平均性能,實現了2個數量級的性能提升,進一步提高了綁定模式預測的精度[23]。此外,AutoDockVina已經嚴格地通過被稱為Directory of Useful Decoys基準程序的測試。在兼容性方面,AutoDockVina與AutoDock 4都采用PDBQT分子結構文件格式,該文件可以通過MGLTools產生和查看,具有很好的兼容性。鑒于AutoDockVina的設計理念,用戶并不需要理解其實現細節(jié)、搜索參數、聚合結果等,具有簡單容易的特點。
基于JPPF的虛擬篩選計算系統(tǒng)架構如圖2所示,主要包括4個部分:Molgridcal、Server、計算節(jié)點和網絡。
圖2 虛擬篩選系統(tǒng)架構
Molgridcal主要完成對篩選數據的預處理,即從不同的藥物數據庫導入需要篩選的分子,對分子進行轉化并建立最終篩選的數據庫。該系統(tǒng)選取ZINC、Pubchem和SuperNature這3個藥物數據庫的分子。首先將ZINC數據庫中的小分子直接導入基于ChemAxon和MySQL建立的數據庫。對于Pubchem和SuperNature數據庫中的2D分子,通過腳本和ChemAxon過濾掉與數據庫中已經收錄的重復結構的小分子,并將其轉化成3D結構,最后將處理好的全部小分子都導入到指定的數據庫中,以備虛擬篩選。Server主要是將待篩選的數據分配到相應的計算節(jié)點上。
該系統(tǒng)設計了2種方法用于系統(tǒng)的負載均衡:一種是了解每一個計算資源的計算能力,手動發(fā)送不同的任務量到不同的計算節(jié)點;另外一種是使用Monte Carlo的自適應啟發(fā)式算法分配任務到不同的計算節(jié)點。計算節(jié)點主要由各種異構計算資源組成,用于對目標的任務進行虛擬篩選或者模擬??煽康木W絡保證分子數據在虛擬篩選過程的有效傳輸。
1)準備待篩選的100萬目標分子數據,部署數據存儲服務器。
2)部署和配置Molgridcal和Server。
3)啟動Molgridcal,對待篩選的數據進行讀取,等到Molgridcal對數據讀取結束,啟動Server。
4)當計算節(jié)點連接上相應的Server之后,此計算節(jié)點會從Molgridcal上下載一個待篩選的分子,然后進行計算。計算結束之后,將節(jié)點的計算結果上傳到數據服務器。
5)所有的分子篩選結束之后,將計算的結果進行分析。
虛擬篩選需要用到的實驗環(huán)境主要分3個部分。
第1部分是數據中心,存儲了所有的數據。使用的是華碩KCMA-D8,其硬盤容量為1 TB,操作系統(tǒng)使用的是CentOS release 6.2。
第2部分為JPPF的服務器,使用的是IBM System x3550,操作系統(tǒng)為CentOS release 6.3。
第3部分為計算節(jié)點,包括一個GPU集群,由4個曙光GPU工作站組成,每個GPU工作站節(jié)點配置2 個Intel Xeon 5650 2.66 GHz 6核CPU處理器,4塊NVIDIA Tesla C2050 GPU卡,使用的操作系統(tǒng)為CentOS release 5.4。一個CPU集群,包含3個Intel Xeon 5650服務器節(jié)點,每個節(jié)點擁有2個Intel Xeon 5650雙核CPU 處理器,操作系統(tǒng)為CentOS release 6.3。2臺迷你臺式電腦,其中1臺使用的是Intel 酷睿i5 3470四核CPU處理器,操作系統(tǒng)為Microsoft Windows 7 Professional,另一臺使用的是CentOS release 6.6,Intel酷睿2雙核處理器。
MTH1的分子模型如圖3所示。其中,條狀圖代表蛋白質,球狀圖代表鈉離子,其余的棍狀模型圖代表水分子。
圖3 MTH1的分子模型
考慮到數據服務器的存儲空間和內存限制,將100萬的待篩選分子進行了劃分并設置了每次篩選的分子數量,具體如表1所示。在每一個等待篩選的文件夾中放置40000個左右的分子,將任務分為25份。如果計算機的存儲空間和內存足夠大,可以設置每次篩選更多的分子。
表1 100萬MTH1的類藥分子的劃分
任務編號原始個數任務編號原始個數VS140209VS1440856VS241546VS1540612VS341380VS1640122VS440017VS1740979VS540056VS1840609VS640051VS1940701VS740472VS2040054VS840261VS2140161VS940108VS2240154VS1040462VS2340171VS1140031VS2440604VS1240245VS2560084VS1324067總計101413
以任務編號VS1的40209個待虛擬篩選分子為例,不同的計算資源(小型CPU集群、GPU集群、普通PC機)對其篩選情況如表2所示。
表2 不同計算資源的虛擬篩選情況(以VS1為例)
編號IP地址:端口號最大支持線程數/單任務最多使用線程數狀態(tài)任務量110.1.255.247:111984/5Connected95210.1.255.250:111984/5Connected101310.1.255.252:111984/5Connected974202.201.1.10:111984/5Connected16285202.201.1.10:1119924/5Connected16316202.201.1.10:1120024/5Connected16367202.201.1.10:1120124/5Connected16358202.201.1.10:1120224/5Connected16399202.201.1.10:1120324/5Connected163810202.201.1.20:1119824/5Connected166011202.201.1.20:1119924/5Connected166012202.201.1.20:1120024/5Connected165313202.201.1.20:1120124/5Connected166214202.201.1.20:1120224/5Connected166715202.201.1.20:1120324/5Connected165916202.201.1.21:1119824/5Connected165517202.201.1.21:1119924/5Connected164918202.201.1.21:1120024/5Connected166119202.201.1.21:1120124/5Connected165620202.201.1.21:1120224/5Connected165621202.201.1.21:1120324/5Connected164722202.201.1.21:1119824/5Connected164823202.201.1.21:1119924/5Connected164624202.201.1.21:1120024/5Connected165825202.201.1.21:1120124/5Connected164626202.201.1.21:1120224/5Connected165227202.201.1.21:1120324/5Connected164328210.26.55.130:111982/5Connected11129210.26.55.51:111984/5Connected220總數40209
表2中,編號1~3為小型的CPU集群,每一個節(jié)點有4個CPU計算核心;編號4~27為GPU集群,有4個節(jié)點,由于每一個計算節(jié)點的CPU計算核心有24個,而每一個篩選任務最多只能使用5個核心,因此在一個節(jié)點上重復運行了6個任務;編號28~29為普通PC機,可以使用的CPU計算核心數分別為2個和4個。
由表2可以看出,所有的計算資源都能成功地連接,同時對相關的任務進行計算。由于GPU集群不僅擁有超強計算能力的GPU,同時還擁有較多的CPU計算核心,因此它的計算能力是最強的。在只是使用一個計算節(jié)點的情況下,GPU集群是CPU集群計算速度的990倍,是雙核PC機的900倍,是4核PC機的450倍。因此,雖然CPU的計算能力和核數對計算速度有一定的影響,但是GPU對系統(tǒng)計算速度的提升更加明顯和有效。
本次實驗采用不同構架的計算資源實現了對MTH1類藥分子的虛擬篩選,并篩選出前10名的類藥分子,具體如表3所示。前10名類藥分子用于進一步的分析,排名越靠前的分子說明是親和力越強的分子。
表3 虛擬篩選出的前10名類藥分子
編號類藥分子親和力/(kcal/mol)1ZINC72003306-13.12ZINC09559647-13.13ZINC13750217-13.04ZINC04141488-12.95ZINC63097139-12.96ZINC04815059-12.97ZINC04909555-12.98ZINC78511930-12.69ZINC16780432-12.610ZINC35882888-12.6
系統(tǒng)選取了MTH1晶體結構中的配體TH287作為對照,通過分子對接得到TH287和MTH1的親和能是-8.7 kcal/mol。而通過虛擬篩選得到的前10名類藥分子都是低于這個數值的,說明這些分子是潛在的MTH1的配體。
以排名第1(No.1)的類藥分子(ZINC ID:ZINC72003306)為例,分子結構如圖4所示。
圖4 ZINC72003306的分子結構
MTH1活性口袋中的活性位點由氨基酸N33、D119和D120組成。如圖5所示,通過比較TH287和No.1分子在MTH1結合口袋中的結合模式可以看到,No.1分子和TH287都能結合在氨基酸N33、D119和D120形成的空腔周圍,表明了通過虛擬篩選的方法可找到直接靶向MTH1的藥物分子。
圖5 TH287和類藥分子ZINC72003306及MTH1的結合模式
虛擬篩選需要大規(guī)模的計算資源,但是傳統(tǒng)的網格技術嚴重依賴分散、高效的數據管理,已經不適合應用到大規(guī)模的腫瘤藥物篩選和模擬。而通過對分布式資源的彈性調度不僅可以集中計算資源,還可以整合可利用的空閑資源一起參與這種大規(guī)模分布式應用。同時,既能節(jié)約購買計算資源的成本,還可以充分發(fā)揮每一種資源的利用率,滿足不同的計算需求。本文設計了一種基于JPPF分布式并行框架的虛擬篩選系統(tǒng),該系統(tǒng)使用了不同類型的計算資源,包括普通PC機、CPU集群和GPU集群。為了測試JPPF藥物篩選系統(tǒng)的性能,系統(tǒng)對100萬藥物分子集進行了篩選,并選出排名前10名的類藥分子。通過比較TH287和No.1分子在MTH1結合口袋中的結合模式,發(fā)現No.1分子和TH287都能結合在氨基酸N33、D119和D120形成的空腔周圍,表明使用本文設計的虛擬篩選方法可以找到直接靶向MTH1的藥物分子。實驗同時驗證了不同計算資源的計算速度和計算能力成正比。該系統(tǒng)的實現為快速構建大規(guī)模藥物分子虛擬篩選技術提供了一種解決方案。