前言
本文是基于 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_env
channels:
- rdkit
- pytorch
- conda-forge
dependencies:
- 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