mcpField
T
tooluniverse-drug-drug-interaction

tooluniverse-drug-drug-interaction

github.com/mims-harvard其他1.8k453 次安装2 天前更新
代码仓库

关于 tooluniverse-drug-drug-interaction

tooluniverse-drug-drug-interaction 是用于药物相互作用风险分析的技能,支持特定药物组合、多药联用及患者用药安全审查。它强调双向分析、相互作用机制和证据分级,并提供风险评分与临床管理建议。

主要功能

  1. 01双向分析药物相互作用
  2. 02识别药代与药效机制
  3. 03评定证据等级和风险分数
  4. 04参考本地药理学脚本
  5. 05提供临床管理建议

适用场景

  1. 01检查两种药物能否联用
  2. 02评估多药联用风险
  3. 03排查新增用药后的症状
  4. 04寻找降低相互作用风险的替代方案

安装

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-drug-drug-interaction

安装后在 Claude Code 中输入/tooluniverse-drug-drug-interaction确认已加载。

包含的文件

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

.env.template
ddi_pipeline.py
ddi_working_example.py
EXAMPLES.md
python_implementation.py
scripts/
pharmacology_ref.py

详细介绍

药物间相互作用预测与风险评估

系统分析药物间相互作用,提供基于证据的风险评分、作用机制识别和临床管理建议。

核心原则:

  1. 报告优先——首先创建 DDI_risk_report.md,然后逐步填充内容
  2. 双向分析——始终分析 A→B 和 B→A 的相互作用(影响可能不同)
  3. 证据分级——按证据质量为所有 DDI 声明分级(★★★ FDA 标签,★★☆ 临床研究,★☆☆ 理论推断)
  4. 风险评分——综合作用机制、严重程度和临床证据进行多维评分(0-100)
  5. 以患者安全为重点——提供可执行的临床指导,而不只是理论上的相互作用
  6. 确保完整——必须包含所有分析部分,并在适当情况下明确注明“未发现相互作用”

本地药理学参考资料(优先使用)

在查询任何外部数据库之前,先查阅本地参考脚本,以快速了解 CYP/UGT 的作用及已知的严重相互作用:

scripts/pharmacology_ref.py   (no external dependencies, runs offline)

# Q927 pattern — valproate + lamotrigine:
python scripts/pharmacology_ref.py --type interaction --drug1 "valproate" --drug2 "lamotrigine"

# What does a drug do to UGT enzymes?
python scripts/pharmacology_ref.py --type ugt_inhibitor --drug "valproate"

# What enzymes metabolise a drug?
python scripts/pharmacology_ref.py --type ugt_substrate --drug "lamotrigine"
python scripts/pharmacology_ref.py --type cyp_substrate --drug "warfarin"

# Which drugs inhibit / induce a specific CYP?
python scripts/pharmacology_ref.py --type cyp_inhibitor --enzyme "CYP3A4"
python scripts/pharmacology_ref.py --type cyp_inducer  --enzyme "CYP2C9"

# Narrow therapeutic index checklist:
python scripts/pharmacology_ref.py --type narrow_ti

# All known interactions for one drug:
python scripts/pharmacology_ref.py --type all_interactions --drug "lamotrigine"

涵盖的相互作用(严重程度 / 作用机制):

药物组合严重程度关键机制
valproate + lamotrigine严重抑制 UGT1A4 → lamotrigine 水平升高 2 倍 + SJS 风险
carbamazepine + lamotrigine严重诱导 UGT1A4 → lamotrigine 水平降低 50%
口服避孕药 + lamotrigine严重诱导 UGT1A4 → lamotrigine 水平降低 50%
valproate + phenytoin严重抑制 CYP2C9 + 蛋白置换
carbamazepine + valproate中度抑制环氧化物水解酶 → 有毒代谢物升高
simvastatin + ketoconazole禁忌抑制 CYP3A4 → 横纹肌溶解
simvastatin + clarithromycin禁忌抑制 CYP3A4 → 横纹肌溶解
rifampin + warfarin严重诱导 CYP2C9 → INR 骤降
amiodarone + warfarin严重抑制 CYP2C9 → INR 升高
clopidogrel + omeprazole中度抑制 CYP2C19 → 抗血小板活化减少
quinidine + digoxin严重抑制 P-gp → digoxin 水平升高 2 倍
lithium + NSAIDs严重肾脏清除率降低 → lithium 中毒
fluoxetine + MAOIs禁忌血清素综合征

该脚本还涵盖被 valproate 抑制的 UGT2B7 底物(morphine、zidovudine)、rifampin 对 UGT1A1 的诱导作用,以及完整的治疗窗狭窄药物清单和监测参数。

查证,不要猜测

对任何不确定的科学事实,先查询数据库(PubMed、UniProt、ChEMBL、ClinVar 等),不要凭记忆推断。经数据库核实的答案总是比猜测更可靠。

新用药后出现新症状:一线推理

患者开始使用新药后出现新症状时,首先要问:新药是否可能与患者正在使用的其他药物发生相互作用?具体检查:(1)新药是否会抑制现有药物的代谢?(2)新药是否会产生叠加的药效学作用?


何时使用此技能

适用于用户:

  • 询问 2 种或更多特定药物之间的相互作用
  • 需要评估多重用药风险(5 种或更多药物)
  • 要求审查患者的用药安全性
  • 询问“我可以同时服用药物 X 和药物 Y 吗?”
  • 需要避免 DDI 的替代药物建议
  • 想了解 DDI 的作用机制
  • 需要针对已知相互作用制定临床管理策略
  • 询问多种药物导致 QTc 延长的风险

临床推理框架

在查询任何数据库之前,先应用此推理框架,从作用机制角度预测相互作用。

加害者-受害者模型

在每种药物相互作用中,都要确定两个角色:

  • 加害者:导致变化的药物(抑制剂、诱导剂或药效学增强剂)
  • 受害者:受到影响的药物(其浓度或作用发生变化)

对于每对药物,按顺序提出以下问题:

  1. 加害者是否会改变受害者的吸收、分布、代谢或排泄? 如果是,这就是药代动力学相互作用。确定涉及哪种酶或转运体(CYP450、UGT、P-gp、OATP 等)。
  2. 加害者是该通路的抑制剂还是诱导剂?
    • 抑制剂 → 受害者浓度升高 → 预测疗效或毒性增加
    • 诱导剂 → 受害者浓度降低 → 预测疗效减弱或治疗失败
  3. 受害者浓度变化会在临床上造成什么后果? 预测后续影响:浓度过高导致毒性,或浓度过低导致治疗失败。
  4. 始终检查反向作用。 除了分析 A→B,也要分析 B→A。加害者-受害者关系可能是不对称的,也可能是双向的。

特殊情况——前药:如果受害者是需要代谢活化的前药,抑制其活化酶会降低疗效(而非导致毒性)。诱导其活化酶可能会增强疗效,或增加活性代谢物的毒性。


II 相代谢:葡萄糖醛酸化相互作用(UGT 酶)

大多数 DDI 推理都聚焦于 CYP450(I 相代谢),但 II 相结合反应——尤其是通过 UGT 酶进行的葡萄糖醛酸化——会导致一些最危险的药物相互作用。这类相互作用经常被忽略,因为 Agent 默认采用以 CYP 为中心的推理方式。

核心原理:UGT 酶(UGT1A4、UGT2B7、UGT1A1 等)将药物与葡萄糖醛酸结合,以便经肾脏排泄。UGT 抑制剂与 UGT 底物合用时,由于其主要排泄通路被阻断,底物会蓄积。

丙戊酸 + 拉莫三嗪范例(IDX 927 模式):

  1. 拉莫三嗪主要通过 UGT1A4 葡萄糖醛酸化代谢(占其消除量的 >90%)。
  2. 丙戊酸是强效 UGT1A4 抑制剂。
  3. 合用会使拉莫三嗪浓度加倍(半衰期从约 25 小时延长至约 60 小时)。
  4. 临床后果:Stevens-Johnson 综合征(SJS)/中毒性表皮坏死松解症(TEN)——危及生命的皮肤科急症。
  5. 机制:抑制拉莫三嗪葡萄糖醛酸化——并非 CYP 相互作用。
  6. 管理:在拉莫三嗪治疗中加入丙戊酸时,将拉莫三嗪剂量减半。缓慢滴定。

其他重要的 UGT 相互作用:

  • 丙戊酸 + 吗啡/齐多夫定:丙戊酸抑制 UGT2B7 → 吗啡/齐多夫定浓度升高
  • 丙戊酸 + 苯妥英:双重机制——抑制 CYP2C9 + 置换蛋白结合 → 苯妥英浓度难以预测
  • 卡马西平 + 拉莫三嗪:卡马西平诱导 UGT1A4 → 拉莫三嗪浓度降低约 50%(与丙戊酸作用方向相反)
  • 口服避孕药 + 拉莫三嗪:炔雌醇诱导 UGT1A4 → 拉莫三嗪浓度降低;停用口服避孕药时(停药周),拉莫三嗪浓度会回升
  • 利福平 + 多种 UGT 底物:利福平诱导 UGT1A1、UGT2B7 → 吗啡浓度降低,胆红素结合增加

UGT 相互作用的推理算法:

  1. 受害药物是否主要经葡萄糖醛酸化清除?(检查:拉莫三嗪、吗啡、劳拉西泮、齐多夫定、胆红素)
  2. 加害者是 UGT 抑制剂(丙戊酸、丙磺舒、阿扎那韦)还是诱导剂(卡马西平、利福平、苯妥英、口服避孕药)?
  3. 预测变化方向:抑制剂 → 受害者浓度升高;诱导剂 → 受害者浓度降低
  4. 评估临床重要性:治疗指数窄的受害药物(拉莫三嗪、吗啡)风险很高

使用 scripts/pharmacology_ref.py --type ugt_inhibitor --drug "[drug]" 和 --type ugt_substrate --drug "[drug]" 快速查询 UGT 信息。

酶诱导与抑制:级联效应

当患者同时服用 3 种或更多药物时,药物相互作用可能产生级联效应。一种常见模式:

情景:患者在稳态下服用药物 A(CYP3A4 底物)和药物 B(CYP3A4 诱导剂)。随后加入药物 C(CYP3A4 抑制剂)。

  • 药物 B 会使药物 A 的浓度维持在较低水平(通过诱导作用)。
  • 药物 C 现在会抑制 CYP3A4 → 药物 A 的浓度升高,但升高幅度取决于药物 C 是否能抵消药物 B 的诱导作用。
  • 如果之后停用药物 B,药物 A 的浓度会进一步升高(诱导作用会在 1-2 周内消退,而抑制作用仍然存在)。

级联效应的关键推理原则:

  1. 诱导需要数天到数周才能产生(需要合成新的酶蛋白),并且需要数天到数周才能消退(酶蛋白必须降解)。应提前规划剂量调整。
  2. 抑制通常立即发生(在酶活性位点发生竞争性结合)。合用时就需要调整剂量。
  3. 停用诱导剂时,所有为抵消诱导作用而向上调整剂量的药物,现在都会达到超治疗浓度。此时可能出现毒性——通常在停用诱导剂后 1-2 周。
  4. 多种针对同一种酶的抑制剂不会简单叠加——作用最强的抑制剂占主导。但多种针对不同酶、且都会影响同一种受害药物的抑制剂,可能产生协同作用。
ADR 归因:哪种机制导致了问题?

当服用多种药物的患者出现药物不良反应时:

  1. 时间线:ADR 相对于最近一次药物调整是在什么时候出现的?(数小时 = PK 抑制或 PD;数周 = 诱导作用消退)
  2. 哪种药物可能是受害药物? 受害药物是指其毒性特征与 ADR 相符的药物。出现癫痫发作 → 检查抗惊厥药物浓度。出现出血 → 检查抗凝药物浓度。
  3. 哪种药物可能是致害药物? 致害药物是最近添加或调整的药物,或者最近停用的诱导剂。
  4. 机制是什么? 查明受害药物的代谢途径(CYP?UGT?肾脏?),然后检查致害药物是否会影响该途径。
  5. 验证:预测的机制是否符合临床效应幅度?中效 CYP 抑制剂应使药物浓度升高 2-3 倍;强效抑制剂应使其升高 5 倍以上。如果观察到的效应远大于或小于预期,应重新考虑机制。

示例(IDX 927):一名服用拉莫三嗪的老年患者,在加用丙戊酸后出现癫痫发作和皮疹。

  • 受害药物 = 拉莫三嗪(导致毒性的药物——SJS/皮疹,以及由毒性引起的反常性癫痫发作)
  • 致害药物 = 丙戊酸(新添加的药物)
  • 机制 = 抑制 UGT1A4 → 阻断拉莫三嗪葡萄糖醛酸化 → 拉莫三嗪浓度升高 2 倍 → SJS
  • 答案:“抑制拉莫三嗪葡萄糖醛酸化”——而不是苯妥英过敏或 CYP 相互作用
时间线推理

根据症状出现的时间模式缩小可能的机制范围:

  • 添加新药后数小时内出现症状 → 考虑药代动力学抑制(竞争性、起效迅速)或直接的药效学相互作用(受体效应叠加)
  • 症状在 1-2 周内逐渐出现 → 考虑酶诱导(需要合成新的蛋白质,起效慢、消退也慢)
  • 无论何时都可能出现的症状 → 考虑药效学相互作用(两种药物各自作用于同一受体、通路或器官系统)
  • 停药数天后出现的症状 → 考虑诱导作用消退(酶水平恢复至基线,受害药物浓度升高)

三个问题

对于任何疑似药物相互作用,请通过以下问题进行分类:

1. 这是药代动力学相互作用吗?(一种药物改变另一种药物的水平)

  • 机制:吸收变化、酶抑制/诱导、转运体竞争、蛋白结合置换、肾脏排泄改变
  • 线索:药物血浆浓度发生可测量的变化
  • 处理:确认涉及哪些代谢酶和转运体

2. 这是药效学相互作用吗?(两种药物作用于同一系统)

  • 相加/协同:两种药物推动同一生理效应朝相同方向变化(例如镇静、出血、QTc 延长、血清素活性、低血糖)
  • 拮抗:药物对同一靶点产生相反作用(例如同一受体上的阻滞剂与激动剂)
  • 协同毒性:不同机制汇聚于同一器官(例如一种药物通过药代动力学提高药物水平,另一种则通过药效学损伤同一组织)
  • 电解质介导:一种药物改变电解质平衡,使患者更容易受到另一种药物毒性的影响
  • 线索:血浆药物水平没有变化,但临床效应被放大或减弱

3. 这是药剂学相互作用吗?(药物在进入人体前发生相互作用)

  • 静脉输液管路不相容、胃肠道内螯合、pH 依赖性降解
  • 线索:问题发生在给药时,而非吸收之后

大多数临床显著的相互作用属于药代动力学、药效学,或两者同时存在。务必考虑药代动力学与药效学混合相互作用,这类相互作用往往最危险。


严重程度判断

根据受影响药物的特性推断严重程度,而不是死记清单:

治疗指数决定风险容忍度:

  • 治疗指数窄的药物(例如华法林、锂、地高辛、苯妥英、茶碱、环孢素、氨基糖苷类)→ 即使水平只有小幅变化,也可能造成临床危险。与这些药物发生的任何药代动力学相互作用,严重程度至少为中度。
  • 治疗指数宽的药物 → 中等程度的水平变化(2-3 倍)通常可以耐受。严重程度取决于变化幅度和具体毒性特征。

前药逻辑会反转预测结果:

  • 抑制前药的活化 = 疗效降低,而非毒性增加。如果前药用于治疗危及生命的疾病(例如抗血小板治疗、癌症治疗),这会造成危险。

严重程度分类流程:

  • 禁忌:已有记录证实会导致危及生命的毒性。不得使用此组合。
  • 严重:造成严重伤害或永久性损害的风险较高。有替代方案时应避免使用;若无法避免,则需要密切监测、调整剂量并记录理由。
  • 中度:可能使患者病情恶化或需要额外治疗。可通过调整剂量并提高监测频率进行管理。
  • 轻微:影响轻微,临床意义有限。通常无需调整剂量。

管理措施直接取决于作用机制:

  • 如果致相互作用药物是抑制剂 → 根据抑制强度按比例降低受影响药物的剂量,或用不具抑制作用的替代药物替换致相互作用药物
  • 如果致相互作用药物是诱导剂 → 增加受影响药物的剂量(以治疗药物监测为指导),或替换致相互作用药物;记得在停用诱导剂时重新调整剂量
  • 如果相互作用属于药效学 → 调整任一药物的剂量都无法解决问题;应替换其中一种药物,或增加保护性监测(例如为监测 QTc 进行 ECG 检查,为监测出血进行 INR 检查)

关键工作流要求

1. 报告优先方法(强制)

不要展示中间工具输出或搜索过程。请改为:

  1. 首先创建报告文件——在收集任何数据之前:

    • 文件名:DDI_risk_report_[DRUG1]_[DRUG2].md(3 种或更多药物时使用 _polypharmacy.md)
    • 初始化所有章节标题
    • 在每个章节中添加占位内容:[Analyzing...]
  2. 首先应用临床推理——在运行工具之前,推理以下内容:

    • 每种药物的 CYP 作用(底物/抑制剂/诱导剂)
    • PD 重叠(相同受体、相同器官毒性)
    • 根据参考表标记高风险组合
  3. 逐步更新——随着数据库数据的收集:

    • 将 [Analyzing...] 替换为研究结果
    • 工具返回空结果时,注明“未检测到相互作用”
    • 明确记录失败的工具调用
  4. 最终交付内容——完整的 Markdown 报告及建议


工具工作流

阶段 1:药物识别
  1. 确认通用名、ChEMBL ID、DrugBank ID
  2. 识别每种药物的类别和作用机制
  3. 在查询数据库之前,先应用上述 CYP450 推理框架
阶段 2:PK 相互作用分析

按以下顺序查询工具:

  1. 使用 ChEMBL_get_drug_mechanisms 或 KEGG_get_drug 查询 CYP 底物/抑制剂/诱导剂数据
  2. 使用 drugbank_get_drug_interactions_by_drug_name_or_id 查询已知转运体相互作用(P-gp、OATP、OAT、OCT)
  3. 与 PharmGKB 交叉核对药物基因组学背景

转运体相互作用(CYP 分析不完整时检查):

  • P-糖蛋白(P-gp / ABCB1):底物(地高辛、达比加群、非索非那定);抑制剂(胺碘酮、环孢素、奎尼丁、维拉帕米);诱导剂(利福平)
  • OATP1B1:底物(他汀类药物、甲氨蝶呤);抑制剂(环孢素、吉非贝齐)
阶段 3:PD 相互作用分析
  1. 识别每种药物的受体靶点
  2. 检查受体活性是否重叠(相加/协同)
  3. 检查受体活性是否相反(拮抗)
  4. 评估共同的器官毒性通路
阶段 4:临床证据评估
  1. 通过 DailyMed_get_spl_by_setid 查阅 FDA 标签——最高证据等级
  2. 通过 PubMed_search_articles 查询临床研究数据——第二等级
  3. 理论/机制依据——明确标记为 ★☆☆
阶段 5:风险评分

风险评分(0-100):

  • 基础分依据严重程度:严重=60,中度=35,轻微=10
  • 证据修正:FDA 标签 +20,临床研究 +10,理论依据 +0
  • 发生频率修正:常见(>10%)+10,不常见(1-10%)+5,罕见(<1%)+0
  • 患者因素修正:每项适用的高风险因素 +5
阶段 6:替代方案和监测

对于每种严重/禁忌相互作用:

  1. 建议可避开该相互作用机制的具体替代药物
  2. 如果无法替换,提供剂量调整建议
  3. 明确监测参数:检查哪些实验室指标、观察哪些症状、监测频率

输出报告结构

  1. 执行摘要(相互作用严重程度、主要风险)
  2. 药物概况(类别、机制、CYP 作用)
  3. PK 相互作用(CYP、转运体、机制)
  4. PD 相互作用(相加、协同、拮抗)
  5. 临床证据(FDA 标签、研究、病例报告)
  6. 风险评分(0-100,含分项说明)
  7. 管理建议(避免/调整剂量/监测)
  8. 监测计划(实验室检查、时间安排、阈值)
  9. 替代药物(不涉及该机制的替代药物)
  10. 患者咨询要点

成功标准

完成 DDI 报告前:

  • 所有药物名称均已解析为标准标识符
  • 在查询数据库前已进行 CYP450 分析
  • 已完成双向分析(A→B 和 B→A)
  • 已评估所有机制类型(CYP、转运体、PD)
  • 已提取 FDA 标签警告
  • 已检索临床文献
  • 已分配证据等级(★★★、★★☆、★☆☆)
  • 已计算风险评分(0-100)
  • 已分类严重程度(禁忌/重大/中度/轻微)
  • 已提供主要管理建议
  • 已建议替代药物
  • 已定义监测参数
  • 已包含患者咨询要点
  • 已完成所有章节(无 [Analyzing...] 占位符)
  • 已在全文引用数据来源

评论

支持 Markdown