跳转到正文

GeoDiff

GeoDiff 是一种用于分子构象生成的几何扩散模型,提供官方代码,支持基于 GEOM 的训练、检查点采样,以及构象和性质评估。

条目更新 ·

概览

GeoDiff 是一种用于分子构象生成的几何扩散模型的官方实现,该模型发表于 ICLR 2022 论文。其文档所述工作流程主要包括利用 GEOM 分子数据集进行学习,并为测试集分子生成构象。它是一个包含训练、采样和评估脚本的研究模型实现,而不是上游分子数据库或通用化学工具包。

该仓库链接到原始 GEOM 数据集,以及单独提供的预处理数据集。数据集位置和训练设置通过 YAML 文件配置。训练会在选定的输出目录中生成检查点、配置文件和日志。对于生成任务,项目提供 qm9_default 和 drugs_default 检查点,并支持选择全部或部分测试集。随后,生成的构象会由评估脚本处理;示例中引用了 sample_all.pkl 文件。文档所述评估包括 GEOM 构象覆盖率和匹配分数,以及使用单独的小型 QM9 划分进行的性质预测工作流程。

分支和依赖项的选择是重要限制。README 建议使用所提供预训练检查点的用户切换到 pretrain 分支,因为 main 分支上的更改导致了与这些检查点的兼容性问题。README 还指出,代码库和经过处理的 PyD 数据对象都与较新版本的 torch-geometric 不兼容。因此,所提供的材料支持的是特定研究工作流程,并不意味着该项目兼容当前环境,也不意味着其性能已在任意分子上得到验证。

主要功能

  • 基于配置文件在 GEOM 数据集上训练,包括 QM9、类药物分子,以及文档中所述的减少时间步消融设置。
  • 提供 `qm9_default` 和 `drugs_default` 预训练检查点,并指定使用 `pretrain` 分支。
  • 为完整测试集或按索引选择的子集生成构象,采样设置可在 `test.py` 中配置。
  • 通过 `eval_covmat.py` 评估构象,并报告 GEOM 数据集上的 `COV` 和 `MAT` 分数。
  • 使用生成的构象和 `eval_prop.py`,通过单独的 QM9 性质预测工作流程进行评估。
  • 提供在 PyMol 中显示和对齐分子构象的指导。

使用场景

  • 预期评估:为所提供 GEOM 测试数据中的有限子集生成构象,并使用文档所述的 `COV` 和 `MAT` 工作流程进行评估。
  • 预期评估:比较由配置控制的训练设置,包括减少时间步的药物模型消融设置。
  • 预期评估:探究生成的构象如何支持仓库在单独 QM9 划分上的性质预测基准测试。
  • 预期评估:按照所提供的 PyMol 显示和对齐指南,对生成的构象进行可视化检查。

使用方式

  1. 阅读官方 README,在选择本地环境之前,重点了解其中的环境说明和已知的 torch-geometric 兼容性问题。
  2. 从链接的下载文件夹获取预处理后的 GEOM 数据。将其放置在配置文件中 dataset 设置所指定的位置;注意区分这些数据与原始 GEOM 数据集。
  3. 选择训练或基于检查点生成的方式。使用所提供的预训练检查点时,请使用 pretrain 分支,并保留文档所述的检查点/配置目录布局。
  4. 如需训练,请检查仓库的 YAML 设置和 train.py 示例。继续操作之前,请核实配置路径:README 同时提到了 ./configs/*.yml 和 ./config/ 示例。
  5. 开始评估时,可在文档所述的 test.py 工作流程中选择较小的测试集范围,然后使用 eval_covmat.py 检查生成结果。应将单独的 QM9 性质划分视为独立评估,并在使用前根据代码核实该示例。

相关资源

GEOM

数据集

GEOM 提供 3,700 万个分子构象,涵盖超过 450,000 个分子,并标注能量和统计权重;数据包含 MessagePack、RDKit 对象以及加载和分析教程。

Python

分子生成 · 计算化学

MolSimplify

开源工具

molSimplify 可生成用于计算筛选的无机配位配合物和分子间配合物,并内置神经网络,用于预测八面体过渡金属配合物的若干特定性质。

开源Python

分子生成 · 计算化学

AIDDISON Explorer 是一个托管式药物发现平台,可根据目标特性要求、设计约束、预测属性和合成可行性生成并排序分子候选物。

分子生成 · 药物发现

Allegro

模型

Allegro 在 NequIP 框架中作为扩展实现 E(3)-等变原子间势,并提供文档说明的 GPU 加速选项,以及用于 LAMMPS 模拟的独立插件。

开源Python

计算化学 · 材料发现

ASE

开源工具

ASE 是原子模拟的 Python 工具库,通过统一计算器接口连接传统计算程序和外部机器学习势。

开源Python

计算化学

computational-chemistry-agent-skills 集合中的 ASE 路由 Skill,将工作流准备与计算器配置分开,并将执行委托给其他环节。

计算化学 · 材料发现

相关指南