关于 pubchem-database
pubchem-database 是从 PubChem 检索化合物标识符、属性、安全信息及相关数据的技能。其封装脚本支持化合物搜索、生物测定查询和结构图像获取,并处理速率限制。
主要功能
- 01将名称或 InChI 转为化合物 ID
- 02获取化学属性和同义名
- 03查询 GHS 危害及药理信息
- 04按相似性或子结构搜索
- 05查询生物测定和属性范围
- 06获取结构图像及交叉引用
适用场景
- 01通过名称或 InChI 确认化合物
- 02核查化学属性和危害说明
- 03按结构或属性范围查找化合物
- 04查看测定相互作用和药物信息
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google-deepmind/ science-skills --skill pubchem-database安装后在 Claude Code 中输入/pubchem-database确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/citation.bibendpoints.mdworkflows.mdscripts/pubchem_api.py详细介绍
PubChem 数据库
前提条件
uv:阅读uv技能,并遵循其中的设置说明,确保已安装uv并将其加入 PATH。- 用户通知:如果工作区根目录中尚不存在 .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 中的检查清单。