datamol

基于RDKit的Pythonic封装,提供简化接口与合理默认配置。专为标准药物发现流程优化,涵盖SMILES解析、结构标准化、分子描述符计算、指纹生成、聚类分析、3D构象生成及并行处理。始终返回原生rdkit.Chem.Mol对象。如需高级控制或自定义参数,请直接调用RDKit底层接口。

安装

热度:6

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-datamol&locale=zh&source=copy

Datamol - 分子化学信息学处理技能

技能概述

Datamol 是一个专为药物发现和化学信息学设计的 Python 工具,提供简化的 RDKit 接口,让分子数据处理变得更加简单高效。它能读取化学结构文件、计算分子描述符、生成化学指纹、进行分子聚类和 3D 构象分析,支持并行处理和云存储,是计算化学和药物研发的理想选择。

适用场景

虚拟筛选和化合物库筛选
适用于药物发现初筛阶段,快速筛选大规模化合物库。可以读取 SDF、SMILES 等格式的化学文件,批量计算分子指纹和描述符,根据 Lipinski 规则筛选类药性化合物,或基于相似性搜索找到与先导化合物相似的结构。

SAR 分析和可视化
适合药物化学研究人员分析结构-活性关系。通过提取 Murcko 支架、对相似分子进行聚类和对齐可视化,帮助识别活性关键的官能团和取代基,优化先导化合物。

机器学习特征工程
为 AI 辅助药物设计生成分子特征。可以批量计算数百种分子描述符或 ECFP 指纹作为机器学习模型的输入,用于预测活性、毒性或 ADMET 性质。

核心功能

分子文件读写与格式转换
支持 SDF、SMILES、CSV、Excel 等多种化学文件的读写,可直接读取云存储(如 S3)中的数据。能够自动解析和标准化分子结构,转换为 SMILES、InChI、SELFIES 等多种格式,处理外部数据更便捷。

分子描述符和指纹计算
一键计算分子量、LogP、氢键供体/受体数量、TPSA、芳香环数量等关键描述符,支持并行处理大规模化合物库。生成 ECFP、MACCS 等分子指纹,用于相似性搜索和机器学习。

分子聚类和多样性选择
使用 Butina 聚类算法对化合物按结构相似性分组,或进行多样性采样选择代表性分子。支持基于支架的拆分,确保训练集和测试集的支架不重叠,提高机器学习模型的泛化能力。

常见问题

Datamol 和 RDKit 有什么区别?应该选哪个?

Datamol 是 RDKit 的 Python 封装,提供了更简洁易用的 API 和合理默认参数。它返回的是原生 RDKit 分子对象,完全兼容 RDKit 生态,但操作更简洁。如果你需要处理分子数据、做批量计算和可视化,Datamol 更高效。如果需要高级定制或调用 RDKit 底层 C++ 功能,可直接使用 RDKit。

如何用 Datamol 读取和处理 SDF 文件?

使用 dm.read_sdf("compounds.sdf") 即可将 SDF 文件读取为包含分子对象的 DataFrame。处理时建议先用 dm.standardize_mol() 标准化结构,过滤掉解析失败的分子,然后用 dm.descriptors.batch_compute_many_descriptors() 批量计算性质。

Datamol 能处理多大规模的化合物库?

Datamol 支持并行处理(n_jobs=-1),可高效处理数千到数万分子的数据集。但对于超过 10,000 个分子的聚类分析,建议使用多样性选择而非全量聚类。计算指纹和描述符可以轻松处理百万级分子,并支持进度条显示。

    Datamol 技能 - Python 分子化学信息学与药物发现工具 - Open Skills