关于 tooluniverse-chemical-sourcing
面向化学研究采购的 ToolUniverse 技能,指导用户确认化合物身份,并跨供应商查询价格、库存和纯度。若目标化合物无法采购,也可按结构寻找类似物。
主要功能
- 01解析化合物身份与结构
- 02搜索多个供应商目录
- 03比较价格、库存和纯度
- 04查找可采购的结构类似物
- 05补充生物活性信息
适用场景
- 01确认化合物是否可购买
- 02比较多个供应商的价格与库存
- 03为无货化合物寻找类似物
- 04为筛选化合物补充活性背景
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-chemical-sourcing安装后在 Claude Code 中输入/tooluniverse-chemical-sourcing确认已加载。
详细介绍
化合物寻源与采购
用于从商业供应商处识别、寻源和购买化合物的工作流。通过 PubChem/ChEMBL 确认化合物身份,搜索多个供应商数据库(ZINC、Enamine、eMolecules、Mcule),比较价格和供货情况,并在无法获取目标化合物时寻找可购买的类似物。
指导原则:
- 先确认身份——在搜索供应商之前确认化合物的结构(SMILES、InChI);名称可能存在歧义
- 比较多个供应商——务必检查多个来源;价格和库存差异可能很大
- 类似物备选——如果无法获取目标化合物,搜索相近的类似物
- 关注纯度和数量——记录目录中的纯度等级和最小订购量
- 结构优先于名称——供应商通过 SMILES/InChI 搜索比通过名称搜索更可靠
- 优先使用英文查询——在工具调用中使用英文化合物名称
查询数据库,不要猜测
对任何科学事实不确定时,先搜索数据库,而不是凭记忆推断。数据库验证的答案总是比猜测更可靠。
计算,而非描述
如果分析需要计算(统计、数据处理、评分、富集分析),请通过 Bash 编写并运行 Python 代码。不要描述将如何操作——实际执行并报告结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。
适用场景
典型需求:
- “我可以在哪里购买[化合物]?”
- “为[SMILES]查找商业来源”
- “比较[化合物]在不同供应商处的价格”
- “[化合物]是否有商业供应?”
- “查找[化合物]可购买的类似物”
- “我需要[数量]的[化合物]——哪些供应商有售?”
- “在 ZINC/Enamine 中搜索[化合物]”
不适用于此技能:进行 ADMET/毒性评估,请使用 tooluniverse-admet-prediction。进行药物-靶点相互作用分析,请使用 tooluniverse-drug-target-validation。
核心数据库
| 数据库 | 范围 | 最适合 |
|---|---|---|
| ZINC | 2.3 亿多种可购买化合物;汇总供应商数据 | 覆盖最广;子结构/相似性搜索;免费 |
| Enamine | 约 400 万种有库存化合物、300 亿多种 REAL(按需合成) | 大型现货库;交付快;构建砌块 |
| eMolecules | 多供应商聚合平台;800 多万种化合物 | 跨供应商比较;价格透明 |
| Mcule | 4,000 多万种化合物;一站式采购 | 集成订购;生成报价 |
| PubChem | 1.1 亿多种化合物;身份解析 | 权威的化合物识别;CID 查询 |
| ChEMBL | 240 多万种生物活性分子 | 为寻源化合物提供生物活性背景 |
工作流概览
Phase 0: Compound Identity Resolution
Name/SMILES/CAS -> PubChem CID -> canonical SMILES
|
Phase 1: Vendor Search
Query ZINC, Enamine, eMolecules, Mcule
|
Phase 2: Price & Availability Comparison
Catalog numbers, pricing, stock status, purity
|
Phase 3: Analog Search (if needed)
Similarity search for purchasable alternatives
|
Phase 4: Bioactivity Context (optional)
ChEMBL activity data for sourced compounds
|
Phase 5: Order Summary
Consolidated vendor comparison table
阶段详情
阶段 0:化合物身份解析
目标:在搜索供应商之前,明确且无歧义地确认化合物身份。
工具:
PubChem_get_CID_by_compound_name——将名称解析为 CID- 输入:
name(化合物名称) - 输出:
{IdentifierList: {CID: [...]}}
- 输入:
PubChem_get_compound_properties_by_CID——获取 SMILES、分子量和分子式- 输入:
cid(PubChem CID)、properties(以逗号分隔的列表) - 输出:
{CID, MolecularWeight, ConnectivitySMILES, IUPACName}
- 输入:
ChEMBL_get_molecule——获取 ChEMBL 化合物详情- 输入:
molecule_chembl_id(ChEMBL ID)或按名称搜索 - 输出:SMILES、分子属性、同义词
- 输入:
工作流:
- 如果用户提供名称:解析为 PubChem CID,然后获取 SMILES
- 如果用户提供 SMILES:直接使用(可选择通过 PubChem 验证)
- 如果用户提供 CAS 号:按名称在 PubChem 中搜索(CAS 号可用作搜索词)
- 记录:规范 SMILES、分子量、分子式、IUPAC 名称
重要提示:PubChem 的正确属性名称是 ConnectivitySMILES(不是 CanonicalSMILES)。继续操作前务必确认 SMILES 与目标化合物相符。
阶段 1:供应商搜索
目标:在所有可用的供应商数据库中搜索目标化合物。
工具:
ZINC_search_compounds-- 按名称或 SMILES 搜索 ZINC- 输入:
query(名称或 SMILES)、可选的catalog、limit - 输出:ZINC ID、供应商信息、是否可购买
- 输入:
ZINC_get_compound-- 获取 ZINC 中化合物的详细信息- 输入:
zinc_id(ZINC 标识符) - 输出:供应商、目录、价格、SMILES
- 输入:
Enamine_search_catalog-- 搜索 Enamine 目录- 输入:
query(名称或 SMILES)、可选的catalog_type、limit - 输出:目录编号、库存情况、价格
- 输入:
Enamine_get_compound-- 获取 Enamine 化合物的详细信息- 输入:
compound_id(Enamine 目录编号) - 输出:结构、价格、库存状态、交付时间
- 输入:
eMolecules_search-- 跨多个供应商搜索- 输入:
query(名称或 SMILES)、可选的limit - 输出:供应商列表、目录编号、价格
- 输入:
eMolecules_get_compound-- 获取 eMolecules 化合物的详细信息- 输入:
compound_id(eMolecules ID) - 输出:供应商、阶梯价格、纯度
- 输入:
Mcule_get_compound-- 搜索 Mcule 数据库- 输入:
query(名称或 SMILES)、可选的limit - 输出:Mcule ID、库存情况、价格
- 输入:
Mcule_get_compound-- 获取 Mcule 化合物的详细信息- 输入:
compound_id(Mcule ID) - 输出:价格、交付、纯度、目录编号
- 输入:
工作流:
- 使用 SMILES(优先)或名称并行搜索所有四个供应商数据库
- 对每个匹配结果,获取化合物详细信息(价格、库存、纯度)
- 根据各供应商提供的 SMILES 匹配结果并去重
- 标记任何结构不匹配的情况(供应商提供的化合物与目标化合物不同)
提示:基于 SMILES 的搜索比按名称搜索更精准。如果按名称搜索返回的结果过多,请改用 SMILES。
阶段 2:价格与库存比较
目标:创建跨供应商的比较表。
根据阶段 1 的结果汇总:
| 字段 | 说明 |
|---|---|
| 供应商 | 公司名称 |
| 目录编号 | 供应商特定的标识符 |
| 数量 | 可购买的包装规格 |
| 价格 | 按单位或每 mg 计价 |
| 纯度 | 标注的纯度等级(>95%、>98% 等) |
| 库存 | 现货或按需生产 |
| 交付 | 预计交付时间 |
按以下顺序对供应商进行排序:(1)现货情况;(2)每 mg 价格;(3)纯度等级;(4)交付时间。
阶段 3:类似物搜索
目标:当目标化合物无法购买时,寻找可购买的结构类似物。
在以下情况下触发:
- 没有供应商提供目标化合物
- 化合物价格过高
- 用户明确要求寻找类似物
方法:
- 使用 ZINC 或 Enamine 相似性搜索(如果工具的搜索模式支持)
- 使用化合物核心骨架的 SMILES 进行子结构搜索
- 按以下条件筛选类似物:Tanimoto 相似度 >= 0.7、可商业购买、价格合理
- 展示类似物并突出其结构差异
阶段 4:生物活性背景(可选)
目标:在为研究采购化合物时,提供生物活性数据作为参考。
工具:
ChEMBL_get_molecule-- 获取生物活性摘要- 输入:化合物标识符
- 输出:已知靶点、活性数值、测定数据
适用于以下情况:
- 用户为特定生物测定采购化合物
- 比较活性特征可能不同的类似物
- 验证该化合物是否有已发表的生物活性数据
阶段 5:决策与订购摘要
供应商选择决策矩阵——不要只列出供应商,还要推荐一家:
| 场景 | 最佳供应商策略 | 原因 |
|---|---|---|
| 本周就需要 | 选择现货且发货最快的供应商 | 按需合成至少需要 2-4 周 |
| 预算有限 | 选择每毫克价格最低的供应商,并接受较低纯度(>95%) | 学术预算紧张;>95% 的纯度足以用于筛选 |
| 高通量筛选 | 大型化合物库选择 ZINC/Enamine;采购毫克级数量 | 单个化合物的价格比纯度更重要 |
| 测定验证 | 从信誉良好的供应商处选择纯度最高(>98%)的产品 | 杂质导致的假阳性会浪费数月时间 |
| 合成用构件 | Enamine(构件目录最大) | 专为药物化学设计 |
| 无法获得确切化合物 | 搜索类似物 → 检查生物活性(ChEMBL)→ 选择最佳类似物来源 | Tanimoto > 0.85 通常能保留活性;0.7-0.85 可能具有不同的 SAR |
采购时的危险信号:
- 供应商未公布纯度数据 → 下单前索取 CoA
- 价格比其他供应商低 10 倍 → 可能是不同的盐形式或纯度不高
- 标注“有现货”,但预计交付时间为 4 周以上 → 可能实际上没有现货
- 供应商目录中的 SMILES 与目标 SMILES 不同 → 化合物错误
生成最终采购报告:
- 化合物身份 -- 名称、SMILES、MW、CAS(如已知)、PubChem CID
- 供应商比较表 -- 所有供应商的价格、库存、纯度和交付时间
- 推荐来源 -- 说明推荐理由的具体供应商(不只是最便宜的供应商)
- 类似物(如已搜索)-- 备选化合物、相似度评分和生物活性比较
- 备注 -- 特殊处理方式、储存条件、盐形式和立体化学注意事项
常见分析模式
| 模式 | 描述 | 关键阶段 |
|---|---|---|
| 快速查询可购性 | 该化合物是否可以买到? | 0, 1 |
| 全面比较供应商 | 比较所有来源及价格 | 0, 1, 2, 5 |
| 发现类似物 | 化合物无法获得;寻找替代品 | 0, 1, 3, 5 |
| 采购构件 | 寻找合成所需的试剂 | 0, 1, 2 |
| 命中化合物转先导化合物采购 | 结合生物活性背景采购筛选命中化合物 | 0, 1, 2, 4, 5 |
边缘情况与回退方案
- 名称歧义:多个化合物可能共用一个名称(例如,“aspirin”和“acetylsalicylic acid”)。始终先解析为 SMILES
- 立体化学:供应商可能销售外消旋混合物,也可能销售特定对映异构体。仔细检查 SMILES 中的立体化学信息
- 盐形式:同一种药物可能以不同盐形式(HCl、马来酸盐等)销售。注明具体形式
- 未找到供应商:可能可以通过定制合成获得该化合物。请在报告中注明
- 按需合成:Enamine REAL 化合物需要合成(2-4 周)。请与现货区分开来
判读框架
| 证据等级 | 标准 | 操作 |
|---|---|---|
| A -- 高置信度 | 至少 2 家供应商有现货,纯度 >=98%,提供 CoA | 直接订购 |
| B -- 中等置信度 | 仅有一家供应商或按需合成,纯度 >=95% | 索取 CoA,核实结构 |
| C -- 低置信度 | 无现货、未注明纯度,或价格异常(>5x 中位数) | 定制合成或搜索类似物 |
解读供应商结果:
- 同一化合物在不同供应商处的价格相差 10x,通常意味着盐型、纯度等级或包装规格不同,而非实际成本差异——务必按相同纯度比较每毫克价格。
- 纯度 >=95% 足以用于初筛;剂量-反应和 SAR 研究建议使用 >=98% 纯度;参考标准品和药代动力学研究需要 >=99% 纯度。
- 聚合数据库中的“有现货”状态可能已过时数周——在确定时间安排前,务必向供应商确认实时库存情况。
最终报告中需要回答的合成相关问题:
- 所有供应商提供的 SMILES 是否都解析为相同的规范结构(包括立体化学和盐型)?
- 每毫克价格是否与该化合物的合成复杂度相符,还是异常值表明目录信息有误?
- 对类似物而言,结构变化是否位于药效团之外,从而保留预期活性?
局限性
- 价格准确性:数据库价格可能已过时;供应商的实际报价才是权威依据
- 区域供应情况:部分供应商仅向特定地区发货;请查看运输政策
- 数量限制:学术价格与商业价格可能不同;部分供应商要求使用机构账户
- 受管制物质:部分化合物受到法规限制;此技能不会核查其法律状态
- 无法直接订购:此技能只查找货源,不会下单;用户需要拥有供应商账户