用途:RDKit 是化学信息学工具库,提供 Python API 进行分子分析与操作,适用于药物发现、计算化学和化学信息学研究。
主要能力:
- 分子读写:用 Chem.MolFromSmiles、MolFromMolFile、MolFromMolBlock、MolFromInchi 读取结构,用 MolToSmiles、MolToMolBlock、MolToInchi 输出;支持 SDMolSupplier、SmilesMolSupplier、ForwardSDMolSupplier、MultithreadedSDMolSupplier 批量读取和 SDWriter 写出。
- 清洗与校验:解析时自动 sanitize(价键检查、芳香性感知、手性赋值等 13 步),可用 sanitize=False 关闭、Chem.SanitizeMol 手动执行、DetectChemistryProblems 检测问题。
- 结构与性质:遍历原子/键、环信息、SSSR、手性中心、片段与 Murcko 骨架;用 Descriptors 计算 MolWt、ExactMolWt、MolLogP、TPSA、氢键供受体、可旋转键、芳香环等,CalcMolDescriptors 可一次算全部。
- 指纹与相似性:RDKFingerprint、Morgan 指纹、MACCS keys、原子对、拓扑扭转、Avalon 指纹;用 DataStructs 计算 Tanimoto、Dice、Cosine 相似度,支持 Bulk 批量与 Butina 聚类。
- 子结构检索:用 SMARTS 定义查询,HasSubstructMatch、GetSubstructMatches 匹配。
- 化学反应:ReactionFromSmarts 定义反应,RunReactants 生成产物,支持原子映射与反应指纹。
- 2D/3D 坐标:Compute2DCoords 生成二维坐标,EmbedMolecule、EmbedMultipleConfs 生成构象,UFF/MMFF 优化,计算 RMSD 与对齐。
- 可视化:Draw.MolToImage、MolToFile、MolsToGridImage 绘图,支持高亮子结构、rdMolDraw2D 自定义、Jupyter 内联显示、指纹位可视化。
- 分子修饰与标准化:AddHs/RemoveHs、Kekulize、ReplaceSubstructs、Uncharger 中和电荷、rdMolHash 生成哈希、随机 SMILES。
- 药效团:ChemicalFeatures 加载特征工厂并获取药效团特征。
使用方式:通过 Python 导入 rdkit 包调用上述 API;MolFrom* 失败返回 None,处理前需判空。
限制:资料未提供安装命令、版本、收费与平台信息;部分功能(如 Avalon 指纹)标注为“if available”。