亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        超大規(guī)模藥物虛擬篩選的實(shí)現(xiàn)與應(yīng)用

        2023-05-08 11:30:30張寶花李輝劉倩高美娜黃荷趙毅于坤千金鐘
        計(jì)算機(jī)與生活 2023年5期
        關(guān)鍵詞:進(jìn)程數(shù)據(jù)庫(kù)系統(tǒng)

        張寶花,李輝,劉倩,高美娜,黃荷,趙毅,于坤千+,金鐘

        1.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京100190

        2.中國(guó)科學(xué)院上海藥物研究所,上海201203

        3.中國(guó)科學(xué)院大學(xué),北京100049

        惡性傳染病的間歇性暴發(fā)對(duì)人類(lèi)社會(huì)產(chǎn)生了深遠(yuǎn)而持久的影響。人類(lèi)與病毒的較量,是科研與時(shí)間的賽跑,而快速藥物研發(fā)則是較量之關(guān)鍵。采用基于受體結(jié)構(gòu)進(jìn)行分子對(duì)接的高通量藥物虛擬篩選(high throughput virtual screening,HTVS)方法,有助于從海量小分子中篩選出與受體結(jié)構(gòu)最強(qiáng)結(jié)合的部分,是先導(dǎo)化合物發(fā)現(xiàn)的重要步驟[1-2]。在選定了合適的分子對(duì)接軟件并進(jìn)行了合理參數(shù)設(shè)置后,HTVS計(jì)算效率的提高主要依靠虛擬篩選規(guī)模和虛擬篩選計(jì)算的有效執(zhí)行。

        據(jù)化學(xué)家估計(jì),滿(mǎn)足Lipinski類(lèi)藥五規(guī)則的穩(wěn)定小分子化合物數(shù)量達(dá)到1060左右[3]。研究表明,大規(guī)模篩選的對(duì)接得分隨虛擬篩選規(guī)模增加而提高[4-5]。增加虛擬篩選規(guī)模可從兩個(gè)方面來(lái)改善虛擬篩選的質(zhì)量:通過(guò)識(shí)別具有更緊密結(jié)合親和力的配體,可降低劑量和減少脫靶效應(yīng);發(fā)現(xiàn)藥代動(dòng)力學(xué)更有利的、細(xì)胞毒性較小的化合物[6]。增加虛擬篩選規(guī)模則主要有兩種途徑:一方面,考慮到化合物的可合成性和易購(gòu)買(mǎi)性,可選擇以ZINC(>5 億)和REAL(>14 億)為代表的大型化合物庫(kù)[7];另一方面,人們可通過(guò)碎片組合虛擬篩選庫(kù)、深度學(xué)習(xí)等方法生成海量的配體化合物[8-9]。

        在可接受時(shí)間內(nèi)完成海量化合物分子的虛擬篩選對(duì)高性能計(jì)算技術(shù)提出了巨大挑戰(zhàn)。幸運(yùn)的是,目前的超級(jí)計(jì)算機(jī)已接近E級(jí)(Exascale,每秒可進(jìn)行百億億次浮點(diǎn)運(yùn)算)計(jì)算能力。美歐日均制定了E級(jí)計(jì)算計(jì)劃,我國(guó)也在研制下一代異構(gòu)高性能計(jì)算系統(tǒng),這均為超大規(guī)模虛擬篩選提供了可能。計(jì)算功能強(qiáng)大的超級(jí)計(jì)算機(jī)在藥物設(shè)計(jì)中的應(yīng)用給藥物發(fā)現(xiàn)帶來(lái)了新機(jī)遇,使藥物分子設(shè)計(jì)在速度和成功率上均發(fā)生了突飛猛進(jìn)的提高。然而,如何緊跟硬件的步伐,將超級(jí)計(jì)算機(jī)的計(jì)算能力發(fā)揮到最佳,還需要選擇合適的方法進(jìn)行有效的大規(guī)模藥物虛擬篩選。

        科研人員在如何將分子對(duì)接軟件應(yīng)用于高通量藥物虛擬篩選方面開(kāi)展了大量工作。例如使用AutoDock Vina 軟件來(lái)進(jìn)行高通量虛擬篩選,可提前將配體小分子進(jìn)行一定數(shù)量切割后存入不同的文件目錄。在計(jì)算資源充裕的條件下,不同的文件目錄可以同時(shí)獨(dú)立執(zhí)行計(jì)算來(lái)最優(yōu)化計(jì)算時(shí)間[10]。rDock與rxDock 軟件則通過(guò)將含有多個(gè)配體文件的sdf 文件,利用sdsplit 進(jìn)行按需劃分,對(duì)每份文件在當(dāng)前節(jié)點(diǎn)獨(dú)立發(fā)起分子對(duì)接操作或通過(guò)隊(duì)列調(diào)度系統(tǒng)調(diào)度到其他計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算[11]。Vina MPI使用MPI包裝器,可支持同時(shí)啟動(dòng)數(shù)千個(gè)并行AutoDock Vina 可執(zhí)行文件[12]。POAP(parallelized Open Babel&AutoDock suite pipeline)將Open Babel 和AutoDock 軟件包連用,使用GNU Parallel將配體準(zhǔn)備、受體準(zhǔn)備、對(duì)接任務(wù)等并行化,通過(guò)Shell 命令行方式使用[13]。以上幾種方式,僅針對(duì)部分適合藥物發(fā)現(xiàn)的有機(jī)化合物(106~107個(gè)分子)[14]進(jìn)行中小規(guī)模的藥物虛擬篩選計(jì)算,對(duì)多任務(wù)進(jìn)行簡(jiǎn)單分割,易引起負(fù)載不均衡,缺乏大規(guī)模藥物篩選的應(yīng)對(duì)策略。李祖華等人利用網(wǎng)格計(jì)算技術(shù)構(gòu)建了用于大規(guī)模藥物虛擬篩選的計(jì)算環(huán)境[15],可有效整合散布于網(wǎng)絡(luò)上的各種異構(gòu)計(jì)算資源,并能夠快速吸納新的網(wǎng)格結(jié)點(diǎn)和篩選工具。在整體架構(gòu)上使用了支持大規(guī)模并發(fā)的主從模式,在網(wǎng)格監(jiān)控上使用了支持多種異構(gòu)軟硬件環(huán)境的適配器模式,滿(mǎn)足了真實(shí)環(huán)境大規(guī)模藥物虛擬篩選的要求,但存在數(shù)據(jù)轉(zhuǎn)移安全性問(wèn)題,網(wǎng)絡(luò)通訊能力強(qiáng)弱對(duì)性能也有很大影響。Peng等人在“天河二號(hào)”上研發(fā)的D3DOCKxb軟件[16]則通過(guò)設(shè)計(jì)一種新型可擴(kuò)展并行算法,利用CPU+MIC協(xié)同計(jì)算,采用分層、分段任務(wù)處理策略,分組休眠緩解IO壓力,“橫向并行、縱向分段”緩解通訊壓力,在8 000 節(jié)點(diǎn)上可獲得超過(guò)80%的加速,一天內(nèi)篩選老藥化合物4 200 萬(wàn)個(gè)。Gorgulla 等人在Nature上發(fā)表的超大規(guī)模藥物發(fā)現(xiàn)平臺(tái)[4],其中的VFVS(virtual flow for virtual screening)使用Shell 腳本開(kāi)發(fā),文件列表形式進(jìn)行多層級(jí)任務(wù)分發(fā),數(shù)據(jù)壓縮形式遷移減少I(mǎi)O 問(wèn)題,使用8 000 個(gè)CPU 核心,4 周時(shí)間篩選化合物約13 億。以上科研團(tuán)隊(duì)在大規(guī)模藥物虛擬篩選的有效執(zhí)行方面均取得了較好進(jìn)展。但隨著異構(gòu)超級(jí)計(jì)算機(jī)大量采用GPU 卡等加速部件,針對(duì)特定服務(wù)器架構(gòu)設(shè)計(jì)的mD3DOCKxb 軟件和僅支持CPU 計(jì)算的VFVS 軟件已無(wú)法有效利用加速部件提升計(jì)算速度。此外,在超大規(guī)模虛擬篩選時(shí)的動(dòng)態(tài)負(fù)載均衡和容錯(cuò)管理方面亦存在不少優(yōu)化空間。

        本文提出了一種在超級(jí)計(jì)算機(jī)上進(jìn)行大規(guī)模藥物虛擬篩選新的實(shí)現(xiàn)方式,即利用中央數(shù)據(jù)庫(kù)進(jìn)行任務(wù)的多層動(dòng)態(tài)分發(fā)。此外,對(duì)大規(guī)模虛擬篩選中的負(fù)載均衡、通訊、IO及容錯(cuò)管理等問(wèn)題也開(kāi)展了研究。通過(guò)以上工作,有望利用高性能計(jì)算系統(tǒng)進(jìn)行更大規(guī)模更快速的虛擬篩選,為應(yīng)對(duì)暴發(fā)性惡性傳染病候選藥物的快速發(fā)現(xiàn)提供強(qiáng)大計(jì)算保障,大大地加速藥物研發(fā)。

        文章將按照以下組織進(jìn)行撰寫(xiě):系統(tǒng)設(shè)計(jì)部分將介紹系統(tǒng)的總體架構(gòu)及在動(dòng)態(tài)負(fù)載均衡、容錯(cuò)管理、通訊和IO優(yōu)化等方面的設(shè)計(jì)方案;系統(tǒng)實(shí)現(xiàn)部分將介紹系統(tǒng)實(shí)現(xiàn)中相關(guān)的技術(shù)方案,包括系統(tǒng)的運(yùn)行流程和操作方式等;系統(tǒng)測(cè)試部分通過(guò)各項(xiàng)測(cè)試展示系統(tǒng)的實(shí)現(xiàn)效果;系統(tǒng)應(yīng)用部分將介紹系統(tǒng)在新冠病毒藥物研發(fā)中的應(yīng)用成效。最后部分為總結(jié)和展望。

        1 系統(tǒng)設(shè)計(jì)

        1.1 系統(tǒng)整體設(shè)計(jì)架構(gòu)

        藥物虛擬篩選是海量數(shù)據(jù)影響下的超高通量計(jì)算過(guò)程,由大批量松耦合的子任務(wù)構(gòu)成。在超級(jí)計(jì)算機(jī)上進(jìn)行此類(lèi)計(jì)算模擬,需有效地利用各空閑資源,高效處理數(shù)十億化合物,確保高通量計(jì)算執(zhí)行的速度和質(zhì)量。為此,本文提出以中央數(shù)據(jù)庫(kù)進(jìn)行集中任務(wù)分發(fā)的方案??紤]到單個(gè)數(shù)據(jù)庫(kù)進(jìn)行任務(wù)分發(fā)將達(dá)到負(fù)載上限,如集中通訊量過(guò)大必然導(dǎo)致通訊速度減慢甚至異常。從效率和節(jié)點(diǎn)穩(wěn)定性方面考慮須采用多數(shù)據(jù)庫(kù)分擔(dān)負(fù)載。為方便管理多個(gè)數(shù)據(jù)庫(kù)并及時(shí)補(bǔ)充待計(jì)算的任務(wù),本文提出基于多層級(jí)數(shù)據(jù)庫(kù)的并行分發(fā)處理策略,設(shè)計(jì)了“樹(shù)”形的多層級(jí)任務(wù)分發(fā)框架。

        如圖1所示,根服務(wù)節(jié)點(diǎn)控制整個(gè)計(jì)算任務(wù)的中央數(shù)據(jù)庫(kù),計(jì)算任務(wù)從這里開(kāi)始分配。T個(gè)“樹(shù)”的枝服務(wù)節(jié)點(diǎn)啟動(dòng)枝數(shù)據(jù)庫(kù),與根數(shù)據(jù)庫(kù)通訊獲取大任務(wù)并分割后,由圖2所示的任務(wù)執(zhí)行單元來(lái)執(zhí)行計(jì)算。

        圖2 任務(wù)執(zhí)行單元處理流程Fig.2 Processing flow of task execution unit

        每個(gè)任務(wù)執(zhí)行單元采取兩個(gè)層級(jí)的主從模式設(shè)計(jì),第一層為枝數(shù)據(jù)庫(kù)與計(jì)算節(jié)點(diǎn)(圖中WG表示)的主從執(zhí)行模式,數(shù)據(jù)庫(kù)負(fù)責(zé)管理和分發(fā)作業(yè),WG 與數(shù)據(jù)庫(kù)通訊獲取和更新任務(wù)。在每個(gè)WG 里含第二層主從模式,主進(jìn)程負(fù)責(zé)抓取和預(yù)處理任務(wù)并啟動(dòng)多個(gè)子進(jìn)程執(zhí)行批量分子計(jì)算操作。子進(jìn)程將計(jì)算任務(wù)全部執(zhí)行完畢后,由主進(jìn)程統(tǒng)計(jì)計(jì)算結(jié)果,對(duì)本組結(jié)果進(jìn)行排序并將少量輸出結(jié)果寫(xiě)入上級(jí)數(shù)據(jù)庫(kù)。之后去數(shù)據(jù)庫(kù)中抓取新任務(wù),不斷輪詢(xún)“抓取任務(wù)-啟動(dòng)子進(jìn)程計(jì)算-結(jié)果處理”操作,直至數(shù)據(jù)庫(kù)中任務(wù)全部執(zhí)行完畢,WG 退出,本數(shù)據(jù)庫(kù)作業(yè)執(zhí)行完畢。然后由上級(jí)枝服務(wù)節(jié)點(diǎn)與根數(shù)據(jù)庫(kù)通訊獲取下一批次計(jì)算任務(wù)。

        1.2 動(dòng)態(tài)負(fù)載均衡策略

        藥物虛擬篩選屬于分布式計(jì)算[17],可把需要利用巨大的計(jì)算能力才能解決的藥物篩選問(wèn)題進(jìn)行“水平切分”,分布到不同的節(jié)點(diǎn)分別處理得到結(jié)果,并綜合起來(lái)得到最終結(jié)果。如何減少任務(wù)獲取、數(shù)據(jù)更新時(shí)的通訊負(fù)擔(dān)并保證計(jì)算任務(wù)在各種狀態(tài)下的負(fù)載均衡,是超大規(guī)模藥物虛擬篩選的主要痛點(diǎn)。在本文中,得益于多層級(jí)中央數(shù)據(jù)庫(kù)和“樹(shù)”形模式的任務(wù)分發(fā)框架,下級(jí)節(jié)點(diǎn)通過(guò)主動(dòng)鏈接上級(jí)數(shù)據(jù)庫(kù)進(jìn)行任務(wù)獲取和執(zhí)行,計(jì)算過(guò)程中各節(jié)點(diǎn)都處于任務(wù)滿(mǎn)載狀態(tài),并可根據(jù)節(jié)點(diǎn)服務(wù)能力動(dòng)態(tài)調(diào)整負(fù)載。運(yùn)行快的節(jié)點(diǎn)將從上級(jí)數(shù)據(jù)庫(kù)獲取更多的任務(wù)計(jì)算。反之,計(jì)算較慢的節(jié)點(diǎn)則會(huì)減緩與上級(jí)數(shù)據(jù)庫(kù)的通訊頻次。故障節(jié)點(diǎn)則不再與上級(jí)數(shù)據(jù)庫(kù)通訊獲取任務(wù),由此可將慢節(jié)點(diǎn)和故障節(jié)點(diǎn)的影響降到最低。

        1.3 高并發(fā)帶來(lái)的IO和通訊問(wèn)題優(yōu)化策略

        超大規(guī)模虛擬篩選涉及到大量的數(shù)據(jù)通訊、文件讀寫(xiě)等操作,對(duì)超級(jí)計(jì)算機(jī)的網(wǎng)絡(luò)通訊和IO 提出很大挑戰(zhàn)。

        直接存放和處理數(shù)十億級(jí)別的分子會(huì)導(dǎo)致文件系統(tǒng)卡頓甚至崩潰。本文采取“分而治之”的處理策略,將海量分子文件進(jìn)行多層壓縮打包以減少存儲(chǔ)壓力。如圖3 所示,根數(shù)據(jù)庫(kù)存放多個(gè)頂級(jí)壓縮文件。執(zhí)行計(jì)算時(shí)枝服務(wù)節(jié)點(diǎn)與根數(shù)據(jù)庫(kù)通訊,獲取頂級(jí)壓縮包,解壓得到多個(gè)二級(jí)壓縮包(內(nèi)含多個(gè)小分子文件),并作為圖2 所示任務(wù)執(zhí)行單元的處理對(duì)象。另外,從計(jì)算策略上進(jìn)行優(yōu)化,通過(guò)長(zhǎng)時(shí)間間隔讀寫(xiě)來(lái)減少I(mǎi)O 頻次。在計(jì)算節(jié)點(diǎn)上,每次分子對(duì)接計(jì)算執(zhí)行完后,隨即進(jìn)行能量提取操作,待同一批次全部分子執(zhí)行完后,由主進(jìn)程執(zhí)行能量排序并根據(jù)用戶(hù)選擇挑選排名靠前的結(jié)果記錄到上級(jí)數(shù)據(jù)庫(kù)中。通過(guò)少量大文件長(zhǎng)時(shí)間間隔讀寫(xiě)減輕了系統(tǒng)IO壓力,使硬件系統(tǒng)在處理海量計(jì)算任務(wù)時(shí)流暢不卡頓。

        圖3 海量小分子文件的多層級(jí)壓縮處理策略Fig.3 Multi-level compression strategy for massive small molecular files

        通過(guò)文件壓縮和大文件遷移的方式,在緩解系統(tǒng)IO 壓力的情況下,還間接促進(jìn)了通訊問(wèn)題的改善。計(jì)算節(jié)點(diǎn)每次從數(shù)據(jù)庫(kù)獲取多個(gè)配體分子組成的壓縮包,進(jìn)行二級(jí)分發(fā)后執(zhí)行計(jì)算,如此可有效減少與上級(jí)數(shù)據(jù)庫(kù)的通訊次數(shù)。分子對(duì)接計(jì)算任務(wù)則完全在計(jì)算節(jié)點(diǎn)本地執(zhí)行,計(jì)算節(jié)點(diǎn)間無(wú)任何通訊。

        1.4 容錯(cuò)管理策略

        高通量任務(wù)運(yùn)行時(shí),不可避免地會(huì)出現(xiàn)節(jié)點(diǎn)異常、程序計(jì)算錯(cuò)誤等問(wèn)題。如何保障作業(yè)正確、有效、順利地執(zhí)行,是超大規(guī)模藥物虛擬篩選的基本需求。

        由前所述,通過(guò)采取中央數(shù)據(jù)庫(kù)動(dòng)態(tài)管理和分發(fā)作業(yè),相較于固定文件列表分發(fā)方式,中央數(shù)據(jù)庫(kù)服務(wù)在靈活性和易用性方面更有優(yōu)勢(shì),例如支持在計(jì)算過(guò)程中動(dòng)態(tài)靈活增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù),容易統(tǒng)計(jì)任務(wù)執(zhí)行狀態(tài)等,在訪問(wèn)時(shí)可以對(duì)單條數(shù)據(jù)加鎖,且加鎖粒度更細(xì),可將故障節(jié)點(diǎn)和慢節(jié)點(diǎn)的影響降到最小,這就要求中央數(shù)據(jù)庫(kù)服務(wù)必須持續(xù)運(yùn)行。

        并行分發(fā)系統(tǒng)配備的監(jiān)控程序可定時(shí)檢查根數(shù)據(jù)庫(kù)服務(wù)和枝數(shù)據(jù)庫(kù)服務(wù)。如圖4,若檢測(cè)到服務(wù)節(jié)點(diǎn)異常掉線,則自動(dòng)重啟服務(wù),保證下級(jí)數(shù)據(jù)庫(kù)能夠鏈接獲取任務(wù)。同時(shí),在每個(gè)節(jié)點(diǎn)中,對(duì)計(jì)算節(jié)點(diǎn)錯(cuò)誤,如節(jié)點(diǎn)空掛無(wú)進(jìn)程、加速卡故障等錯(cuò)誤進(jìn)行定時(shí)掃描,發(fā)現(xiàn)異常則刪除進(jìn)程,釋放節(jié)點(diǎn)。對(duì)于失敗的計(jì)算作業(yè),通過(guò)修改作業(yè)狀態(tài)可重新回到待計(jì)算任務(wù)數(shù)據(jù)庫(kù)中由其他正常節(jié)點(diǎn)獲取計(jì)算。

        圖4 計(jì)算錯(cuò)誤處置策略Fig.4 Calculation error handling strategy

        2 系統(tǒng)實(shí)現(xiàn)

        本工作采用Python語(yǔ)言實(shí)現(xiàn)了簡(jiǎn)單易用的藥物虛擬篩選并行分發(fā)系統(tǒng)。MongoDB數(shù)據(jù)庫(kù)作為中央數(shù)據(jù)庫(kù),是一款為現(xiàn)代Web 應(yīng)用程序和互聯(lián)網(wǎng)基礎(chǔ)設(shè)施而設(shè)計(jì)的新型開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng)。作為一種典型的分布式NoSQL數(shù)據(jù)庫(kù),它并發(fā)性能優(yōu)異、支持水平擴(kuò)展、模式自由靈活,且在大文件傳輸、故障自動(dòng)轉(zhuǎn)移等方面具有優(yōu)良的特點(diǎn)。藥物虛擬篩選涉及到的任務(wù)比較松散,非常適合使用MongoDB 數(shù)據(jù)庫(kù)來(lái)進(jìn)行任務(wù)管理。

        圖5展示了并行分發(fā)系統(tǒng)的啟動(dòng)流程,用戶(hù)發(fā)起計(jì)算請(qǐng)求并通過(guò)隊(duì)列調(diào)度系統(tǒng)獲取到計(jì)算資源后,由主程序啟動(dòng)一個(gè)根數(shù)據(jù)庫(kù)和T個(gè)枝數(shù)據(jù)庫(kù)。根服務(wù)節(jié)點(diǎn)啟動(dòng)枝服務(wù)節(jié)點(diǎn)與根數(shù)據(jù)庫(kù)通訊獲取任務(wù),并對(duì)任務(wù)分割后存于枝數(shù)據(jù)庫(kù)中。啟動(dòng)計(jì)算節(jié)點(diǎn),并開(kāi)啟主進(jìn)程與枝數(shù)據(jù)庫(kù)連接獲取任務(wù),通過(guò)Python進(jìn)程池調(diào)用節(jié)點(diǎn)上其他資源進(jìn)行分子對(duì)接計(jì)算。在每個(gè)計(jì)算節(jié)點(diǎn)上,還配有一個(gè)心跳程序,每隔10 min連接枝數(shù)據(jù)庫(kù)對(duì)當(dāng)前任務(wù)執(zhí)行時(shí)間和狀態(tài)進(jìn)行更新。主程序還會(huì)啟動(dòng)監(jiān)控程序來(lái)監(jiān)控?cái)?shù)據(jù)庫(kù)和計(jì)算節(jié)點(diǎn)的狀態(tài),根據(jù)異常狀態(tài)來(lái)進(jìn)行容錯(cuò)。

        圖5 并行分發(fā)系統(tǒng)啟動(dòng)流程Fig.5 Parallel distribution system startup process

        在進(jìn)入虛擬篩選前,需對(duì)受體和配體分子進(jìn)行處理,如受體補(bǔ)全殘基、格式轉(zhuǎn)換、加氫及加電荷等操作,并根據(jù)受體結(jié)合口袋位置和尺寸設(shè)置分子對(duì)接的配置文件。經(jīng)過(guò)預(yù)處理的文件即可使用藥物虛擬篩選并行分發(fā)系統(tǒng)執(zhí)行計(jì)算。圖6 展示了并行分發(fā)系統(tǒng)在超級(jí)計(jì)算機(jī)各節(jié)點(diǎn)上的映射關(guān)系。為管理方便,每個(gè)枝數(shù)據(jù)庫(kù)設(shè)置M個(gè)子庫(kù)負(fù)責(zé)管理和分發(fā)分組作業(yè)。在虛擬篩選執(zhí)行時(shí),為每個(gè)分組啟動(dòng)N個(gè)計(jì)算節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)對(duì)應(yīng)圖2中一個(gè)WG。在節(jié)點(diǎn)上,進(jìn)程1作為主進(jìn)程,負(fù)責(zé)執(zhí)行數(shù)據(jù)抓取、后處理等任務(wù),而其他進(jìn)程則負(fù)責(zé)調(diào)用CPU 或競(jìng)爭(zhēng)調(diào)用加速器執(zhí)行具體的分子對(duì)接操作。

        圖6 并行分發(fā)系統(tǒng)在超級(jí)計(jì)算機(jī)節(jié)點(diǎn)上的映射關(guān)系Fig.6 Mapping of parallel distribution system on supercomputer nodes

        本文并行分發(fā)系統(tǒng)屏蔽了復(fù)雜處理細(xì)節(jié),用戶(hù)通過(guò)簡(jiǎn)單設(shè)定配置文件相關(guān)參數(shù)即可開(kāi)啟大規(guī)模并發(fā)計(jì)算模擬。通過(guò)編輯配置文件可使用服務(wù)器上已安裝的軟件執(zhí)行分子對(duì)接計(jì)算,如選擇AutoDock GPU 程序利用GPU 加速計(jì)算或AutoDock Vina 程序利用CPU并行加速,解除對(duì)于軟件的高集成綁定,實(shí)現(xiàn)分子對(duì)接軟件與并行分發(fā)系統(tǒng)的松耦合。對(duì)于執(zhí)行計(jì)算的分組數(shù)量、執(zhí)行計(jì)算的進(jìn)程等數(shù)量均可通過(guò)參數(shù)配置靈活調(diào)整以增強(qiáng)易用性。

        3 系統(tǒng)測(cè)試

        針對(duì)如何在超級(jí)計(jì)算系統(tǒng)上有效進(jìn)行超大規(guī)模藥物虛擬篩選,本文設(shè)計(jì)了基于中央數(shù)據(jù)庫(kù)的“樹(shù)”形多層級(jí)任務(wù)并行分發(fā)系統(tǒng)。在動(dòng)態(tài)負(fù)載均衡、高容錯(cuò)技術(shù)、優(yōu)化IO與通訊問(wèn)題等方面進(jìn)行的研究,為快速高效穩(wěn)定地執(zhí)行大規(guī)模藥物虛擬篩選提供了有力保證。

        系統(tǒng)硬件配置:每節(jié)點(diǎn)配置1 顆國(guó)產(chǎn)X86 處理器,32核心,8*DDR4內(nèi)存通道、128*PCI-E 3.0通道,4個(gè)國(guó)產(chǎn)加速器,16 GB HBM2顯存,帶寬1 TB/s。

        計(jì)算參數(shù)設(shè)置:藥物虛擬篩選并行分發(fā)系統(tǒng)需要結(jié)合具體的分子對(duì)接程序執(zhí)行計(jì)算。研究測(cè)試表明,雖開(kāi)源軟件相較于商業(yè)軟件的算法不同,但構(gòu)象排序和打分結(jié)果差異不大,并不存在一個(gè)對(duì)接軟件在各方面都優(yōu)于其他軟件[18]??紤]到對(duì)接軟件的準(zhǔn)確性和計(jì)算速度,本文選取了AutoDock GPU(OpenCL加速版本)[19]程序執(zhí)行對(duì)接計(jì)算。

        經(jīng)測(cè)試,AutoDock GPU 計(jì)算并非全部在加速器上執(zhí)行,加速卡在較少進(jìn)程時(shí)出現(xiàn)了負(fù)載不滿(mǎn)的現(xiàn)象。節(jié)點(diǎn)內(nèi)分子對(duì)接計(jì)算的進(jìn)程數(shù)量會(huì)對(duì)計(jì)算效率產(chǎn)生影響,測(cè)試(圖7)發(fā)現(xiàn)每個(gè)節(jié)點(diǎn)啟動(dòng)30個(gè)以上進(jìn)程競(jìng)爭(zhēng)使用加速器計(jì)算的執(zhí)行時(shí)間最少,硬件能夠得到充分的利用。因此,在之后的計(jì)算中,設(shè)置每個(gè)WG中使用的子進(jìn)程數(shù)量為30。

        圖7 節(jié)點(diǎn)內(nèi)計(jì)算進(jìn)程數(shù)量對(duì)性能的影響Fig.7 Impact of the number of computing processes on performance intra node

        計(jì)算受體采用由饒子和院士團(tuán)隊(duì)公布的新冠病毒Mpro 蛋白及對(duì)接口袋位置[20],使用AutoDock Tools 對(duì)受體進(jìn)行加氫加電荷和格式轉(zhuǎn)換操作,對(duì)接口袋大小設(shè)置為22.5 ?,受體設(shè)置為剛性,使用AutoDock Tools 準(zhǔn)備好.gpf 文件,進(jìn)而使用autogrid程序生成需要的各個(gè).map文件和.fld文件[21]。配體取自公開(kāi)數(shù)據(jù)庫(kù)REAL和ZINC,使用Openbabel軟件進(jìn)行了加氫加電荷和格式轉(zhuǎn)換處理,配體設(shè)置為柔性。

        3.1 弱擴(kuò)展性測(cè)試

        對(duì)饒子和院士團(tuán)隊(duì)報(bào)道的病毒RdRp 蛋白[22]與REAL 數(shù)據(jù)庫(kù)分子執(zhí)行篩選計(jì)算,選取測(cè)試軟件為AutoDock GPU 程序,每個(gè)計(jì)算節(jié)點(diǎn)啟動(dòng)30 個(gè)進(jìn)程+4 加速器來(lái)執(zhí)行計(jì)算,對(duì)接策略采取受體為剛性,配體為柔性的處理方案,每次對(duì)接產(chǎn)生10 個(gè)最優(yōu)構(gòu)象。以50節(jié)點(diǎn)對(duì)100萬(wàn)分子執(zhí)行半柔性對(duì)接進(jìn)行測(cè)試,采用傳統(tǒng)劃分文件目錄后,順序調(diào)用加速器執(zhí)行分子對(duì)接計(jì)算的處理方法,計(jì)算時(shí)間受任務(wù)劃分粒度、計(jì)算節(jié)點(diǎn)服務(wù)能力、小文件頻繁IO 等因素的影響,計(jì)算時(shí)間大于5 h。超過(guò)500節(jié)點(diǎn)的大規(guī)模模擬、計(jì)算不均衡等因素導(dǎo)致的影響則更為嚴(yán)重,甚至多次出現(xiàn)節(jié)點(diǎn)故障導(dǎo)致計(jì)算失效的情況。使用本文分發(fā)系統(tǒng),計(jì)算時(shí)間可縮短到1.1 h。以50節(jié)點(diǎn)對(duì)100萬(wàn)分子執(zhí)行半柔性對(duì)接為基準(zhǔn)測(cè)試計(jì)算效率。通過(guò)網(wǎng)絡(luò)傳輸效率的測(cè)試,本文采取了一個(gè)枝服務(wù)數(shù)據(jù)庫(kù)向500 個(gè)計(jì)算節(jié)點(diǎn)同時(shí)分發(fā)任務(wù)的方案。例如,在2 000節(jié)點(diǎn)計(jì)算時(shí),采用了1個(gè)根數(shù)據(jù)庫(kù)和4個(gè)枝數(shù)據(jù)庫(kù)。由表1 所示,隨著并發(fā)規(guī)模的增大,計(jì)算效率在2 000節(jié)點(diǎn)時(shí),效率超過(guò)95%。

        表1 并行分發(fā)系統(tǒng)弱擴(kuò)展性測(cè)試Table 1 Weak scalability test of parallel distribution system

        對(duì)于更大并發(fā)規(guī)模的計(jì)算,可通過(guò)增加枝數(shù)據(jù)庫(kù)的數(shù)量來(lái)調(diào)度更多的計(jì)算節(jié)點(diǎn)。由于計(jì)算節(jié)點(diǎn)只與上級(jí)數(shù)據(jù)庫(kù)通訊,而彼此不進(jìn)行通訊,每個(gè)分支計(jì)算互不影響,可實(shí)現(xiàn)計(jì)算規(guī)模的不斷擴(kuò)展。

        3.2 與VFVS計(jì)算性能對(duì)比測(cè)試

        VFVS 為美國(guó)哈佛大學(xué)最新發(fā)表的超大規(guī)??焖偎幬锾摂M篩選平臺(tái)。它使用Shell 腳本開(kāi)發(fā),采用文件列表進(jìn)行任務(wù)分發(fā),集成了包括QuickVina 和AutoDock Vina在內(nèi)的多個(gè)CPU計(jì)算軟件,暫不支持GPU加速。利用該平臺(tái),科研人員針對(duì)KEAPI受體,利用8 000CPU 核心花費(fèi)約4 周時(shí)間,篩選了超13 億分子(包括3.3 億ZINC 數(shù)據(jù)庫(kù)分子及10 億REAL 數(shù)據(jù)庫(kù)分子),文中稱(chēng)可利用Google 云平臺(tái)16 萬(wàn)CPU 核心于15 h 篩選10 億化合物,是目前已知報(bào)道的篩選規(guī)模最大、速度最快的藥物虛擬篩選平臺(tái)。

        本文針對(duì)新冠病毒Mpro 受體(參數(shù)設(shè)置同上),每個(gè)節(jié)點(diǎn)選擇30個(gè)CPU核心,使用QuickVina2軟件[23]對(duì)VFVS 和本文并發(fā)系統(tǒng)進(jìn)行對(duì)比測(cè)試。首先測(cè)試單節(jié)點(diǎn)計(jì)算,本文選取了300 個(gè)分子,根據(jù)VFVS 軟件要求,分為30組(每組10個(gè)分子)寫(xiě)入中央文件列表,使用30個(gè)進(jìn)程執(zhí)行QuickVina2軟件計(jì)算,每個(gè)進(jìn)程串行執(zhí)行。本文對(duì)300 個(gè)分子通過(guò)Python 進(jìn)程池調(diào)度節(jié)點(diǎn)內(nèi)30 個(gè)進(jìn)程執(zhí)行上述計(jì)算。測(cè)試發(fā)現(xiàn):對(duì)于300 個(gè)分子結(jié)構(gòu)全部相同的情況,VFVS 測(cè)試時(shí)間為513 s,本文程序?yàn)?02 s,性能接近;若300 個(gè)分子結(jié)構(gòu)不同,VFVS的計(jì)算時(shí)間為473 s,本文為295 s。同理,對(duì)于600和1 123個(gè)不同結(jié)構(gòu)的分子,本文并發(fā)系統(tǒng)體現(xiàn)出了良好的速度優(yōu)勢(shì)。

        根據(jù)SlogP、MW、TPSA、HBA、HBD、RotB 等參數(shù)從REAL 數(shù)據(jù)庫(kù)中選擇了166 萬(wàn)分子,分別使用VFVS 和本文并發(fā)程序進(jìn)行測(cè)試,測(cè)試條件同上,測(cè)試規(guī)模為50 節(jié)點(diǎn),VFVS 全部節(jié)點(diǎn)執(zhí)行計(jì)算完成需19.5 h,本文為10.2 h。

        分析計(jì)算時(shí)間出現(xiàn)差異的原因,VFVS在工作任務(wù)較少時(shí),會(huì)發(fā)生進(jìn)程的CPU利用率不高的狀況,由負(fù)載不均衡造成性能少許損耗。本文由于使用了進(jìn)程池動(dòng)態(tài)調(diào)度,CPU基本處于滿(mǎn)載狀態(tài),有效克服了負(fù)載不均衡問(wèn)題。

        4 并行分發(fā)系統(tǒng)在抗新冠病毒藥物研發(fā)中的應(yīng)用

        新型冠狀病毒肺炎為感染新型冠狀病毒所致,該病毒在入侵細(xì)胞后首先利用細(xì)胞機(jī)器合成復(fù)制酶多肽,由主蛋白酶Mpro剪切后形成功能蛋白,進(jìn)一步組裝成以RNA聚合酶RdRp為核心的復(fù)制轉(zhuǎn)錄機(jī)器,啟動(dòng)自身遺傳物質(zhì)的大量復(fù)制,干擾這兩種蛋白質(zhì)的功能有望阻斷或抑制新冠病毒的復(fù)制過(guò)程。根據(jù)饒子和院士團(tuán)隊(duì)解析Mpro和RdRp家族同源結(jié)構(gòu)信息,本文提出了兩種不同活性位點(diǎn)的篩選方案,并在國(guó)產(chǎn)超級(jí)計(jì)算機(jī)上開(kāi)展了對(duì)多個(gè)小分子數(shù)據(jù)庫(kù)的虛擬篩選。

        采用本文的并行分發(fā)系統(tǒng),結(jié)合AutoDock GPU程序(計(jì)算參數(shù)設(shè)置同上)篩選了超過(guò)20億個(gè)小分子化合物,化合物來(lái)自ZINC、REAL公開(kāi)數(shù)據(jù)庫(kù)和自有數(shù)據(jù)庫(kù)等。如圖8,篩選出的活性分子有瑞德西韋類(lèi)似物(圖中紫色部分對(duì)應(yīng)的分子),還發(fā)現(xiàn)了若干新活性分子,目前已進(jìn)入實(shí)驗(yàn)活性測(cè)試階段(圖8 上圖為新冠病毒Mpro 與ZINC 數(shù)據(jù)庫(kù)對(duì)接后復(fù)合物之一,下圖為新冠病毒RdRp 蛋白與ZINC(紫色)及REAL數(shù)據(jù)庫(kù)對(duì)接后復(fù)合物之一(綠色))。

        圖8 蛋白與活性分子復(fù)合物Fig.8 Protein and active ligands complex

        5 結(jié)束語(yǔ)

        本文開(kāi)發(fā)了超大規(guī)模虛擬篩選并行分發(fā)系統(tǒng),利用負(fù)載均衡優(yōu)化和高容錯(cuò)技術(shù)等實(shí)現(xiàn)了超大規(guī)??焖偬摂M篩選計(jì)算,支持國(guó)產(chǎn)加速器,系統(tǒng)易用性好、穩(wěn)定性強(qiáng)。系統(tǒng)采用“分而治之”的策略,中央數(shù)據(jù)庫(kù)及下級(jí)多層數(shù)據(jù)庫(kù)管理和分發(fā)作業(yè),主從模式并發(fā)計(jì)算,可有效利用異構(gòu)計(jì)算部件,實(shí)現(xiàn)近線性加速效果。通過(guò)多層級(jí)任務(wù)分發(fā)、文件打包遷移及計(jì)算和后處理流程式設(shè)計(jì),實(shí)現(xiàn)節(jié)點(diǎn)間IO 和存儲(chǔ)的性能優(yōu)化,可有效處理數(shù)十億級(jí)分子;自動(dòng)掃描節(jié)點(diǎn)、快速重啟數(shù)據(jù)庫(kù)服務(wù)及相應(yīng)計(jì)算程序,實(shí)現(xiàn)長(zhǎng)時(shí)間穩(wěn)定運(yùn)行;屏蔽復(fù)雜處理細(xì)節(jié),通過(guò)配置文件靈活調(diào)整程序輸入及運(yùn)行參數(shù)等,有一定易用性。

        未來(lái)工作主要包括以下三方面:一是進(jìn)一步利用異構(gòu)加速提升計(jì)算速度;二是拓寬程序應(yīng)用領(lǐng)域和范圍,例如使用多個(gè)對(duì)接程序進(jìn)行共對(duì)接等;三是進(jìn)一步提升易用性,通過(guò)程序封裝并結(jié)合前端網(wǎng)絡(luò)應(yīng)用提供更加方便易用的使用體驗(yàn)。

        致謝本文的部分計(jì)算得到“東方”超級(jí)計(jì)算系統(tǒng)的支持與幫助。

        猜你喜歡
        進(jìn)程數(shù)據(jù)庫(kù)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        社會(huì)進(jìn)程中的新聞學(xué)探尋
        麻豆国产VA免费精品高清在线 | 日本一区二区在线免费看| 日韩美女人妻一区二区三区 | 青青草在线公开免费视频| 亚洲男人在线天堂av| 精品国产车一区二区三区| 久久精品亚洲精品国产区| 丰满人妻一区二区三区视频| 国产不卡视频一区二区三区| 精品水蜜桃久久久久久久| 亚洲va欧美va国产综合| 一本大道久久a久久综合| 中文字幕不卡高清免费| 久久中国国产Av秘 入口| 精品国产一区二区三区亚洲人| 国产高清在线91福利| 亚洲色欲色欲大片WWW无码| 太大太粗太爽免费视频| 青青草针对华人超碰在线| 久久麻豆精亚洲av品国产精品| 不卡av一区二区在线| 免费久久99精品国产| 国产成人综合久久久久久| 国模无码一区二区三区| 久久久久人妻精品一区蜜桃| 大桥未久亚洲无av码在线| 国产精品久久久久久麻豆一区| 日韩精品网| 中文天堂一区二区三区| 一区二区三区在线少妇| 国产精品内射久久一级二| 高h纯肉无码视频在线观看| 女人被狂躁高潮啊的视频在线看 | av男人的天堂手机免费网站| 国产一区白浆在线观看| 99无码熟妇丰满人妻啪啪| 日本高清www无色夜在线视频| 国产真人无遮挡免费视频| 日韩女人毛片在线播放| 国产一区二区三区涩涩涩| 青草久久婷婷亚洲精品|