Milvus 賦能 AI 藥物研發

新藥研發領域長期以來都以耗時長、成本高、風險大、回報率低而著稱,一款新藥的平均研發成本已經高達 26 億美元,而平均耗時需要十年。儘管付出瞭如此高昂的研發成本和漫長的研發週期,卻依然無法保證所研發的藥物能夠順利通過全部臨牀實驗而投放市場。即便是難度較低的仿製藥研發,其研發的進程也是十分緩慢。

伴隨深度學習等一系列 AI 技術的不斷髮展,將 AI 技術與藥物研發相結合,可以很大程度上減少新藥研發時間、降低新藥研發成本,也可以加速仿製藥的研發和入市,毫無疑問人工智能和機器學習將開創一個更快速、更低價、更高效的藥物研發時代。

Zilliz 公司聯手全球頂尖製藥研發企業共同開發了 MolSearch 化合物分子結構分析軟件,爲 AI 藥物研發探索出了一個新的技術突破點。

| Milvus 向量搜索引擎

Milvus 作爲一款開源的特徵向量相似度搜索引擎,憑藉其強大的非結構化數據處理能力已經廣泛應用於 AI 技術的重點領域如:機器視覺(圖片視頻處理)、自然語言處理、語音識別等。

隨着 AI 技術與藥物研發領域的深度結合,Milvus 在這一領域也有着廣闊的應用前景。 比如新藥研發過程藥物晶型預測可以結合 Milvus 在圖像識別的應用,有效的預測出合適的藥物晶型;靶點篩選和患者招募過程可以抽象爲對文本語義分析問題,可以結合 Milvus 在自然語言處理的應用,快速分析有關藥物研發的文本數據等。

虛擬藥物篩選是新藥研發過程中的一個關鍵步驟,通過模擬藥物篩選的過程,預測化合物可能的活性,對比較有可能成爲藥物的化合物進行針對性的實體篩選,極大的降低了藥物研發的成本。這過程在傳統的方案受限於算法和算力,在對千萬級別的化合物分子進行相似性、子結構、超結構等分析時,耗時在分鐘級別,而集成了 Milvus 的方案能夠對十億級的化學式數據進行秒級分析,這一技術突破能夠極大的提升新藥研發的效率。

Milvus 能夠廣泛的應用在藥物研發的各個階段,通過將成熟的 AI 模型結合 Milvus 向量搜索引擎,一定會爲藥物研發領域帶來更多顛覆性的技術突破。

| MolSearch 虛擬藥物篩選工具

MolSearch 是基於 Milvus 向量相似度檢索引擎研發的一款開源化合物分析軟件,前端設計參考了開源軟件 MolView[1],具體搭建和功能介紹可以參考 https://github.com/zilliztech/MolSearch

藥物化學專家通常根據骨架躍遷對分子模塊進行優化,在此基礎上設計出新藥結構供後續篩選。我們共同研發 MolSearch 的初衷,是爲了加速對海量化合物的虛擬篩選。虛擬篩選是新藥研發中必不可少也是十分重要的一步,它的結果很大程度決定了後期小白鼠實驗以及臨牀試驗能否成功,虛擬篩選時化合物底庫數量越多,篩選的準確率越高,那麼新藥研發成功的可能性也就越高。

MolSearch 系統中分子檢索功能通過集成 Milvus 作爲核心檢索引擎,實現了十億級的化學分子結構進行秒級分析的能力,這也是 MolSearch 在藥物研發領域的一個重要技術突破。目前在 MolSearch 中集成了8.2億 zinc 開放化學式分子式數據集[2],通過將化學式轉換爲 2048 位的化學指紋(特徵向量)在 Milvus 中進行高性能向量計算而實現對分子結構的相似性、子結構和超結構檢索,其端到端的檢索性能如下:

 

表中的 p 表示百分比,響應時間(p99)表示99%的檢索能在多少時間完成。

| 系統概覽

MolSearch 系統中運用的虛擬化合物篩選技術,首先通過 RDKit 工具[3]將化合物分子的化學式轉換爲化學式指紋 (Chemical Fingerprint),就是一組特徵向量,然後通過計算這些向量之間的距離來分析化合物分子之間的相似性。 

 

1. 化學指紋生成

化學指紋通常用來做結構檢索和相似度檢索,如下圖所示,指紋是 (1/0) 位表示的有序列表,每一位代表化學結構中例如指定元素,分子片段等的存在。

MolSearch 系統中利用 RDKit 工具生成 RDKit fingerprint,該算法分析從一個原子開始直至到達指定數量鍵的路徑(path,通常爲線性)上所有的分子片段,然後對每一個路徑進行哈希(hash)產生指紋(fingerprint),如下圖中展示了從NH2(已圈出)開始一直到 6 個長度的所有路徑,然後將每個路徑散列爲二進制位。

上圖僅展示了從一個單個起始原子出發的片段和比特位,對於完整的指紋,將對分子中的每個原子進行重複該過程。此類指紋適用於任意一個分子,並可以指定 fpSize 調整其向量維度,最終生成的 vectors 可以導入 Milvus 並檢索。

fromrdkitimportChem
mols=Chem.MolFromSmiles(smiles)
fp=Chem.RDKFingerprint(mols,fpSize=VECTOR_DIMENSION)
bit_fp=DataStructs.BitVectToFPSText(fp)
vectors=bytes.fromhex(hex_fp)

2. 化合物檢索

通過將生成的向量導入 Milvus 建立化合物庫,根據不同的計算方式可以實現對化合物的相似度檢索、子結構檢索和超結構檢索。

from milvus import *
milvus = Milvus()
milvus.insert(collection_name=MILVUS_TABLE, records=vectors)
milvus.search(collection_name=MILVUS_TABLE, query_records=query_list, top_k=topk, params={})
  • 相似度檢索

用於尋找與輸入的參考分子比較相似的分子。

  • 子結構檢索

檢測一個分子結構是否爲另一個分子的子結構。

  • 超結構檢索

檢測一個分子結構是否爲另一個分子的超結構。

3. 化學指紋計算

Milvus 支持各種常用的相似度計算指標,包括歐氏距離、內積、漢明距離和傑卡德距離等。針對二值型數據 MolSearch 系統選擇 Jaccard/Substructure/Superstructure 距離計算相似度。

根據以上參數,化學式指紋計算可以描述爲:

| 總結

Milvus 憑藉其先進的軟、硬件算法,能夠爲各類 AI 應用提供企業級的穩定、高性能向量檢索支持。MolSearch 系統正式充分發揮了 Milvus 這一特性,實現了對海量分子式的高性能分析能力,顛覆了傳統的虛擬藥物篩選方案,實現了技術突破。我們相信 Milvus 必將會在藥物研發的其他各個領域獲得更廣闊的應用前景,期待與 AI 藥物研發領域的有志同仁攜手共建 Milvus 這一 AI 數據處理平臺。

最後,也歡迎點擊 “閱讀原文” 或是到 Milvus 官網體驗 MolSearch Demo!

| 引用

  1. http://molview.org/

  2. Sterling and Irwin, J. Chem. Inf. Model, 2015, https://pubs.acs.org/doi/abs/10.1021/acs.jcim.5b00559

  3. Landrum, G. 2010. RDKit. Q2. https://www.rdkit.org/

| 歡迎加入 Milvus 社區

github.com/milvus-io/milvus | 源碼

milvus.io | 官網

milvusio.slack.com | Slack 社區

zhihu.com/org/zilliz-11/columns | 知乎

zilliz.blog.csdn.net | CSDN 博客

space.bilibili.com/478166626 | Bilibili


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章