概览
MoFlow 是一种研究模型,采用可逆流形式生成分子图。该仓库配合 Chengxi Zang 和 Fei Wang 的论文,提供适用于 QM9 和 zinc250k 的工作流。它用于分子生成和潜空间探索,并借助额外的性质回归模型进行优化。README 介绍的是预处理、训练和实验,而非托管服务或通用化学接口。
文档中的输入工作流从 SMILES 字符串开始,预处理脚本会将其转换为分子图。用户可以针对特定数据集训练模型,也可以获取链接中的已训练模型。生成和重构需要模型快照及其超参数配置。文档所述的输出包括重构图、采样分子、分子图像和实验日志。插值工作流探索两个分子之间的路径或潜空间中的网格;随机生成则提供采样温度、样本数和可选的有效性校正设置。
在性质优化方面,仓库介绍了训练额外的 MLP,将潜表示映射到 QED 或 plogp。随后利用该回归模型生成排序后的候选分子,或在相似性约束下优化现有分子。这些属于计算性质优化工作流;现有证据并未证明其具有实验活性,也未证明其适用于特定的药物发现项目。
示例与所提供的数据集、模型配置及记录的依赖环境相关。README 包含作者报告的实验结果,但不应将其视为其他设置下也能保证取得的结果。有效性校正是明确提供的生成选项,因此评估时应区分经过校正和未经校正的输出。现有摘录并未证实其与当前软件环境的兼容性,也未说明其在其他数据集上的表现。
主要功能
- 将 SMILES 字符串预处理为分子图,用于文档介绍的 QM9 和 zinc250k 工作流。
- 提供针对特定数据集的模型训练示例,并链接至已训练模型文件。
- 支持分子重构和潜空间随机生成,可配置温度、样本数和有效性校正。
- 包含基于两个分子和网格的潜空间插值工作流,并提供分子可视化。
- 训练用于 QED 或 plogp 的潜空间 MLP 回归器,并用其生成排序后的优化候选分子。
- 支持带有可配置分子相似性阈值的约束性质优化。
使用场景
- 预期评估:在 QM9 或 zinc250k 上评估重构和生成,并分别记录经过校正与未经校正输出的有效性、新颖性和唯一性。
- 预期评估:使用文档中的分子可视化,探索基于两点或网格的潜空间插值所呈现的结构变化。
- 预期评估:生成按 QED 排序的候选分子,或考察不同相似性约束下的 plogp 优化;不要将计算评分视为实验验证。
使用方式
- 阅读仓库 README和MoFlow 论文,选择文档介绍的数据集和实验:重构、随机生成、插值或优化。
- 按照 README 中的环境和依赖说明操作。将其中记录的软件包版本视为历史设置信息,而非与当前环境兼容的证明。
- 使用文档介绍的
data_preprocess.py工作流准备 QM9 或 zinc250k;该流程会将 SMILES 字符串转换为分子图。在预处理、训练和生成各阶段保持数据集选择一致。 - 使用相应的
train_model.py示例进行训练,或从链接的已训练模型文件夹获取文件。确保模型快照与moflow-params.json配置和所选模型匹配。 - 使用相应的
generate.py工作流。若要进行评估,请记录采样设置、是否启用有效性校正,以及生成的日志或分子图像。 - 对于优化,按照
optimize_property.py训练或选择性质回归器。在解读候选分子的排序或约束优化输出之前,检查性质模型路径和相似性设置。