mcpField
P
pubchem-database

pubchem-database

github.com/google-deepmind数据与数据库3.4k2.2k 次安装5 天前更新
代码仓库

关于 pubchem-database

pubchem-database 是从 PubChem 检索化合物标识符、属性、安全信息及相关数据的技能。其封装脚本支持化合物搜索、生物测定查询和结构图像获取,并处理速率限制。

主要功能

  1. 01将名称或 InChI 转为化合物 ID
  2. 02获取化学属性和同义名
  3. 03查询 GHS 危害及药理信息
  4. 04按相似性或子结构搜索
  5. 05查询生物测定和属性范围
  6. 06获取结构图像及交叉引用

适用场景

  1. 01通过名称或 InChI 确认化合物
  2. 02核查化学属性和危害说明
  3. 03按结构或属性范围查找化合物
  4. 04查看测定相互作用和药物信息

安装

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

$npx skills add https://github.com/google-deepmind/science-skills --skill pubchem-database

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

包含的文件

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

references/
citation.bib
endpoints.md
workflows.md
scripts/
pubchem_api.py

详细介绍

PubChem 数据库

前提条件

  1. uv:阅读 uv 技能,并遵循其中的设置说明,确保已安装 uv 并将其加入 PATH。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/pubchem_database_LICENSE.txt,则 (1) 显著提醒用户查看以下条款: https://pubchem.ncbi.nlm.nih.gov/docs/citation-guidelines 和 https://pubchem.ncbi.nlm.nih.gov/docs/pug-rest,然后 (2) 创建该文件,记录通知文本和时间戳。

快速开始

PubChem 查询通过稳健的 Python 封装脚本执行,以遵守服务条款并处理复杂的 JSON 解析。该脚本可安全地供多个 Agent 使用 API。

示例:将化学名称解析为化合物 ID(CID)

uv run scripts/pubchem_api.py resolve --name "aspirin" --output result.json

核心规则

  • 使用封装脚本:查询数据库时,始终执行提供的辅助脚本,而不是直接访问数据库。这些脚本会自动、妥善地强制执行所需的速率限制。
  • 阅读生成的 JSON 输出文件,并使用 jq 或代码进行处理。
  • 核实事实:如果用户询问 PubChem 中可查证的具体事实,始终通过数据库查询核实从记忆中检索到的信息。不要只依赖内部知识。
  • 通知:如果使用了此技能,请确保在输出中提及。

核心功能

1. 化合物解析(名称或 InChI 转换为标识符) 将化学名称、商品名或 InChI 字符串转换为 PubChem CID、SMILES 和 InChIKey。

uv run scripts/pubchem_api.py resolve --name "ibuprofen" --output result.json
# OR
uv run scripts/pubchem_api.py resolve --inchi "InChI=1S/C3/c1-3-2/i1+1" --output result.json

2. 物理和化学性质检索 获取计算得出的性质(例如,MolecularWeight、XLogP、TPSA)。

uv run scripts/pubchem_api.py properties --cid 2244 --output result.json

3. 同义词和商品名 查找其他名称和品牌名称。

uv run scripts/pubchem_api.py synonyms --cid 2244 --output result.json

高级上下文

4. 安全与危害信息(GHS) 检索全球化学品统一分类和标签制度的危害说明与操作注意事项(使用 PUG-View)。

uv run scripts/pubchem_api.py safety --cid 2244 --output result.json

5. 药物与用药信息 获取 FDA 药理数据、作用机制和治疗用途(使用 PUG-View)。

uv run scripts/pubchem_api.py pharmacology --cid 2244 --output result.json

6. 自定义标题(PUG-View) 从 PUG-View 系统检索任何指定标题(例如,'Geometry'、'Crystal Structures')。

uv run scripts/pubchem_api.py view --cid 3939 --heading "Crystal Structures" --output result.json

7. 图像生成 检索 2D 化学结构图像。脚本会返回 Markdown 格式的图像链接。

uv run scripts/pubchem_api.py image --cid 2244 --output result.json

复杂搜索与生物学

8. 基于结构的搜索(相似性和子结构) 查找与 SMILES 字符串相似的分子,或包含特定子结构的分子。

uv run scripts/pubchem_api.py similarity --smiles "CC(=O)OC1=CC=CC=C1C(=O)O" --output result.json

以及

uv run scripts/pubchem_api.py substructure --smiles "C1=CC=CC=C1" --output result.json

9. 生物测定与靶标相互作用 确定化学物质会与哪些基因或蛋白质相互作用。

uv run scripts/pubchem_api.py assays --cid 2244 --output result.json

高级用法与工作流

10. 交叉引用(Xrefs) 获取与 CID 交叉引用的标识符(例如,PatentID、PubMedID)。

uv run scripts/pubchem_api.py xrefs --cid 2244 --type "PatentID" --output result.json

11. 性质范围搜索 查找性质在特定范围内的 CID。支持的属性包括:molecular_weight、heavy_atom_count、xlogp、tpsa、h_bond_donor_count、h_bond_acceptor_count、rotatable_bond_count、exact_mass、monoisotopic_mass 和 complexity。

uv run scripts/pubchem_api.py range --feature molecular_weight --min 400.0 --max 400.05 --output result.json

12. 自定义 PUG-REST 查询 对 PUG-REST API 执行原始路径查询。

uv run scripts/pubchem_api.py query --path "compound/cid/2244/xrefs/PatentID/JSON" --output result.json

备用搜索策略

如果按名称或分子式直接解析失败(例如,对于复杂化合物或特定离子):

  • 搜索母体/中性分子:如果搜索的是离子或盐,尝试搜索其中性母体化合物。
  • 拆解复杂分子式:如果复杂分子式搜索无结果,尝试搜索主要组分或配体。
  • 使用子结构或相似性搜索:如果有 SMILES 字符串,或能为某个组分生成 SMILES 字符串,可用它查找相关化合物。

复杂查询和多步任务

  • 自定义/复杂查询:如需了解更多详情,请阅读 references/endpoints.md,以构造原始 PUG-REST URL。
  • 多步任务:对于药物发现流程等复杂任务,请遵循 references/workflows.md 中的检查清单。

评论

支持 Markdown