概览
Molecular Sets (MOSES) 是一个面向分子生成研究的基准测试平台,整合了参考数据、模型实现和评估工具。它支持一套统一的工作流程,用于训练生成模型、采样分子结构,并将生成的分子集合与留出数据进行比较。因此,它不仅仅是一个独立数据集或单一预测模型。
该基准包含 1,936,962 个从 ZINC Clean Leads 集合筛选整理而来的分子结构。数据准备过程设置了分子量、可旋转键和 XlogP 的限制,排除了指定的原子和环结构,并采用了药物化学和 PAINS 过滤器。最终数据划分为约 160 万个训练分子,以及两个各约含 176,000 个分子的评估集。支架测试集保留了训练集和普通测试集中均未出现的 Bemis-Murcko 支架,为评估模型生成未见支架的能力提供了独立参考。
对于自定义模型,文档所述接口提供数据集划分,并接受生成的 SMILES 以计算指标。评估涵盖有效性、唯一性、新颖性、最近邻相似度、内部多样性、片段和支架比较,以及 Fréchet ChemNet Distance。基线工作流程还支持数据集划分、训练、生成和评估,并将结果写入 metrics.csv。
解读结果时应考虑该基准经过筛选的化学范围:比较针对的是这一参考集合,而非不受限制的化学空间。README 建议至少生成 30,000 个分子,并重复实验以估计指标方差。这些输出用于描述生成的分子集合,不应视为对生物活性或合成可行性的实验确认。
主要功能
- 提供经过筛选、源自 ZINC 的基准数据,可通过 `moses.get_dataset` 访问训练集、测试集和支架留出测试集。
- 介绍了 CharRNN、VAE、AAE 和 LatentGAN 等生成基线模型,并链接到 JTN-VAE 的实现。
- 根据生成的 SMILES 计算有效性、唯一性、新颖性、SNN、IntDiv、片段和支架指标,以及 Fréchet ChemNet Distance。
- 提供 `CharVocab` 和 `StringDataset` 辅助工具,用于为 torch DataLoader 准备基于字符串的分子数据。
- 包含端到端基线工作流程,可划分数据、训练模型、生成分子,并将评估结果保存到 `metrics.csv`。
- 介绍了独立的训练、采样和评估接口,以及跨多个随机种子评估模型的工作流程。
使用场景
- 建议的评估:使用相同的参考数据划分和指标套件,将新的分子生成模型与文档介绍的基线模型进行比较。
- 建议的评估:评估结构泛化能力时,考察普通测试集比较与支架留出比较之间的差异。
- 建议的评估:结合衡量分布相似性的指标,评估有效性、唯一性和新颖性,以识别生成分子集合中的权衡。
- 建议的评估:重复基线模型或自定义模型实验,以估计不同运行之间评估指标的波动情况。
使用方式
- 阅读官方 README,选择自定义模型基准测试或复现基线模型。查阅论文,了解该基准的研究背景。
- 按照 README 中的安装说明操作,包括 RDKit 设置。软件包名称为
molsets;LatentGAN 还有其他文档中列出的依赖项。请根据你的环境选择合适的安装方式,不要假定当前兼容性。 - 通过
moses.get_dataset获取train、test和test_scaffolds划分,或查看链接的基准数据集。将留出的参考数据与训练输入分开保存。 - 训练你的生成模型,或按照文档介绍的基线工作流程操作,然后收集生成的 SMILES。README 建议在计算指标时至少采样 30,000 个分子。
- 使用
moses.get_all_metrics或文档所述评估接口评估样本。保留生成的样本和指标输出,重复实验以估计方差,并在该基准经过筛选的化学范围内解读结果。