mcpField
A
alterlab-pubchem

alterlab-pubchem

github.com/alterlab-ieu数据与数据库7866 次安装5 周前更新
代码仓库

关于 alterlab-pubchem

alterlab-pubchem 是面向化学与药物研究的 PubChem 数据库查询技能,可按化合物标识或结构检索,并获取性质、生物活性及注释信息。

主要功能

  1. 01按名称、CID、SMILES 等检索
  2. 02获取分子性质与同义词
  3. 03相似性及子结构搜索
  4. 04化学标识格式转换
  5. 05查询生物活性和注释

适用场景

  1. 01筛选候选化合物并比较性质
  2. 02按结构寻找相关化合物
  3. 03查询筛选实验的生物活性
  4. 04批量处理化合物数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-pubchem

安装后在 Claude Code 中输入/alterlab-pubchem确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
api_reference.md
best_practices.md
capabilities.md
helper_scripts.md
workflows.md
scripts/
bioactivity_query.py
compound_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。

  1. 化学结构搜索 — 按名称、CID、SMILES、InChI 或分子式搜索。
  2. 属性检索 — 检索单个、指定列表或批量分子属性。
  3. 相似性搜索 — 使用 Tanimoto 相似度和阈值/MaxRecords。
  4. 子结构搜索 — 查找包含特定结构基团的化合物。
  5. 格式转换 — 转换 CID/SMILES/InChI/InChIKey,并下载结构文件。
  6. 结构可视化 — 通过 PubChemPy 或直接 URL 获取 2D PNG 图像。
  7. 同义词检索 — 获取化合物的所有已知名称。
  8. 生物活性数据访问 — 通过 PUG-REST 和辅助脚本获取实验摘要。
  9. 综合注释 — 获取完整的 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 — 速率限制、最佳实践、错误处理、故障排查及其他资源。

评论

支持 Markdown