概览
Datamol 在 RDKit 之上提供用于分子处理的 Python 接口。它的核心分子表示形式是 rdkit.Chem.Mol,因此其函数可以融入已有 RDKit 对象的工作流。文档描述的范围是一个处理工具包,而非预测模型:它提供分子准备、表示形式转换、可视化和数据处理操作,可用于支持下游化学分析或机器学习数据准备。
README 展示了将 SMILES 字符串转换为分子、创建指纹,以及导出 SELFIES 和 InChI 表示形式。README 还展示了用于修复、清理和标准化分子的独立函数。表格工作流示例使用内置的 FreeSolv dataframe,并将其转换为分子对象。文件处理涵盖 SDF、CSV 和 XLSX 等格式,并通过 fsspec 支持远程路径;示例从 S3 读取 SDF,并将分子写入 Google Cloud 存储。
结构检查方面,示例包括二维分子图像、构象生成、通过 nglview 进行三维查看,以及根据构象计算溶剂可及表面积。来源还介绍了在适用情况下进行并行执行和可选的进度报告,但来源摘录没有给出性能测量结果。
所提供的软件包配置要求 Python 3.11 或更高版本,以及 RDKit 2024.9.1 或更高版本。依赖项说明需要谨慎解读:README 的更新部分提到将可选的 I/O 和可视化依赖项分离,而其安装部分及所提供的软件包配置则将这些功能包含在核心安装中。用户应检查所选发行版本的打包配置,而不要假定其中任一种依赖项安排普遍适用。
主要功能
- 使用 `rdkit.Chem.Mol` 对象,并将分子输入转换为指纹、SMILES、SELFIES 和 InChI 表示形式。
- 提供独立的分子修复、清理和标准化函数,并在 API 概览中加以示例说明。
- 将 dataframe 记录转换为分子,并支持分子数据的读写,包括 SDF 和通过 `fsspec` 访问的远程路径。
- 生成构象,并根据含有构象的分子计算溶剂可及表面积。
- 生成二维分子图示,并支持通过 nglview 查看三维构象。
- 在适用情况下提供内置并行化,并可选择显示进度条。
使用场景
- 评估用途:在下游化学信息学分析前,使用修复、清理和标准化处理具有代表性的分子记录。
- 评估用途:将分子结构转换为指纹或其他字符串表示形式,供独立的机器学习流程使用。
- 评估用途:针对与研究工作流相关的分子,评估构象生成、可视检查和表面积计算。
- 评估用途:使用小型代表性数据集,评估本地处理与 S3 或 Google Cloud 存储之间的 SDF 交换。
使用方式
- 从官方文档和仓库 README入手,确定与你的分子处理任务相关的 API。
- 在所提供的软件包配置中检查环境要求和依赖项声明。根据计划使用的发行版本核对 README 中相互矛盾的依赖项说明,然后按照该版本记录的安装方式操作。
- 查看链接的 Binder 基础笔记本,或研读 README 的 API 概览,了解分子字符串如何转换为 RDKit 对象及衍生表示形式。
- 如需进行评估,可选取一小组具有代表性的结构。比较修复、清理和标准化的输出,然后根据下游任务检查指纹或转换后的字符串。
- 仅评估你需要的其他操作,例如构象生成、分子图像或远程 SDF 交换。记录所选环境和观察到的行为;这些示例并不能证明该工具适用于你的数据集。