概览
GuacaMol 提供分子生成模型的基准测试框架,而不是分子生成模型本身。它支持两类评估:评估生成的分子是否类似于训练分布,以及评估生成结果在评分目标下的表现。该仓库还链接到标准化的 ChEMBL 衍生数据集,因此这一资源既可用于评估软件,也可作为基准数据来源。
要将模型用于分布学习基准测试,用户需实现 DistributionMatchingGenerator,并将其实例与训练集文件位置一同传给 assess_distribution_learning。对于目标导向评估,用户需实现 GoalDirectedGenerator;它负责根据给定评分函数生成指定数量的高分子分子,然后调用 assess_goal_directed_generation。这些工作流程会给出基准评估结果;来源摘录未说明结果文件格式。另有一个独立的基线仓库提供示例实现和示例 Docker 环境。
数据工作流程提供预先构建的训练集、验证集、测试集和合并数据集,并公布了 MD5 哈希值。或者,仓库也包含下载和准备 ChEMBL 数据的流程,其中会排除与指定留出集非常相似的分子。README 警告,软件包版本差异可能改变生成的数据集并导致准备过程失败,并介绍了通过 Docker 复现标准化数据的途径。依赖项包括 RDKit 和 FCD,其中 FCD 用于计算 Fréchet ChemNet Distance。所提供的文档说明了基准测试工作流程,但并未确立生成分子的前瞻性验证,也未提供任何特定模型性能的证据。
主要功能
- 通过 `DistributionMatchingGenerator` 和 `assess_distribution_learning` 进行分布学习评估,使用模型适配器和训练集文件。
- 通过 `GoalDirectedGenerator` 和 `assess_goal_directed_generation` 进行目标导向评估,支持根据给定评分函数生成分子。
- 预先构建的 ChEMBL 衍生训练集、验证集、测试集和合并数据集,并公布 MD5 校验和。
- 数据集准备流程会下载并处理 ChEMBL,同时排除与指定留出集非常相似的分子。
- 通过 FCD 依赖项计算 Fréchet ChemNet Distance。
- 提供基线模型实现和 Docker 环境的链接,用于基准测试开发和标准化数据集准备。
使用场景
- 建议的评估:使用相同的标准化训练数据集,在分布学习基准测试中比较分子生成器。
- 建议的评估:评估生成器根据目标导向评分目标生成指定数量分子的能力。
- 建议的评估:准备标准化的 ChEMBL 衍生数据集,并在跨环境比较基准测试结果之前核对其公布的哈希值。
使用方式
- 阅读官方 README,并根据要评估的问题选择分布学习或目标导向评估。查阅链接的基准测试论文,了解基准测试的设计依据和基线分数背景。
- 按照 README 中的安装说明安装软件包。对照 setup.py 检查依赖项;依赖声明与 README 中的内容有所不同,因此不要假设两者描述的是完全相同的环境。
- 从 GuacaMol 数据项目 获取相关数据划分,并核对公布的 MD5 哈希值。如果重新生成数据,请遵循 README 中的数据准备和 Docker 指引。
- 为你的模型实现
DistributionMatchingGenerator或GoalDirectedGenerator。将基线仓库用作实现参考,而不要将其视为模型的一部分。 - 调用相应的评估函数;对于分布学习,需提供训练集位置。将数据集标识和环境信息与结果一同记录;README 还介绍了用于检查安装情况的单元测试。