datamol 是构建在 RDKit 之上的轻量级 Python 化学信息学库,所有分子对象均为原生 rdkit.Chem.Mol,可与 RDKit 生态完全兼容。
用途:面向标准药物发现与分子数据处理,简化常见化学信息学操作。
主要能力:分子格式转换(SMILES、SELFIES、InChI);结构标准化与净化;分子描述符与指纹;3D 构象生成与分析;聚类与多样性选择;骨架与片段分析;化学反应应用;可视化与对齐;批量并行处理;通过 fsspec 支持云存储读写。
使用方式:安装命令为 uv pip install datamol,导入约定为 import datamol as dm。常用操作包括 dm.to_mol、dm.to_smiles、dm.standardize_mol、dm.read_sdf、dm.to_sdf、dm.descriptors.compute_many_descriptors、dm.to_fp、dm.cluster_mols、dm.pick_diverse、dm.to_scaffold_murcko、dm.fragment.brics、dm.conformers.generate、dm.viz.to_image 等。多数批量操作支持 n_jobs 与 progress 参数。
适用场景:化合物库标准化与过滤、描述符批量计算、相似性搜索与虚拟筛选、聚类与多样性挑选、骨架分析、SAR 分析、3D 构象分析、化学反应批量应用。
限制:Butina 聚类构建完整距离矩阵,适合约 1000 个分子,不适用于 10000 以上规模;外部来源分子建议先标准化;解析失败时 dm.to_mol 返回 None,需检查处理。具体收费、价格与平台信息暂未提供。