跳转到正文

DeepMol

BioSystems group contributor team / BioSystems group, Centre of Biological Engineering, University of Minho

DeepMol 是一个用于分子机器学习的 Python 工具包,可将化合物标准化和特征化与模型训练、评估、解释及可复用工作流连接起来。

条目更新 ·

概览

DeepMol 是一个用于药物发现和计算化学的 Python 机器学习与深度学习框架。它将分子数据准备与预测建模连接起来,使用 RDKit 进行分子操作,并通过封装器支持 Scikit-Learn、Keras 和 DeepChem 模型。它是一个工作流工具包,而非单一预测模型:用户可以组合预处理和建模组件,也可以使用文档介绍的 pipeline 接口将这些组件整合起来。

输入包括包含 SMILES 以及可选标识符、标签或现有特征的 CSV 数据集,以及包含分子结构的 SDF 文件。准备选项包括基本清理、可配置标准化和 ChEMBL 标准化。分子表示包括多种指纹系列、DeepChem 特征化器和 Mol2Vec 嵌入。工作流可以生成特征矩阵、转换后的数据集、训练好的模型、预测结果和评估指标;模型和工作流也可以保存和加载。

在模型开发方面,README 介绍了随机和分层划分、交叉验证、特征选择、不平衡数据处理、超参数搜索和工作流优化。探索方法包括 PCA、tSNE、KMeans 和 UMAP。基于 SHAP 的解释和指纹位绘图可用于检查特征贡献。另有单独链接的案例研究仓库提供已部署模型,包括 ADMET 示例;这些模型与核心工具包是分开的。

README 提示了依赖方面的限制:使用 GPU 需要让 TensorFlow 和 DGL 版本与硬件的 CUDA 驱动相匹配,JAX 可能导致依赖冲突,并且在 macOS 上加载 TensorFlow 模型存在文档所述的问题。Seq2Seq 和基于 transformer 的分子嵌入被描述为正在开发中,并非当前可用功能。所提供的证据无法证明其在用户数据集上的预测性能。

主要功能

  • 从包含 SMILES 以及可选标签、标识符或特征的 CSV 文件,以及包含分子结构的 SDF 文件加载分子数据集。
  • 提供基本、可配置和 ChEMBL 标准化,并支持电荷中和、同位素移除、立体化学移除和片段选择等选项。
  • 计算 Morgan、MACCS、Layered、RDK 和 AtomPair 指纹,并支持 DeepChem 特征化器和 Mol2Vec 嵌入。
  • 封装 Scikit-Learn、Keras 和 DeepChem 模型,用于训练、预测、基于指标的评估、交叉验证和模型持久化。
  • 支持特征选择、随机和分层数据划分、不平衡数据采样、超参数搜索以及多步骤工作流优化。
  • 提供 SHAP 解释、指纹位可视化,以及通过 PCA、tSNE、KMeans 和 UMAP 进行的无监督探索。

使用场景

  • 建议评估:基于带标签的 SMILES 构建分子性质分类或回归工作流,并在留出数据上比较不同表示方法和模型。
  • 建议评估:评估标准化选项和不平衡数据采样对分子活性分类工作流的影响。
  • 建议评估:检查 SHAP 贡献及对应的指纹位,以研究哪些结构特征会影响预测结果。
  • 建议评估:探索单独链接的 ADMET 案例研究模型,用于预测新化合物;使用前应核查每个模型的要求和适用范围。

使用方式

  1. 从 DeepMol 文档 和仓库 README开始。选择文档介绍的安装方式,以及预处理、机器学习或深度学习所需的依赖;配置环境前请查看 CUDA、JAX 和 macOS 相关注意事项。
  2. 准备一个有代表性的小型数据集。按照 README 中的 CSVLoader 示例加载带有可选标签和标识符的 SMILES,或按照 SDFLoader 示例加载结构文件。检查生成的数据集维度和标签字段。
  3. 从文档介绍的选项中选择标准化策略和分子表示。在将工作流扩展到完整数据集之前,检查转换后的分子和特征维度。
  4. 定义训练集、验证集和测试集划分,然后选择封装模型或组建工作流。如需任务示例指导,请参阅 README 链接的分类、回归或多任务 AutoML notebook。
  5. 使用适合任务的指标评估预测结果,在适用时检查 SHAP 或指纹解释,并保存模型或工作流。如果改用已部署模型,请参阅单独的案例研究仓库,不要将工具包本身视为预训练预测器。

相关资源

ChemBERTa

模型

ChemBERTa 提供用于化学 SMILES 的类 BERT 模型,包括采用 RoBERTa 掩码语言建模的检查点,以及用于预训练、微调和分子性质预测研究的笔记本。

开源Python

分子性质预测

ChemML

开源工具

ChemML 是一套用于化学与材料数据分析、挖掘和建模的 Python 工具,采用模块化设计,并有关于图神经网络、AutoML 和可解释性的工作记录。

开源Python

分子性质预测 · 材料发现

Chemprop

模型

Chemprop 是一个基于 PyTorch 的工具包,用于训练和评估进行分子性质预测的消息传递神经网络,并提供命令行工作流、Python 模块和针对特定任务的笔记本。

开源Python

分子性质预测

DGL-LifeSci

开源工具

DGL-LifeSci 是基于 DGL 和 PyTorch 的化学与生物图神经网络工具包,提供分子建模组件与示例。

开源Python

分子性质预测

DimeNet

模型

DimeNet 提供 DimeNet 和 DimeNet++ 的参考实现,用于分子图上的方向性消息传递,并包含训练笔记本、测试集预测工作流和预训练模型。

Python

分子性质预测 · 量子化学

DrugAgent 是一个研究型多智能体框架,它结合 LLM 规划与领域指导的代码生成,用于构建和评估药物发现领域的机器学习工作流。

分子性质预测 · 药物发现

相关指南

模型

QM9 分子性质预测:如何正确评估

明确 QM9 目标和单位,区分分子图与几何输入,防止评估泄漏,并保留原始数据与处理过程的来源记录。