关于 alterlab-pubchem
alterlab-pubchem 是面向化学与药物研究的 PubChem 数据库查询技能,可按化合物标识或结构检索,并获取性质、生物活性及注释信息。
主要功能
- 01按名称、CID、SMILES 等检索
- 02获取分子性质与同义词
- 03相似性及子结构搜索
- 04化学标识格式转换
- 05查询生物活性和注释
适用场景
- 01筛选候选化合物并比较性质
- 02按结构寻找相关化合物
- 03查询筛选实验的生物活性
- 04批量处理化合物数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-pubchem安装后在 Claude Code 中输入/alterlab-pubchem确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/api_reference.mdbest_practices.mdcapabilities.mdhelper_scripts.mdworkflows.mdscripts/bioactivity_query.pycompound_search.py详细介绍
PubChem 数据库
概述
PubChem 是全球最大的免费化学数据库——根据 PubChem 2025 年更新数据(Kim 等,NAR 2025),包含超过 1.19 亿种化合物、超过 3.22 亿种物质,以及超过 2.95 亿条生物活性数据。使用 PUG-REST API 和 PubChemPy,按名称、CID 或 SMILES 查询化学结构,检索分子属性,执行相似性和子结构搜索,并访问生物活性数据。
何时使用此 Skill
遇到以下情况时应使用此 Skill:
- 按名称、结构(SMILES/InChI)或分子式搜索化合物
- 检索分子属性(MW、LogP、TPSA、氢键描述符)
- 执行相似性搜索,以查找结构相关的化合物
- 对特定化学基团进行子结构搜索
- 访问筛选实验中的生物活性数据
- 在不同化学标识符格式(CID、SMILES、InChI)之间转换
- 批量处理多个化合物,以进行药物相似性筛选或属性分析
不适用场景
| 场景 | 改用 |
|---|---|
| 靶点和药物化学系列的整理后效力数据(IC50/Ki) | alterlab-chembl |
| 在本地计算自有分子的描述符或指纹 | alterlab-rdkit |
| 人类代谢物浓度、体液、生物标志物证据 | alterlab-hmdb |
| 药物药理学、相互作用和审批详情 | alterlab-drugbank |
| 用于虚拟筛选的可购买化合物库 | alterlab-zinc-db |
核心功能
PubChem 访问分为九个功能领域。每项功能的可直接复制代码片段位于
references/capabilities.md。
- 化学结构搜索 — 按名称、CID、SMILES、InChI 或分子式搜索。
- 属性检索 — 检索单个、指定列表或批量分子属性。
- 相似性搜索 — 使用 Tanimoto 相似度和阈值/MaxRecords。
- 子结构搜索 — 查找包含特定结构基团的化合物。
- 格式转换 — 转换 CID/SMILES/InChI/InChIKey,并下载结构文件。
- 结构可视化 — 通过 PubChemPy 或直接 URL 获取 2D PNG 图像。
- 同义词检索 — 获取化合物的所有已知名称。
- 生物活性数据访问 — 通过 PUG-REST 和辅助脚本获取实验摘要。
- 综合注释 — 获取完整的 PUG-View 记录(属性、药物信息、安全性、毒性)。
核心工作流
标准入口会将标识符解析为化合物,然后读取其属性:
import pubchempy as pcp
compound = pcp.get_compounds('aspirin', 'name')[0]
print(compound.cid, compound.molecular_formula, compound.molecular_weight)
print(compound.smiles, compound.xlogp, compound.tpsa)
重复查询时优先使用 CID(比名称/结构更高效)。相似性和子结构搜索会异步运行,可能需要 15–30 秒;PubChemPy 会自动轮询。当你超出限制或 PubChem 本身过载时,PUG-REST 都会返回 HTTP 503(PUGREST.ServerBusy)——读取 X-Throttling-Control 响应标头,并采用退避策略,而不是立即重试。有关速率限制和错误处理,请参阅 references/best_practices.md。
安装要求
uv pip install 'pubchempy>=1.0.5' # Python-based access (1.0.5 = current SMILES property names)
uv pip install requests # direct API / bioactivity queries
uv pip install pandas # optional, for data analysis
**SMILES 属性命名(PubChem 于 2025 年对此进行了更改):**PUG-REST 的 CanonicalSMILES 和 IsomericSMILES 属性已弃用。请使用 SMILES(包含立体化学/同位素信息的完整 SMILES,取代 IsomericSMILES)和 ConnectivitySMILES(仅包含连接信息,取代 CanonicalSMILES)。在 PubChemPy 1.0.5 中,对应的 Compound 属性为 compound.smiles 和 compound.connectivity_smiles(旧的 canonical_smiles / isomeric_smiles 属性仍可解析,但已弃用)。
辅助脚本
此 Skill 在 scripts/ 下提供两个 Python 辅助脚本:
scripts/compound_search.py— 搜索、属性检索、相似性/子结构搜索、同义词查询、批量搜索和结构下载。scripts/bioactivity_query.py— 生物测定摘要、靶点识别、基于靶点的化合物搜索和 PUG-View 注释。
完整的函数清单和用法请参阅 references/helper_scripts.md。
参考索引
references/api_reference.md— 完整的 PUG-REST 端点文档、完整的分子属性 列表、异步请求处理、PubChemPy API、PUG-View API,以及官方文档链接。references/capabilities.md— 涵盖全部九个功能领域、可直接复制的代码。references/workflows.md— 五个端到端工作流(标识符转换、类药性筛选、相似候选项搜索、批量属性比较、子结构虚拟筛选)。references/helper_scripts.md— 两个辅助脚本的函数清单和用法。references/best_practices.md— 速率限制、最佳实践、错误处理、故障排查及其他资源。