概览
Molfeat 提供统一接口,可将小分子转换为适用于下游机器学习工作流的表示。它将手工设计的特征化器和预训练分子嵌入整合到同一个软件包中,而不是提供单一的性质预测模型。项目 README 描述了一个面向小分子的 1.x 开发系列,其维护中的图后端为 PyTorch Geometric,并包含 CheMeleon 和 Mol-JEPA 等集成。
API 示例从 Datamol 的 FreeSolv 数据集中抽取 SMILES 字符串开始。示例先对一个分子应用 ECFP 计算器,再将该计算器封装在 MoleculeTransformer 中,以并行处理一组分子。输出是由所选特征化器决定的分子特征或嵌入。Transformer 配置可以保存到 YAML 文件,也可以从 YAML 文件恢复。ModelStore 可列出可用模型、按名称搜索,并通过模型卡提供使用指导。
插件允许独立开发的特征化器扩展该软件包。可选依赖项可启用 Transformers 集成、Mordred 描述符、HDF5 和 Parquet 缓存,以及 S3 或 Google Cloud 模型存储等功能。这些依赖项并非全部包含在核心安装中;README 指出,缺少所需依赖项时会报错并提供安装指导。
选择工作流时需考虑适用范围和许可。所述 1.x 系列移除了蛋白质特征化器,以及旧版 DGL、DGLLife 和 Graphormer 适配器。仓库代码的许可并不决定下载权重或自定义 Hub 代码的使用条款;Mol-JEPA 要求明确接受非商业许可。来源摘录没有证明其下游预测准确性或对比运行时间结果。
主要功能
- 通过统一的软件包接口整合手工设计的分子特征化器和预训练嵌入。
- 提供 FPCalculator("ecfp") 用于单分子特征化,并提供 MoleculeTransformer 用于并行处理分子集合。
- 通过 YAML 状态文件保存和恢复 MoleculeTransformer 配置。
- 支持使用 ModelStore 列出和搜索模型,并提供模型卡使用指导。
- 通过独立开发的插件扩展特征化功能,并提供可选的 HDF5 和 Parquet 缓存支持。
- 介绍了维护中的 CheMeleon 和 Mol-JEPA 集成,支持延迟加载模型,并明确说明外部检查点的许可要求。
使用场景
- 建议评估:在固定数据集和评估方案下,比较将 ECFP 特征与预训练嵌入作为小分子性质预测流程输入的效果。
- 建议评估:评估保存的 transformer 配置和可选缓存是否有助于在重复的数据集处理运行中实现可重复的特征化。
- 建议评估:通过插件系统集成自定义分子特征化器,并检查其输出是否符合项目对目标表示的要求。
使用方式
- 阅读官方文档和仓库 README,以选择特征化器。区分所述 1.x 开发版的要求与计划安装的发行版要求。
- 按照 README 中针对 uv、pip 或 conda-forge 的安装说明操作。只选择所选表示、缓存格式或模型存储所需且有文档说明的可选依赖项。
- 参考 README 中的 API 导览:准备一组较小的 SMILES 字符串,对一个分子应用 FPCalculator("ecfp"),然后使用 MoleculeTransformer 处理整个集合。
- 对于预训练表示,查看 ModelStore 列表以及所选模型卡中的使用指导。在下载产物之前,应将检查点和自定义 Hub 代码的条款与仓库代码许可分开核查。
- 按照 API 导览中的示例,将 transformer 配置保存为 YAML 并恢复。作为计划中的评估步骤,在将特征用于下游模型之前,先检查代表性分子的输出维度、失败输入和可重复性。