SuperAPI AI 工具集

datamol

数据与分析

查看项目

更新于 10-16 02:30

技能介绍

用途:datamol 是面向分子化学信息学的 Python 库,在 RDKit 之上提供轻量、Pythonic 的抽象层与合理默认值,用于标准药物发现流程中的分子处理与分析。所有分子对象均为原生 rdkit.Chem.Mol,兼容 RDKit 生态。

主要能力:分子格式转换(SMILES、SELFIES、InChI);结构标准化与净化;分子描述符与指纹;3D 构象生成与分析;聚类与多样性选择;骨架与片段分析;化学反应应用;可视化与对齐;批量并行处理;通过 fsspec 支持云存储。

安装:conda install -c conda-forge datamol 或 pip install datamol;导入约定为 import datamol as dm。

用法要点:用 dm.to_mol 解析 SMILES(失败返回 None),dm.to_smiles/to_inchi/to_selfies 转换格式;对外部数据建议 dm.standardize_mol 标准化;dm.read_sdf/read_smi/read_csv/read_excel/open_df 读取文件,dm.to_sdf/to_smi/to_xlsx 写出;dm.descriptors.compute_many_descriptors 与 batch_compute_many_descriptors 计算描述符;dm.to_fp 生成指纹,dm.pdist/cdist 计算相似度距离;dm.cluster_mols 做 Butina 聚类,dm.pick_diverse/pick_centroids 做多样性选择;dm.to_scaffold_murcko 提取骨架;dm.fragment.brics/recap 片段化;dm.conformers.generate 生成 3D 构象并支持聚类与 SASA;dm.viz.to_image 可视化;dm.reactions.apply_reaction 应用反应。多数批处理函数支持 n_jobs(-1 为全部 CPU)与 progress 参数。

适用场景:化合物库清洗与标准化、描述符计算与成药性过滤、相似性搜索与虚拟筛选、聚类与多样性挑选、骨架/SAR 分析、机器学习数据集的骨架切分、构象分析、批量可视化。

限制:Butina 聚类需构建完整距离矩阵,适合约 1000 个分子量级,不适用于上万级;无效 SMILES 解析结果为 None,需显式检查;其他收费、价格、平台等信息暂未提供。