機器學習開源分子生成系列(2)-基于三維形狀和靜電相似性的DeepFMPO v3D安裝及使用


前言

本文是基于 3D 的分子生成方法DeepFMPO v3D的介紹及安裝使用。


一、DeepFMPO v3D是什么?


github代碼
介紹文章


在藥物發現中,如何尋找具新穎性和結構多樣性的候選分子是頗受藥物設計科學家關注的問題。通過虛擬篩選的化學空間搜索往往會受限于篩選庫的大小和構建方式,而分子生成則擴大了化學空間搜索的自由度,近年來發展了不少AI分子生成模型。

來自阿斯利康的Jonas Bostr?m等人在Journal of Chemical Information and Modeling上發表的文章 “On the Value of Using 3D Shape and Electrostatic Similarities in Deep Generative Methods”,該團隊之前公開了一個基于片段的強化學習的二維分子生成工具DeepFMPO,本文中作者展示了一種基于 3D 的分子生成方法(DeepFMPO v3D),并開發了一個免費開源的python包(ESP-Sim)計算片段對之間的靜電勢 (ESP) 相似性的,從三維形狀和靜電勢相似性上改進特征,更準確地生成與輸入分子結構具有相似性的優化分子。

作者展示了一種基于 3D 的分子生成方法(DeepFMPO v3D),并開發了一個免費開源的python包(ESP-Sim)計算片段對之間的靜電勢 (ESP) 相似性的,從三維形狀和靜電勢相似性上改進特征,更準確地生成與輸入分子結構具有相似性的優化分子。

DeepFMPO v3D工作流程: 以片段取代連接點氫原子,采用RDKit為每個片段生成10個能量最低構象,生成能量最低構象,以連接點對齊保留相似性最高分子,從連接點移除相同起始部分,計算RESP等原子電荷,計算對齊構象的ESP相似性,ESP-Combo 打分相似性評價。

以上流程的具體示例:


ESP-Sim 基準測試:
為了評估使用不同部分電荷對ESP-Sim的影響,作者計算了相同分子相同幾何結構不同部分電荷的ESP相似性。選擇約3000個中性分子,使用高精度量子化學(QM)計算獲得的RESP電荷再現分子的靜電勢,將不同部分電荷獲得的靜電勢與QM獲得的RESP電荷進行相似性比較。作者評估了Gasteiger、MMFF94和AM1-BCC部分電荷,以及機器學習模型 (ML)得到的部分電荷。
下表概述了各個部分電荷與 RESP 電荷的平均絕對偏差,以及通過 Carbo 或 Tanimoto 相似性評估的ESP相似性。可以發現 AM1-BCC電荷重現QM 靜電勢的效果較好,其次是深度學習模型、MMFF 和 Gasteiger。

二、安裝步驟


安裝環境:Ubuntu 22.04,? CUDA runtime版本11.8。
安裝步驟:先安裝espsim,然后安裝DeepFMPO v3D


1. 創建DeepFMPO v3D運行的conda環境

為DeepFMPO v3D運行創建虛擬環境,包含espsim安裝。

下載deepFMPOv3D:

git clone https://github.com/giovanni-bolcato/deepFMPOv3D.git
cd deepFMPOv3D

將以下內容保存為environment.yml:
?

name: deepFMPOv3D_envchannels:- rdkit- pytorch- conda-forgedependencies:- python=3.10- pytorch- numpy- scikit-learn- scipy- matplotlib- joblib- tqdm- keras- pandas- tensorflow- pip- pip:- resp- rdkit- python-Levenshtein- dask[dataframe]- bisect- git+https://github.com/hesther/chemprop-atom-bond.git

創建環境:
?

conda env create -f environment.yml



如果pip部分不成功,提示 `CondaEnvException: Pip failed`,激活conda環境,單獨安裝pip包即可,如下:

pip install git+https://github.com/hesther/chemprop-atom-bond.git

激活conda環境:
?

conda activate deepFMPOv3D_env

在環境中安裝TensorFlow,rdkit等模塊:

conda install numpy tensorflow -c conda-forge
pip install resp rdkit pandas python-levenshtein dask[dataframe]

?2. 安裝psi4:

conda install psi4 -c conda-forge

3. 下載并安裝espsim

git clone https://github.com/hesther/espsim.git
cd espsim
pip install -e .

?
測試espsim安裝:

python scripts/test_imports.py

返回以下即安裝正常:

Test passed, imports work fine.

??
測試espsim運行:

python scripts/test_esp_function.py

返回:

三、運行分子生成


激活以上創建的環境,進入deepFMPOv3D目錄:

cd deepFMPOv3D

Usage:

python deepFMPO.py -f your_fragment.smi -l your_lead.smi -o your_results.sdf

python deepFMPO.py -f ./Data/molecules.smi -l ./Data/lead.smi -o results.sdf
python decoding_to_sdf.py

---

總結


本文是基于 3D 的分子生成方法DeepFMPO v3D的介紹及安裝使用。

???
參考資料

1. GitHub - giovanni-bolcato/deepFMPOv3D: Implementation of Shape and Electrostatic similarity metric in deepFMPO.
2. On the value of using 3D-shape and electrostatic similarities in deep generative methods | Theoretical and Computational Chemistry | ChemRxiv | Cambridge Open Engage

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44050.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44050.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44050.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux賬戶和組管理——用戶密碼文件,工作組賬號文件,用戶管理

#### 用戶密碼文件 - /etc/shadow存儲密碼加密后的密文,又稱為“影子文件”,該文件為了保證了賬戶密碼的安全性只有 root 賬戶擁有讀權限,注意:若該文件權限發生變化,需要留心惡意攻擊 bash [rootserver ~]# ll /etc/…

linux之棧溢出分析

我們來創建一個例子,其中包含一個段錯誤,這次是由于棧溢出導致的。這是一個常見的錯誤,通常發生在程序遞歸調用深度過大,超出了為棧分配的內存空間。 下面是一個簡單的C程序,stack_overflow_example.c,它通…

優化與改進之輕量級Transformer - Transformer教程

在自然語言處理(NLP)的世界里,Transformer模型無疑是一顆璀璨的明珠。自從它在2017年被提出以來,就憑借其強大的性能和優雅的設計贏得了廣泛的關注和應用。然而,隨著應用的深入,Transformer的體量和計算資源…

牛頓力學和拉格朗日力學求解atwood machine問題對比

一個半徑為 R R R、轉動慣量為 I I I 的圓盤。繩子與圓盤無滑動,質量 m 2 m_2 m2? 的物體在重力 g g g 作用下下墜,帶動質量 m 1 m_1 m1? 的物體上升。求 m 1 m_1 m1?和 m 2 m_2 m2? 的加速度 a a a。 牛頓力學方法 對質量 m 1 m_1 m1? 和 …

Web 性能入門指南-1.2 分析在線零售 Web 性能及優化方向

讓顧客滿意是零售業成功的秘訣。事實證明,提供快速、一致的在線體驗可以顯著提高零售商關心的每項指標——從轉化率和收入到留存率和品牌認知度。 本文大綱: 頁面速度影響在線零售業務數據 如何將您的網站速度與競爭對手進行比較 性能優化入門&#xf…

Scanner工具類

掃描控制臺輸入 1.nextLine nextLine() 方法會掃描輸入流中的字符,直到遇到行末尾的換行符 \n,然后將該行的內容作為字符串返回,同時,nextLine() 會將 Scanner 對象的位置移動到下一行的開頭,以便下一次讀取數據時從下…

代碼隨想錄day09 151.翻轉字符串里的單詞 、卡碼網:55.右旋轉字符串

代碼隨想錄day09 151.翻轉字符串里的單詞 、卡碼網:55.右旋轉字符串 151. 反轉字符串中的單詞 這題我直接想到的是istringstream 和 stack 但不知道這樣使用是不是違反了規定 class Solution { public:string reverseWords(string s) {istringstream iss(s);stri…

MySQL的約束鍵多表查詢

約束 概念 概念:約束是作用于表中字段上的規則,用于限制存儲在表中的數據。目的:保證數據中數據的正確、有效性和完整性。 外鍵約束 概念 ? 外鍵用來讓兩張表的數據之間建立連接,從而保證數據的一致性和完整性。 注意&#x…

Qt常用基礎控件總結—輸入部件(QComboBox類和QLineEdit)

輸入部件 下拉列表控件QComboBox 類 QComboBox 類是 QWidget 類的直接子類,該類實現了一個下拉列表(組合框)。 QComboBox 類中的屬性函數 1)count:const int 訪問函數:int count() const; 獲取組合框中的項目數量,默認情況下,對于空組合框或未設置當前項目的組合框,…

網絡安全法視角下的等保測評法律責任與風險控制

《網絡安全法》是中國為了保障網絡安全、維護網絡空間主權和國家安全、社會公共利益,保護公民、法人和其他組織的合法權益而制定的一部重要法律。該法于2017年6月1日正式實施,其中對網絡安全等級保護制度(簡稱“等保”)做出了明確…

windows USB 設備驅動開發-USB復合設備的注冊

USB 多功能設備的驅動程序(稱為復合驅動程序)可以向基礎 USB 驅動程序堆棧注冊和注銷復合設備。 Microsoft 提供的驅動程序(Usbccgp.sys)是由 Windows 加載的默認復合驅動程序。 本文中的過程適用于替換Usbccgp.sys的基于 WDM的自…

c語言的簡易教法—— 函數遞歸

文章目錄 一、什么是遞歸?1.1遞歸的思想1.2遞歸的限制條件 二、遞歸案例2.1 案例1:求n的階層2.1.1分析2.1.2 遞歸函數(Fact)的代碼實現2.1.3 測試:main函數實現2.1.4 運行結果和畫圖推演2.1.5 擴展:迭代方法…

【66個開源+44個閉源Agent項目】

開源AI?Agent 1.AgentGPT 基于瀏覽器的 AutoGPT 實現,可通過無代碼平臺訪問。https://agentgpt.reworkd.ai/zh 2.AI Legion 一個讓智能體協同工作的平臺,其類似于 AutoGPT 和 Baby AGI,但用 TypeScript 編寫。https://github.com/eumemi…

如何使用BERT進行下游任務 - Transformer教程

BERT,即Bidirectional Encoder Representations from Transformers,是谷歌于2018年發布的預訓練語言模型。BERT的出現標志著自然語言處理領域的一個重要里程碑,因為它大幅提高了多種語言任務的性能。本文將詳細介紹如何使用BERT進行下游任務&…

華為如何做成數字化轉型?

目錄 企業數字化轉型是什么? 華為如何定義數字化轉型? 為什么做數字化轉型? 怎么做數字化轉型? 華為IPD的最佳實踐之“金蝶云” 企業數字化轉型是什么? 先看一下案例,華為經歷了多次戰略轉型&#xf…

前端工程化:Webpack配置全攻略

前端工程化:Webpack配置全攻略 前端小伙伴們,今天我們來聊聊那個讓人又愛又恨的 Webpack。沒錯,就是那個配置起來讓你想砸鍵盤,但又離不開它的構建工具。別擔心,跟著我來,保證讓你從 Webpack 小白變成配置…

人臉識別與檢測(保姆級教程--附帶源碼)

人臉識別與檢測(保姆級教程–附帶源碼) 項目背景 因項目需要招聘了一些日結工人,因此需要對工地現場的工人進行考勤管理,但工地只有海康攝像頭沒有專業考勤設備,因此需要基于視頻流開發人臉識別與檢測功能&#xff1…

Windows 虛擬機服務器項目部署

目錄 一、部署JDK下載JDK安裝JDK1.雙擊 jdk.exe 安裝程序2.點擊【下一步】3.默認安裝位置,點擊【下一步】4.等待提取安裝程序5.默認安裝位置,點擊【下一步】6.等待安裝7.安裝成功,點擊【關閉】 二、部署TomcatTomcat主要特點包括:…

奇怪的錯誤記錄

https://github.com/meta-llama/llama3/issues/80 讀模型沒問題,推理時出現: RuntimeError: “triu_tril_cuda_template” not implemented for ‘BFloat16’ ———————————————— 事發原因 我嘗試了解transformers的AutoProcessor時&a…

感應觸摸芯片集成為MCU,深度應用觸控按鍵技術的VR眼鏡

VR(Virtual Reality)即虛擬現實,簡稱VR,其具體內涵是綜合利用計算機圖形系統和各種現實及控制等接口設備,在計算機上生成的、可交互的三維環境中提供沉浸感覺的技術。它的工作原理是將左右眼圖像交互顯示在屏幕上的方式…