人工智慧綁定
AI-Bind 是一個深度學習管道,可為前所未見的蛋白質和配體提供可解釋的結合預測。 AI-Bind 能夠快速篩選大型化學庫,並透過優先考慮蛋白質-配體對進行驗證來指導計算成本高昂的自動對接模擬。該管道需要輸入簡單的化學特徵,例如蛋白質的氨基酸序列和配體的異構 SMILE,這有助於克服與缺乏可用 3D 蛋白質結構相關的限制。
預印本可在:https://arxiv.org/abs/2112.13168
為什麼選擇AI綁定?
現有機器學習模型在預測蛋白質-配體結合的缺點
我們對預測前所未見的蛋白質和配體的結合的興趣促使我們將現有機器學習模型(例如 DeepPurpose)的測試性能分為三個部分:
(a) 轉導測試:當測試資料集中的蛋白質和配體都存在於訓練資料中時,
(b) 半感應測試:當訓練資料中僅存在測試資料集中的配體時,且
(c) 歸納測試:當訓練資料中不存在測試資料集中的蛋白質和配體。
我們了解到,只有歸納測試表現才是評估機器學習模型從蛋白質和配體的結構特徵學習結合程度的可靠指標。我們注意到,大多數模型主要呈現轉導測試性能,這與預測訓練中使用的蛋白質-配體相互作用網絡中看不見的連結有關。我們探索機器學習模型如何實現與更簡單的演算法(即網路配置模型)相當的轉導性能,後者完全忽略分子結構並使用程度資訊進行結合預測。
AI-Bind 提供什麼?
AI-Bind 管道透過在訓練資料中包含網路衍生的負樣本並引入分子嵌入的無監督預訓練,最大限度地提高歸納測試效能。此流程透過三種不同的神經架構進行驗證:VecNet、VAENet 和 Siamese 模型。 AI-Bind 中表現最好的架構是 VecNet,它分別使用 Mol2vec 和 ProtVec 嵌入蛋白質和配體。這些嵌入被輸入解碼器(多層感知器),預測結合機率。
AI-Bind 的可解釋性和識別活性結合位點
我們對蛋白質結構的某些構建塊(氨基酸三元組)進行突變,以識別對結合預測影響最大的區域,並將它們識別為潛在的結合位點。下面,我們透過視覺化自動對接模擬的結果並將預測位點映射到配體結合的氨基酸殘基來驗證 AI-Bind 預測的人類蛋白 TRIM59 上的活性結合位點。 AI-Bind預測的結合位點可以引導使用者為自動對接模擬建立最佳網格,進一步減少模擬時間。
設定 AI-Bind 並預測蛋白質-配體結合(最終用戶指南)
AI-Bind 的硬體設置
我們透過 Google 雲端平台上配備 Intel Broadwell CPU 和 NVIDIA Tesla T4 GPU 的伺服器訓練和測試了所有模型。 AI-Bind使用的Python版本是3.6.6。使用的CUDA版本是9.0。
使用 Docker
請使用此 docker 運行 AI-Bind:https://hub.docker.com/r/omairs/foodome2
使用需求文件
這裡列出了 AI-Bind 所需的所有 Python 模組和對應版本:requirements.txt
使用 pip install -rrequirements.txt 安裝相關套件。
AI-Bind中使用的rdkit版本:'2017.09.1'(安裝請查看文件:https://www.rdkit.org/docs/Install.html,指令:conda install -c rdkit rdkit)
確保 VecNet-User-Frontend.ipynb 筆記本和 AIBind 資料夾中的三個檔案(AIBind.py、 init.py和 import_modules.py)位於同一資料夾中。
下載資料檔案並將其保存在/data下。下載連結:https://zenodo.org/record/7226641
使用 Docker 的替代安裝
- 下載名為「Predictions.dockerfile」的 docker 檔案。
- 在終端機上,移至包含 dockerfile 的目錄並執行: docker build -t aibindpred -f ./Predictions.dockerfile ./
- 若要將映像作為容器執行: docker run -it --gpus all --name aibindpredcontainer -p 8888:8888 aibindpred 您可以在容器內複製 git 儲存庫,或在執行容器時附加本機磁碟區: docker run -it -- gpus all --name aibindpredcontainer -p 8888:8888 -v ./local_directory:/home aibindpred
- 若要在容器內執行其他 shell,請執行: docker exec -it aibindpredcontainer /bin/bash
- 若要在容器內執行 Jupyter Notebook 實例,請執行: jupyter Notebook --ip=0.0.0.0 --port=8888 --allow-root 上述步驟將安裝所有必要的套件並建立環境以使用 AI 執行綁定預測綁定。
從前端運行預測
- 使用列“InChiKey”、“SMILE”和“target_aa_code”以資料幀格式組織資料檔案。將此資料框儲存在 .csv 檔案中。
- 執行名為 VecNet-User-Frontend.ipynb 的筆記本以進行結合預測。預測的結合機率將在列標題“平均預測”下提供。
程式碼和數據
資料檔案
所有資料檔案可在此處取得:https://zenodo.org/record/7226641
- /data/sars-busters-consolidated/Database 檔案:包含來自 DrugBank、BindingDB 和 DTC(Drug Target Commons)的蛋白質配體結合資料。
- /data/sars-busters-consolidated/chemicals:包含用於訓練和測試帶有嵌入的 AI-Bind 的配體。
- /data/sars-busters-consolidated/GitData/DeepPurpose 和配置模型:與 Transformer-CNN (DeepPurpose) 和雙工配置模型的 5 倍交叉驗證相關的訓練測試資料。
- /data/sars-busters-consolidated/GitData/interactions:包含用於訓練 AI-Bind 神經網路的網路派生負數資料集。
- /data/sars-busters-consolidated/GitData:包含訓練有素的 VecNet 模型、與 COVID-19 相關的病毒和人類蛋白的結合預測,以及自動對接模擬結果的摘要。
- /data/sars-busters-consolidated/master_files:包含用於測試 AI-Bind 的絕對陰性(非結合)蛋白質配體對。
- /data/sars-busters-consolidated/targets:包含用於訓練和測試 AI-Bind 以及相關嵌入的蛋白質。
- /data/sars-busters-consolidated/interactions:包含來自 DrugBank、NCFD(食品資料庫中的天然化合物)、BindingDB 和 DTC 的陽性(結合)蛋白質-配體對。
- /data/sars-busters-consolidated/Auto Docking:包含 AI-Bind 對 COVID-19 相關病毒和人類蛋白質進行驗證的所有文件和結果。
- /data/sars-busters-consolidated/結合機率圖驗證:包含從自動焦化模擬中可視化活性結合位點的檔案。
- /data/sars-busters/Mol2vec:此處提供預先訓練的 Mol2vec 和 ProtVec 模型。
- /data/sars-busters-consolidated/s4pred:包含預測 TRIM59 二級結構的程式碼和檔案。
程式碼
在這裡,我們描述了 AI-Bind 中使用的 Jupyter Notebook、Python 模組和 MATLAB 腳本。
人工智慧綁定
- AIBind.py:包含 AI-Bind 的 Python 類別。包括所有神經架構:VecNet、VAENet 和 Siamese 模型。
- import_modules.py:包含所有運行 AI-Bind 所需的 Python 模組。
配置型號5倍
- 配置模型 - Cross-Validation.ipynb:計算 DeepPurpose 中使用的 BindingDB 資料上 Duplex 配置模型的 5 倍交叉驗證效能。
- configuration_bipartite.m:包含雙工配置模型的 MATLAB 實作。
- runscriptposneg.m:使用配體和蛋白質的程度序列來運行雙鏈體配置模型。輸出檔案 summat10.csv 和 summat01.csv 用於計算配置模型的效能。
DeepPurpose-5 倍
- Deep Purpose - 最終資料集 - Unseen Targets.ipynb:我們使用網路派生的負數在 DeepPurpose 上對看不見的目標(半感應測試)執行 5 倍交叉驗證。
- Deep Purpose - 最終資料集 - Unseen Nodes.ipynb:我們使用網路派生的負數在 DeepPurpose 上對看不見的節點(歸納測試)執行 5 倍交叉驗證。
摩爾運輸公司
- example_induction_AI_Bind_data.py:我們使用用於訓練 AI-Bind 的網路派生負樣本在 MolTrans 上執行歸納測試。
- example_induction_BindingDB.py:我們使用 MolTrans 論文中使用的 BindingDB 資料對 MolTrans 進行歸納測試。
- example_semi_inducing.py:此腳本可用於在 MolTrans 上執行半感應測試。
- example_transitive.py:此腳本可用於在 MolTrans 上執行轉導測試。
深層目的與配置模型
- DeepPurpose Rerun - Transformer CNN.ipynb:我們使用基準 BindingDB 資料訓練測試 DeepPurpose。這裡對 DeepPurpose 進行了多項實驗,包括隨機改組化學結構和 DeepPurpose 性能的程度分析。
- DeepPurpose data.ipynb 上的配置模型:我們探索 DeepPurpose 中使用的 BindingDB 資料集上的雙工配置模型的效能。
特徵輻條
- Eigen Spokes Analysis.ipynb - 我們在組合鄰接矩陣(行和列中都有配體和目標的方形鄰接矩陣)上執行 EigenSpokes 分析。
捷徑的出現
- without_and_with_constant_fluctuations_p_bind=0.16.ipynb:基於 BindingDB 中的蛋白質樣本在玩具單部分網路上建立並執行設定模型。在這裡,我們探討了與度和解離常數之間的關聯相關的兩個場景—解離常數值沒有任何波動和持續波動。
- With_variing_fluctuations.ipynb:基於 BindingDB 中的蛋白質樣本在玩具單部分網路上建立並運行配置模型,其中解離常數值的波動遵循與 BindingDB 資料中類似的趨勢。
工程特性
- 了解工程特徵.ipynb:我們探索工程特徵(代表配體和蛋白質分子的簡單特徵)的可解釋性。
- VecNet 工程特徵 - Mol2vec 和 Protvec 重要維度.ipynb:根據蛋白質配體結合確定 Mol2vec 和 ProtVec 嵌入中最重要的維度。
- VecNet Engineered Features Concat Original Features.ipynb:探索連接原始蛋白質和配體嵌入後 VecNet 的效能。
- VecNet Engineered Features.ipynb:以 VecNet 架構中的簡單工程特徵取代 Mol2vec 和 ProtVec 嵌入,並探索其效能。
識別活性結合位點
- VecNet-Protein-Trigrams-Study-GitHub.ipynb:我們將蛋白質上的胺基酸三元組突變,並觀察 VecNet 預測的波動。這個過程幫助我們識別氨基酸序列上潛在的活性結合位點。
隨機輸入測試
- VecNet-Unseen_Nodes-RANDOM.ipynb:在看不見的節點上執行 VecNet(歸納測試),其中配體和蛋白質嵌入被高斯隨機輸入取代。
- VecNet-Unseen_Nodes-T-RANDOM-Only.ipynb:在看不見的節點上執行 VecNet(歸納測試),其中蛋白質嵌入被高斯隨機輸入取代。
- VecNet-Unseen_Targets-RANDOM.ipynb:在看不見的目標上執行 VecNet(半感應測試),其中配體和蛋白質嵌入被高斯隨機輸入取代。
- VecNet-Unseen_Targets-T-RANDOM-Only.ipynb:在看不見的目標上執行 VecNet(半感應測試),其中蛋白質嵌入被高斯隨機輸入取代。
暹羅
- Siamese_Unseen_Nodes.ipynb:我們建立網路派生的負數資料集,並在此處對未見過的節點執行 5 倍交叉驗證(歸納測試)。
- Siamese_Unseen_Targets.ipynb:我們在這裡對看不見的目標執行 5 倍交叉驗證(半感應測試)。
VAE網路
- VAENet-Unseen_Nodes.ipynb:我們建立網路派生的負例,並在此處對未見過的節點執行 5 倍交叉驗證(歸納測試)。
- VAENet-Unseen_Targets.ipynb:我們在這裡對看不見的目標執行 5 倍交叉驗證(半感應測試)。
驗證
- SARS-CoV-2 預測分析 VecNet.ipynb:VecNet 對 SARS-CoV-2 病毒蛋白和與 COVID-19 相關的人類蛋白做出的前 100 個預測的自動對接驗證。
- Binding_Probability_Profile_Golden_Standar_Validation.py:使用黃金標準蛋白質結合資料驗證 AI-Bind 衍生的結合位置。
向量網
- VecNet-Unseen_Nodes.ipynb:我們創建網路衍生的負例,對未見過的節點執行5 倍交叉驗證(歸納測試),並對SARS-CoV-2 病毒蛋白和與COVID-19 相關的人類蛋白進行預測。
- VecNet-Unseen_Targets.ipynb:我們在這裡對看不見的目標執行 5 倍交叉驗證(半感應測試)。
外部資源
- 使用 Autodock Vina 學習自動對接:https://www.youtube.com/watch?v=BLbXkhqbebs
- 學習使用 PyMOL 視覺化活性結合位點:https://www.youtube.com/watch?v=mBlMI82JRfI
引用 AI-Bind
如果您發現 AI-Bind 對您的研究有用,請添加以下引用:
@article{Chatterjee2023,
doi = {10.1038/s41467-023-37572-z},
url = {https://doi.org/10.1038/s41467-023-37572-z},
year = {2023},
month = apr,
publisher = {Springer Science and Business Media {LLC}},
volume = {14},
number = {1},
author = {Ayan Chatterjee and Robin Walters and Zohair Shafi and Omair Shafi Ahmed and Michael Sebek and Deisy Gysi and Rose Yu and Tina Eliassi-Rad and Albert-L{'{a}}szl{'{o}} Barab{'{a}}si and Giulia Menichetti},
title = {Improving the generalizability of protein-ligand binding predictions with {AI}-Bind},
journal = {Nature Communications}
}