目录

SGMD

misaraty 更新 | 2026-10-06

代理模型引导的分子发现(SGMD)


代理模型引导的分子生成与发现框架工作流程

使用方法

  • ./example 目录包含论文中使用的三个完整示例数据集:energetics、BACE 和 permeability。

  • 若要迁移至自定义数据集,请将 Sequence_v1.2.py、Diffusion_v1.2.py 和 D.csv 放置在同一目录下。可以通过修改 DATA_CSV = "D.csv" 更改文件名。D.csv 必须包含两列:SMILES:分子表示;D:目标性质。标签列的匹配规则可以通过 r"(^|[^A-Za-z])D([^A-Za-z]|$)|label|target" 修改。

  • 相应的运行命令分别为 python Sequence_v1.2.py 和 python Diffusion_v1.2.py。

  • Sequence_v1.2.py 和 Diffusion_v1.2.py 中的 TARGET_D 表示用于候选分子筛选和富集的目标性质阈值。在 Diffusion_v1.2.py 中,GRAPH_N_MAX 和 GEODIFF_N_MAX 应设置为最大原子数(包括加氢后结构中的氢原子),而 GRAPH_ATOMS 用于指定所考虑的元素类型。

  • ./smiles_check 目录中的 smiles_check_v6.py 是一个自动化后处理脚本,用于筛选和可视化生成的分子结果。该脚本从 generated_with_pred_MERGED_R5.csv 中读取 SMILES 和预测性质值 D,筛选并排序 D > 9.4 的分子(df = df[df[D_COL] > 9.4]),并使用 RDKit 进行全面的化学有效性筛选。此外,该脚本还包含可选的新颖性过滤功能,通过 canonical SMILES 匹配去除已存在于 Dm.csv 中的分子,以及通过前端开关控制的可选最大环尺寸过滤功能(默认阈值 = 12)。检查内容包括:SMILES 成功解析及 SanitizeMol 检查、单一中性组分及可选自由基限制、可选原子白名单、原子数和重原子数的分子尺寸限制、包括 MW、LogP、TPSA、HBD/HBA 和可旋转键在内的理化性质范围、环和芳香环数量限制、PAINS 结构警示,以及合成可及性 SA 分数阈值筛选。

[!NOTE] chemprop 使用 v1.6.1;其调用方式在 Windows 和 Ubuntu 系统中有所不同,Sequence_v1.2.py 和 Diffusion_v1.2.py 均支持这两个平台。

为避免仓库体积过大,./example 目录中不包含 *.pt 文件。如有需要,可通过电子邮件(misaraty@163.com)获取相应的 *.pt 文件,或通过运行脚本重新生成。

引用