用途:该技能聚焦使用 RDKit 进行化学信息学计算,适用于处理 SMILES、药物发现等工作。
主要能力:分子读写(由 SMILES 创建分子、规范 SMILES 转换、读写 SDF/SMI 文件);分子描述符计算(分子量、LogP、TPSA、氢键供受体、可旋转键及 Lipinski 五规则);指纹与相似度(Morgan 环状指纹、RDKit 指纹、MACCS 键、Tanimoto 相似度);子结构检索(SMARTS 模式匹配、获取全部匹配、按官能团筛选化合物库);性质计算与三维处理(生成三维坐标、能量最小化)。
用法要点:由 SMILES 创建分子用 Chem.MolFromSmiles('CCO'),需检查是否为 None;规范 SMILES 用 Chem.MolToSmiles(mol);读取 SDF 用 Chem.SDMolSupplier('file.sdf'),读取 SMILES 文件用 Chem.SmilesMolSupplier('file.smi'),写出用 Chem.SDWriter('output.sdf');描述符如 Descriptors.MolWt(mol)、Descriptors.MolLogP(mol)、Descriptors.TPSA(mol);指纹如 AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048),相似度用 DataStructs.TanimotoSimilarity(fp1, fp2);子结构用 Chem.MolFromSmarts('[OH]') 配合 HasSubstructMatch 或 GetSubstructMatches;三维处理用 AllChem.EmbedMolecule(mol, AllChem.ETKDG()) 与 AllChem.MMFFOptimizeMolecule(mol)。
适用场景与限制:适合批量处理与虚拟筛选(Tanimoto>0.7 提示结构相似),默认 radius=2 等价 ECFP4。注意始终检查 None、三维工作需显式加氢、处理立体化学、大 SDF 文件用 ForwardSDMolSupplier 节省内存;Kekulization 错误通常源于无效 SMILES。剩余细节暂未提供。