天天看點

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

文 | 阿裡雲高性能計算技術專家 孫相征

新冠狀病毒疫情發生後,為了幫助抗攻擊疫情,阿裡雲免費向全球公共科研機構提供高性能計算、SCC超級計算叢集和CPU/GPU機器、雲超算及AI等技術。

近期,不少研究機構和高校在阿裡雲上E-HPC雲超算上進行藥物研發相關的數值計算,阿裡雲超算團隊提供了技術支援與跟進。

本文主要介紹藥物篩選階段,E-HPC雲超算如何幫助研發人員實作大量小分子庫的快速并發處理。同時,介紹全球健康藥物研發中心GHDDI算力和成果共享開放平台的阿裡雲解決方案。

病毒、藥物研發和高性能計算

一款藥物的誕生周期極其漫長,從最早的新藥研發到上市,至少要經曆10年。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

在疫情這般分秒必争的背景關系下,時間尤為珍貴。是以在本次過程中,許多科學家會嘗試從已有的藥物裡面,找到能治療新冠的藥,免去了後續大量審批上市等步驟。

化合物發現階段,以往的方法是通過大量實驗做篩選,發現可能适合的化合物。如今,科學家嘗試通過機器模拟分子化合物與靶點的互相作用,進而篩選出可能有效的化合物做實驗。

在此過程中,高性能計算(High Performance Computing,簡稱HPC),常被稱為“超算”,是現代藥物研發必不可少的支援。

雲計算的興起更是改變了科學家擷取算力、享受超算服務的方式。比如阿裡雲E-HPC 雲超算産品,能夠讓科學家自助在雲上搭建高性能叢集系統,滿足藥物研發人員對計算平台的需求。

此外,雲上算力規模龐大且靈活,科學家可以按需購買,而不用擔心被算力規模限制了研發速度。

那麼,具體病毒、藥物研發和高性能計算之間具體聯系幾何?我們将從從病毒如何在宿主複制擴散開始講起,到藥物抑制方法舉例,最後給出高性能計算在藥物研發的作用。

病毒和藥物研發

病毒是由核酸分子(DNA或RNA)與蛋白質構成的非細胞形态,如下圖煙草花葉病毒所示。因為是非細胞的,無法通過細胞分裂的方式來完成數量增長,它們通過進入宿主細胞并利用宿主細胞内的代謝工具來合成自身的拷貝,并完成病毒的組裝[1]。 冠狀病毒(CoV)是一種是一組高度同源的,單鍊正譯RNA病毒,其具有以上的病毒特征,可引起多種嚴重程度不同的呼吸道,腸道,肝髒和神經系統疾病,在過去的12年中出現的兩種新型的,即嚴重的急性呼吸系統綜合症(SARS-CoV)和中東呼吸系統綜合症(MERS-CoV)[2],以及目前肆掠的COVID-19都屬于這種病毒。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結
如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

COVID-19病毒

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

某病毒蛋白分子結構[4]

病毒進入宿主細胞後,病毒基因組完成複制、轉錄(除了正譯RNA病毒外)以及病毒蛋白質合成,然後組裝行成更多數目的病毒,其生命流程如下圖所示(無包膜病毒簡易示圖)。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

利用藥物幹擾病毒複制過程,可以有效抑制病毒對機體的傷害。例如,病毒蛋白在合成過程中,需要蛋白酶的介入,如3cl蛋白酶和ProPL蛋白酶,抑制蛋白酶的功能就是抑制病毒的方法之一。蛋白酶上能夠被其它物質(配體、藥物)識别或結合的結構,被稱為靶點(Biological Target)。找到能夠與病毒的蛋白酶合适的靶點結合的配體(小分子藥物),通過藥物的作用改變蛋白酶的立體結構,進而改變其功能,阻礙病毒蛋白合成,導緻病毒無法複制,實作抑制病毒複制的效果。[3]

藥物研發與高性能計算

藥物研發是一個非常複雜和非常耗時的過程,藥物篩選隻是流程前期一個環節。例如,之前提的尋找跟蛋白病毒酶結合的小分子,由于存在不同種類或研究機構的配體(小分子)庫,配體(小分子)庫數量巨大,每個配體庫的配體數量成千上萬,甚至更大,通過實驗方式一一測試驗證是不切合實際的。通過計算機數值模拟進行篩選,對不同配體的結合效果進行打分,篩選出打分高且結合模式合理的一些配體作為候選藥物進行實驗驗證,能夠有效加速藥物的研究程序。

由于配體庫巨大,如果在有限時間完成篩選,也是一個巨大的挑戰。例如,配體庫有10,000個候選配體,每個配體平均處理時間為1.5個小時,總共需要15,000 個小時(625天)。是以,為在規定時間内算完,需要具備以下條件:

• 擁有強大計算能力的計算平台;

• 大容量存儲,用于存放處理資料和計算結果;

此外,為了保證篩選計算能夠高效、順利完成,還需要計算服務,包括:

• 叢集軟體運作環境,保證在多機環境下軟體運作,以及資料通路;

• 能夠支援多任務在多機環境下并發處理的并行方案。

除計算平台外,藥物篩選還需要高性能應用軟體。藥物篩選模拟計算包括Docking和分子動力學計算:Docking 耗時相對較小,常用于大量配體的初步篩選,主要軟體有dock6、Autodock Vina、Glide 等;分子動力學模拟計算比較耗時,測試作用的時間變化,用于對Docking初選結果進一步分析,主要軟體有Gromacs,Namd,Amber等,GPGPU加速效果一般比較明顯。

E-HPC 高通量藥物篩選方案

藥物研發需要強大計算能力的高性能叢集,如何擷取這些計算資源和服務呢?

伴随着雲計算的興起,從雲上擷取計算伺服器服務成為一個新的途徑,同時阿裡雲提供不同産品服務,如雲超算産品E-HPC(Elastic High Performance Computing),叢集共享檔案系統NAS/CPFS,資料庫等。其中E-HPC 雲超算産品,能夠讓使用者自助在雲上搭建自己的高性能叢集系統,配置高性能伺服器和大容量存儲,提供軟體多節點運作和高通量任務處了解決方案,直接滿足藥物研發人員對計算平台的需求。

E-HPC 雲超算

阿裡雲E-HPC雲超算産品是雲原生的高性能計算叢集解決方案,将阿裡雲的計算産品(ECS/EGS/裸金屬伺服器/超級計算叢集)、網絡(VPC/RoCE)和存儲(NAS/OSS/CPFS)等産品進行整合,配置高性能計算作業管理和賬戶管理,并內建常用的HPC應用軟體,實作讓使用者在頁面操作,擷取自己的高性能計算叢集,擁有root權限,對叢集進行管理配置。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

除功能以外,性能上阿裡雲提供多種計算執行個體類型,提供各種計算能力(1vCPU、2vCPU、4vCPU … 104vCPU)、不同記憶體配比(1vCPU:2GB, 1vCPU:4GB, 1vCPU: 8GB)的算例、或配有GPU或FPGA加速卡,CPU類型多為Intel 最新架構。其中,彈性裸金屬伺服器(ECS Bare Metal Instance)是基于阿裡雲完全自主研發的下一代虛拟化技術而打造的新型計算類伺服器産品,兼具虛拟機的彈性和實體機的性能及功能特性,釋放整機的計算性能;裸金屬伺服器配有支援RMDA的RoCE高速網絡,變成超級計算叢集SCC (Super Computing Cluster) 産品,滿足大規模高并發的應用場景。

E-HPC高通量任務解決方案

高性能計算環境提供基礎的計算平台,要實作高效的藥物篩選,還需要一種高通量任務解決方案。

例如,使用DOCK6 處理配體(小分子)庫的對接案例,在一個檔案夾中,如mol2,存放大量的小分子檔案,每個小分子處理流程是一樣的,均需要跟相同的受體(如病毒蛋白酶)進行計算。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

如果使用串行的處理方式,代碼如下圖所示。其中,dock.in 為DOCK6指令的輸入檔案,并且需要根據小分子檔案名修改相應的參數取值。這段代碼周遊mol2檔案夾下每個分子檔案,對每個檔案生成對應的dock.in輸入檔案,然後運作dock6指令進行處理。

for molin in mol2/*; do
    molin_name=`basename $molin`

    cp dock.in $molin_name.dock.in
    sed -ie "/^ligand_atom_file/cligand_atom_file 
$molin" $molin_name.dock.in
    sed -ie "/^ligand_outfile_prefix/cligand_outfile_prefix $molin_name" $molin_name.dock.in
    
    dock6 -i $molin_name.dock.in -o $molin_name.dock.out

done           

串行執行,時間長,無法利用高性能叢集的計算能力,如何在叢集上多節點、多核并發的處理,實作快速處理呢?實作方法也有多種,如手工的将mol2檔案夾分成若幹個子檔案夾,每個檔案夾分得少量的小分子檔案,然後在每個子檔案串行執行。這種方式需要過多的人工參與,尤其是在有任務出錯,需要調整重新送出的場景,很容出現重算、漏算。

E-HPC 高通量任務定義和啟動

E-HPC 提供了高通量任務解決方案。對于本案例,通過3個步驟就能夠實作大量小分子檔案的并發處理。

  1. 将mol2檔案下的分子檔案名儲存到一個檔案檔案,如molin。
    $ ls mol2/* > molin           
  1. 編寫處理單個小分子檔案的腳本 task.sh,小分子檔案名用 $molin 代替,對比串行邏輯,可以看出是直接複制for循環内的處理代碼。
    molin_name=`basename $molin`
    
    cp dock.in $molin_name.dock.in
    sed -ie "/^ligand_atom_file/cligand_atom_file $molin" $molin_name.dock.in
    sed -ie "/^ligand_outfile_prefix/cligand_outfile_prefix $molin_name" $molin_name.dock.in
    
    dock6 -i $molin_name.dock.in -o $molin_name.dock.out           
  1. 通過E-HPC 高通量任務處理指令 ehpcarr 送出task.sh運作,并傳回作業号2[].manager。此時,任務已經使用96個CPU core進行并發處理了,如果節點包含CPU core數目少于96時,會自動配置設定到多個節點。例如,使用12 CPU core的執行個體,所有分子處理任務會在8個節點上運作。
    $ ehpcarr submit -w 96 ./task.sh molin
    2[].manager           

E-HPC 高通量任務狀态查詢

使用ehpcarr指令,根據作業号進行查詢任務的并發執行情況。從查詢結果可以得倒每個任務目前的處理狀态,包括完成(DONE)、運作(RUNNING)、失敗(FAILED)、排隊(INIT),每個任務處理的啟示截止時間,通過對任務執行時間可以預估下次使用的計算資源。

從查詢結果可以看出:

• E-HPC 作業排程器啟動了8個節點進行藥物篩選處理;

• 不同任務配置設定到不同的計算節點(0号任務配置設定到compute001,10520任務配置設定到compute008);

• 相同節點有不同的并發任務(0,111都在compute001并發處理)。

$ ehpcarr status 2[].manager           
如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

E-HPC 解決方案,是基于高性能叢集作業排程器的數組作業,并進行了增強:

• 限定任務的并發數量,避免1個任務1個作業引發叢集大量排隊作業,影響其它叢集使用者作業的運作;

• 能夠實作任務的動态排程,充分利用計算資源。

GHDDI 開放共享平台

在新冠狀病毒疫情下,資源和研究成果共享,能極大的加速研究者的進展,避免重複的工作。

全球健康藥物研發中心(Global Health Drug Discovery Institute,簡稱“GHDDI”)是由比爾及梅琳達·蓋茨基金會、清華大學和北京市政府共同創立和建設的一個獨立營運、非營利性質的新型藥物研發機構。

GHDDI在阿裡雲之上搭建了開放共享平台,使用E-HPC搭建高性能計算叢集,用于藥物研發的模拟計算,同時為合作夥伴建立不同的雲超算子賬戶,實作計算資源共享。

同時,為了将E-HPC雲超算叢集上的計算結果共享釋出,将阿裡雲對象存儲産品OSS直接挂載到E-HPC超算叢集上,把需要釋出的結果放到OSS上。此外,在雲上建立一個ECS計算伺服器,用于搭建web伺服器[4],将OSS通路連結放在web伺服器上,供大家浏覽、下載下傳。

如何使用阿裡雲超算E-HPC實作新冠狀病毒高通量藥物篩選病毒、藥物研發和高性能計算E-HPC 高通量藥物篩選方案GHDDI 開放共享平台總結

總結

藥物研發需要強大計算能力的高性能計算叢集,如藥物篩選需要進行大量小分子的Docking處理。

科學家可以利用阿裡雲E-HPC雲超算産品,在雲上快速建構高性能叢集,擷取高性能的計算執行個體,滿足算力的需求。

同時,E-HPC提供了高通量任務處理的解決方案,使得藥物篩選在多計算節點、多核上并發處理,降低任務整體執行時間。此外,由于E-HPC是雲原生的超算産品,是以能夠跟其它雲産品打通,如對象存儲OSS,能夠容易、快速搭建計算、資訊釋出平台。

[1] https://zh.wikipedia.org/wiki/%E7%97%85%E6%AF%92#cite_note-2 [2] Zumla, A., Chan, J., Azhar, E. et al. Coronaviruses — drug discovery and therapeutic options. Nat Rev Drug Discov 15, 327–347 (2016). https://doi.org/10.1038/nrd.2015.37 [3] https://zh.wikipedia.org/wiki/%E9%9D%B6%E7%82%B9_(%E7%94%9F%E7%89%A9%E5%AD%A6) [4] https://ghddi-ailab.github.io/Targeting2019-nCoV/

繼續閱讀