用途:该技能用于访问 PubChem 化学数据库,通过 PUG-REST API 和 PubChemPy 按名称、CID、SMILES、InChI 或分子式检索化合物,并获取分子性质、相似性/子结构搜索结果及生物活性数据。
主要能力:包括化学结构检索、单条/指定列表/批量分子性质获取、基于 Tanimoto 阈值的相似性搜索、子结构搜索、CID/SMILES/InChI/InChIKey 格式转换与结构文件下载、二维结构图可视化、同义词获取、生物活性数据访问以及 PUG-View 综合注释。
使用方式:安装依赖 uv pip install 'pubchempy>=1.0.5'、uv pip install requests,可选 uv pip install pandas。典型入口为 import pubchempy as pcp; compound = pcp.get_compounds('aspirin', 'name')[0],再读取 cid、molecular_formula、molecular_weight、smiles、xlogp、tpsa 等属性。重复查询建议使用 CID。技能附带 scripts/compound_search.py 与 scripts/bioactivity_query.py 两个辅助脚本。
限制与注意:相似性和子结构搜索为异步执行,可能耗时 15-30 秒,PubChemPy 会自动轮询。PUG-REST 在超出限制或服务过载时返回 HTTP 503(PUGREST.ServerBusy),应读取 X-Throttling-Control 响应头并退避,而非立即重试。2025 年起 CanonicalSMILES 与 IsomericSMILES 属性已弃用,改用 SMILES 与 ConnectivitySMILES;PubChemPy 1.0.5 中对应属性为 compound.smiles 与 compound.connectivity_smiles。该技能不适用于本地描述符/指纹计算、精选效价数据、人类代谢物浓度、药物药理学与可购买化合物库等场景,这些应使用其他专门技能。