用途:RDKit 是化学信息学库,提供 Python API 进行分子分析与操作,面向药物发现、计算化学和化学信息学研究。
主要能力:支持 SMILES、MOL、InChI、SDF 等格式的分子读写与批量处理;自动进行价键校验、芳香性感知等 sanitization;计算分子量、LogP、TPSA、氢键供受体、可旋转键等描述符;生成 Morgan、RDKit、MACCS、原子对、拓扑扭转等指纹并计算 Tanimoto 等相似度;用 SMARTS 做子结构检索;定义反应 SMARTS 并运行反应;生成 2D/3D 坐标与多构象,进行 UFF/MMFF 优化;绘制分子图并高亮子结构;还支持分子标准化、哈希、药效团特征等。
使用方式:安装可用 uv pip install rdkit,或按上游推荐用 conda create -c conda-forge -n my-rdkit-env rdkit 后 conda activate my-rdkit-env。避免在同一环境混装 conda 与 PyPI 版本。典型用法是 Chem.MolFromSmiles 读入分子,检查是否为 None,再用 Descriptors、rdFingerprintGenerator、AllChem 等模块处理。
适用场景:药物相似性分析、化合物库筛选、相似性聚类、子结构过滤、反应枚举、构象生成与可视化。
限制:MolFrom* 失败返回 None,需先判空;sanitization 可能因价键或芳香性问题报错;部分功能依赖可选组件;资料未提供收费、平台与效果信息。