关于 tooluniverse-drug-research
面向药物研究者的 ToolUniverse 技能,指导生成带引用的药物调查报告,涵盖化学、临床、安全性、药物基因组学和文献数据,并强调先确认化合物身份及证据分级。
主要功能
- 01研究前解析化合物标识符
- 02查询化学与临床数据库
- 03调查作用机制和靶点
- 04评估 ADMET 与安全性证据
- 05添加行内引用和证据等级
适用场景
- 01编写已获批药物的综合档案
- 02审查安全性和药物基因组学发现
- 03梳理在研化合物的临床试验
MCP 相关
该技能指导 Agent 使用 ToolUniverse 工具;输入未说明其提供 MCP 服务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-drug-research安装后在 Claude Code 中输入/tooluniverse-drug-research确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHECKLIST.mdEXAMPLES.mdREPORT_GUIDELINES.mdREPORT_TEMPLATE.mdTOOLS_REFERENCE.md详细介绍
药物研究策略
使用 ToolUniverse 的 50 多种工具,对化学数据库、临床试验、不良事件、药物基因组学和文献进行全面的药物调查。
核心原则:
- 报告优先——先创建报告文件,再逐步填充内容
- 先消除化合物歧义——研究前先确定标识符
- 引用要求——每项事实都必须附带行内来源归属
- 证据分级——根据证据强度(T1-T4)对论断分级
- 必须完整——所有章节都必须存在,即使标注为“无可用数据”
- 优先使用英文查询——调用工具时始终使用英文药物/化合物名称,即使用户使用其他语言。仅在必要时尝试原语言词条作为备用。使用用户的语言作答
查找,不要猜测
有人询问某种药物时,先查询 ChEMBL/PubChem/DailyMed。不要猜测作用机制、靶点或副作用——先查找相关信息。对某项事实不确定时,首先应想到用工具搜索,而不是仅凭记忆加深推理。
药物作用机制推理
调查药物的作用机制时,追溯完整的因果链:
- 靶点结合——药物结合哪些蛋白质?其亲和力/选择性如何?
- 分子效应——结合会抑制、激活还是调节靶点的功能?
- 通路后果——下游哪些信号或代谢通路发生改变?
- 细胞表型——细胞层面会发生哪些变化(增殖、凋亡、分泌)?
- 生理结局——细胞效应如何转化为患者的治疗获益?
工作流概览
1. 报告优先(必须遵循)
不要向用户展示搜索过程或工具输出。应当:
- 先创建报告文件——
[DRUG]_drug_report.md,其中包含全部 11 个章节标题和[Researching...]占位内容。完整模板见 REPORT_TEMPLATE.md。 - 逐步更新报告——查询每个工具后,将占位内容替换为研究发现。
- 使用所有相关工具——针对每种数据类型查询多个数据库,并交叉比对不同来源。
2. 引用要求(必须遵循)
每条信息都必须注明来源。使用行内引用:
*Source: PubChem via `PubChem_get_compound_properties_by_CID` (CID: 4091)*
3. 渐进式写作工作流
Step 1: Create report file with all section headers
Step 2: Resolve compound identifiers -> Update Section 1
Step 3: Query PubChem/ADMET-AI/DailyMed SPL -> Update Section 2 (Chemistry)
Step 4: Query FDA Label MOA + ChEMBL + DGIdb -> Update Section 3 (Mechanism)
Step 5: Query ADMET-AI tools -> Update Section 4 (ADMET)
Step 6: Query ClinicalTrials.gov -> Update Section 5 (Clinical)
Step 7: Query FAERS/DailyMed -> Update Section 6 (Safety)
Step 8: Query PharmGKB -> Update Section 7 (Pharmacogenomics)
Step 9: Query DailyMed/Orange Book -> Update Section 8 (Regulatory)
Step 10: Query PubMed/literature -> Update Section 9 (Literature)
Step 11: Synthesize findings -> Update Executive Summary & Section 10
Step 12: Document all sources -> Update Section 11 (Data Sources)
化合物歧义消除(第 1 阶段)
关键:开始任何研究前,先确认化合物身份。
标识符解析链
1. PubChem_get_CID_by_compound_name(compound_name)
-> Extract: CID, canonical SMILES, formula
2. ChEMBL_search_molecules(query=drug_name)
-> Extract: ChEMBL ID, pref_name
3. DailyMed_search_spls(drug_name)
-> Extract: Set ID, NDC codes (if approved)
4. PharmGKB_search_drugs(query=drug_name)
-> Extract: PharmGKB ID (PA...)
5. DrugCentral_search(query=drug_name, size=...)
-> Extract: InChIKey, CAS number, canonical SMILES, cross-referenced FDA/EMA/PMDA approval status in one call
DrugCentral(已实时验证:DrugCentral_search、DrugCentral_get_drug、DrugCentral_get_targets)是有用的第五个消歧来源,也是路径 2(机制与靶点)的快速捷径——DrugCentral_get_targets(chem_id=<InChIKey or ChEMBL ID>) 会直接返回靶点名称/类别,可用于交叉核对(而非替代)本技能在路径 2 中构建的、基于 ChEMBL 活性数据得出的靶点表。真实示例:DrugCentral_search(query="metformin") 返回 InChIKey XZWYZXLIPXDOLR-UHFFFAOYSA-N;对该 InChIKey 调用 DrugCentral_get_targets 会在其靶点中返回 5'-AMP-activated protein kinase。
膳食补充剂不作为处方药收录在 PubChem/ChEMBL/DailyMed/DrugCentral 中——请改查 NIH DSLD。 如果上述解析链中查询结果为零(或者用户显然询问的是非处方维生素/草本/补充剂产品,例如“维生素 D 软糖”或某个具体品牌),请使用 NIHDSLD_search_products(query=<name or brand>) -> NIHDSLD_get_label(product_id=...),获取每份的完整成分列表,包括含量和每日摄入量百分比。已实时验证:NIHDSLD_search_products(query="vitamin d") 会返回真实产品 20581(“Vitamin D Gummy Vitamins”,Nutrition Now);NIHDSLD_get_label(20581) 会返回其完整标签(每份 2 颗软糖含 2000 IU 维生素 D,达到每日摄入量的 500%,另含卡路里/碳水化合物/糖),以及 off_market 标记。这是对上述处方药查询路径的补充,而非替代——补充剂没有 FDA 批准/作用机制数据,因此针对补充剂的查询,报告中的大多数其他章节合理地应标为“不适用”。
处理名称歧义
| 问题 | 示例 | 处理方式 |
|---|---|---|
| 盐形式 | metformin 与 metformin HCl | 列出所有 CID;使用母体化合物 |
| 异构体 | omeprazole 与 esomeprazole | 核实 SMILES;若为不同化合物,则分别列出 |
| 前药 | enalapril 与 enalaprilat | 记录两者;注明转化关系 |
| 品牌混淆 | 同名的不同产品 | 向用户确认 |
研究路径摘要
每条路径的详细工具链和输出示例见 REPORT_GUIDELINES.md。
路径 1:化学性质与 CMC
工具:PubChem properties -> ADMET-AI physicochemical -> ADMET-AI solubility -> DailyMed chemistry/description
输出:理化性质表、Lipinski 评估、QED 评分、盐形式、制剂比较
路径 2:机制与靶点
工具:DailyMed MOA -> ChEMBL activities(不要使用 ChEMBL_get_molecule_targets)-> ChEMBL target details -> DGIdb -> PubChem bioactivity
关键:从活性数据中筛选 pChEMBL >= 6.0,并据此推导靶点。避免使用 ChEMBL_get_molecule_targets。
输出:FDA MOA 文本、包含 UniProt/效力信息的靶点表、选择性特征
路径 3:ADMET 性质
工具:ADMET-AI(生物利用度、BBB、CYP、清除率、毒性)
备用方案:DailyMed clinical_pharmacology + pharmacokinetics + drug_interactions
关键:如果 ADMET-AI 失败,自动使用备用方案。第 4 节绝不能留空。
路径 4:临床试验
工具:search_clinical_trials -> 计算各阶段计数 -> 提取结局/AE -> fda_pharmacogenomic_biomarkers
关键:第 5.2 节必须以表格形式列出按阶段/状态统计的实际数量。
路径 5:上市后安全性
工具:FAERS(反应、严重程度、结局、死亡、年龄)+ DailyMed(DDI、剂量、警告)
关键:包括 FAERS 日期范围、严重程度细分,以及局限性说明段落。
路径 6:药物基因组学
工具:PharmGKB(搜索 -> 详情 -> 注释 -> 指南)
备用方案:DailyMed 药物基因组学章节 + PubMed 文献
路径 7:监管与专利
工具:FDA Orange Book(搜索、批准历史、独占期、专利、仿制药)+ DailyMed(通过 LOINC 编码查询特殊人群)
注意:仅含美国数据;说明 EMA/PMDA 数据的局限性。
路径 8:真实世界证据
工具:ClinicalTrials.gov(观察性研究)+ PubMed(真实世界、登记、监测)
路径 9:比较分析
工具:针对每种对照药物的精简工具链 + 头对头试验搜索 + PubMed 荟萃分析
FDA 标签核心字段
对于已获批药物,尽早获取以下 DailyMed 章节(获取 set_id 后):
| 批次 | 章节 | 对应报告 |
|---|---|---|
| 阶段 1 | mechanism_of_action、pharmacodynamics、chemistry | 章节 2-3 |
| 阶段 2 | clinical_pharmacology、pharmacokinetics、drug_interactions | 章节 4、6.5 |
| 阶段 3 | warnings_and_cautions、adverse_reactions、dosage_and_administration | 章节 6、8.2 |
| 阶段 4 | pharmacogenomics、clinical_studies、description、inactive_ingredients | 章节 5、7 |
回退链
| 主要工具 | 回退方案 | 使用时机 |
|---|---|---|
PubChem_get_CID_by_compound_name | ChEMBL_search_drugs | PubChem 中没有该名称 |
ChEMBL_get_molecule_targets | 改用 ChEMBL_search_activities | 始终避免使用此工具 |
ChEMBL_get_activity | PubChemBioAssay_get_assay_summary | 没有 ChEMBL ID |
DailyMed_search_spls | PubChemTox_get_acute_effects | DailyMed 超时 |
PharmGKB_search_drugs | DailyMed PGx 章节 + PubMed | PharmGKB 不可用 |
PharmGKB_get_dosing_guidelines | DailyMed pharmacogenomics 章节 | PharmGKB API 错误 |
FAERS_count_reactions_by_drug_event | 记录“FAERS 不可用”+ 使用标签中的 AE | API 错误 |
ADMETAI_*(所有工具) | DailyMed clinical_pharmacology + pharmacokinetics | SMILES 无效或 API 错误 |
快速参考:按使用场景分类的工具
| 使用场景 | 主要工具 | 回退方案 | 证据 |
|---|---|---|---|
| 名称 -> CID | PubChem_get_CID_by_compound_name | ChEMBL_search_drugs | T1 |
| 属性 | PubChem_get_compound_properties_by_CID | ADMET-AI 理化性质 | T1/T2 |
| FDA 作用机制 | DailyMed_parse_clinical_pharmacology(mechanism_of_action) | - | T1 |
| 靶点 | ChEMBL_search_activities -> ChEMBL_get_target | DGIdb_get_drug_info | T1 |
| ADMET | ADMETAI_predict_*(5 个工具) | DailyMed PK 章节 | T2/T1 |
| 试验 | search_clinical_trials | - | T1 |
| 试验结果 | extract_clinical_trial_outcomes | - | T1 |
| FAERS | FAERS_count_reactions_by_drug_event | 标签中的 adverse_reactions | T1 |
| 剂量调整 | DailyMed_parse_clinical_pharmacology(dosage、warnings) | - | T1 |
| PGx | PharmGKB_search_drugs | DailyMed PGx + PubMed | T2/T1 |
| 标签 | DailyMed_search_spls | PubChemTox_get_acute_effects | T1 |
| 文献 | PubMed_search_articles | EuropePMC_search_articles | 不定 |
| 监管 | FDA_OrangeBook_* 工具 | DailyMed 标签数据 | T1 |
请参阅 TOOLS_REFERENCE.md,了解完整工具列表、参数及输入格式要求。
类型规范化
许多工具要求输入为 字符串。调用 API 前务必转换 ID:
- ChEMBL ID、PubMed ID、NCT ID:将 int 转换为 str
- ADMET-AI 的 SMILES:以列表形式传入
["SMILES_STRING"] - FAERS 药物名称:使用大写(例如,
"METFORMIN") - ChEMBL ID:使用完整格式
"CHEMBL1431",而非"1431" - PharmGKB ID:使用 PA 前缀
"PA450657",而非"450657"
常见使用场景
| 使用场景 | 主要章节 | 简略章节 |
|---|---|---|
| 已获批药物概况 | 全部 11 个章节 | 无 |
| 研究中的化合物 | 1、2、3、4、9 | 5、6、7、8 |
| 安全性审查 | 1、5、6、7、9 | 2、3、4、8 |
| ADMET 评估 | 1、2、4 | 3、5、6、7、8、9 |
| 临床开发格局 | 1、5、9 | 2、3、4、6、7、8 |
始终保留所有章节标题,但应根据查询重点和数据可用情况调整详略程度。
何时不使用此技能
- 靶点研究 -> 使用 target-intelligence-gatherer skill
- 疾病研究 -> 使用 disease-research skill
- 仅文献研究 -> 使用 literature-deep-research skill
- 查询单一属性 -> 直接调用工具
- 结构相似性搜索 -> 直接使用
PubChem_search_compounds_by_similarity
跨技能参考
如需检查药物相互作用,请运行:python3 skills/tooluniverse-drug-drug-interaction/scripts/pharmacology_ref.py --type interaction --drug1 X --drug2 Y
其他资源
- 报告模板:REPORT_TEMPLATE.md - 初始文件模板、引用格式、证据评级、评分卡、审计模板
- 报告指南:REPORT_GUIDELINES.md - 详细的分章节说明和输出示例
- 工具参考:TOOLS_REFERENCE.md - 完整的工具列表,包含参数和输入格式
- 验证清单:CHECKLIST.md - 交付前逐节验证
- 示例:EXAMPLES.md - 不同使用场景的详细工作流示例