mcpField
T
tooluniverse-drug-synergy

tooluniverse-drug-synergy

github.com/mims-harvard数据与数据库1.8k122 次安装2 天前更新
代码仓库

关于 tooluniverse-drug-synergy

用于评估两种药物联用相对于加和模型是协同、相加还是拮抗的 ToolUniverse 技能。它根据实验数据类型引导选择 Bliss、HSA、Loewe、ZIP 或组合指数,并强调报告所用模型。

主要功能

  1. 01按数据类型选择协同分析模型
  2. 02支持 Bliss、HSA、Loewe、ZIP 和组合指数
  3. 03提供加和预期与协同评分解读
  4. 04说明效应尺度转换及剂量反应数据要求

适用场景

  1. 01评估单一剂量组合是否超过 Bliss 预期
  2. 02分析多剂量组合相对于单药的效果
  3. 03用单药剂量反应曲线评估联用剂量
  4. 04解析剂量矩阵中的协同区域

MCP 相关

技能通过 ToolUniverse 的 DrugSynergy_calculate_bliss、DrugSynergy_calculate_hsa、DrugSynergy_calculate_loewe、DrugSynergy_calculate_ci 和 DrugSynergy_calculate_zip 工具执行分析。

安装

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

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

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

附带文件scripts/synergy_reference.pytest_synergy_reference.py

详细介绍

药物组合协同作用分析

判断两种药物的组合效果是超出预期(协同作用)、恰好符合预期(相加作用),还是低于预期(拮抗作用)——并根据你拥有的数据选择合适的参考模型。

“协同作用”只有相对于相加作用的零模型才有意义,而且不同模型对相加作用的定义不同——因此,首先要根据测量了什么数据来决定使用哪个模型。

步骤 0 — 根据现有数据选择模型

你测量了……使用模型工具输入
A、B 和 A+B 在一组剂量组合下的单次效应BlissDrugSynergy_calculate_blisseffect_a、effect_b、effect_combination(各为 0–1 的分数)
A、B、A+B 在多个剂量点下的效应HSADrugSynergy_calculate_hsaeffects_a、effects_b、effects_combo(数组)
单药剂量-反应曲线 + 一个组合点LoeweDrugSynergy_calculate_loewedoses_a_single/effects_a_single、doses_b_single/effects_b_single、dose_a_combo、dose_b_combo、effect_combo
单药剂量-反应曲线 + 组合点,且需要 Chou-Talalay CICombination IndexDrugSynergy_calculate_ci与 Loewe 相同 + assumption
完整的剂量 × 剂量活性矩阵ZIPDrugSynergy_calculate_zipdoses_a、doses_b、viability_matrix(%,0–100)

效应必须采用一致的抑制率标度。 Bliss/HSA/Loewe 需要的是分数形式的抑制率 0–1(0 = 无效应,1 = 完全杀灭)。如果你的数据是存活率百分比,请转换:inhibition = 1 − viability/100。ZIP 直接使用百分比形式的活性矩阵。标度混用是最常见的错误。

步骤 1 — 各模型中“相加作用”的含义

模型零模型(相加)预期最适合的情况
Bliss 独立性药物独立发挥作用:E_exp = E_a + E_b − E_a·E_b作用机制不同;快速单点筛选
HSA(最高单药效应)组合效果应优于效果较好的单药:E_exp = max(E_a, E_b)保守地判断“是否优于单药治疗”
Loewe 相加作用一种药物与自身组合时为相加作用(剂量等效)作用机制相同或相似;需要剂量-反应数据
ZIP结合 Bliss + Loewe;一种药物使另一种药物的曲线效力发生偏移剂量矩阵筛选(SynergyFinder 的默认模型)
Chou-Talalay CICI<1 为协同作用,=1 为相加作用,>1 为拮抗作用(中位效应法)基于剂量-反应数据的经典等效线分析

不存在唯一“正确”的模型——请注明你使用了哪个模型。 对某些组合,Bliss 和 Loewe 的结果确实会不同(这是预期结果,并非错误);同时报告两种模型的结果(例如 Bliss + HSA,或 Loewe + ZIP)是很好的做法。

步骤 2 — 运行分析

# Bliss (single dose pair, fractional inhibition)
tu run DrugSynergy_calculate_bliss '{"operation":"calculate_bliss",
  "effect_a":0.4,"effect_b":0.3,"effect_combination":0.7}'
# -> expected 0.58, bliss_synergy_score 0.12, "Strong synergy"

scripts/synergy_reference.py 会根据一组剂量组合并列计算 Bliss、HSA 和 Loewe 风格的预期组合效应,让你在运行完整工具之前一眼看出这些模型的结果是否一致。

步骤 3 — 解读分数

对于 Bliss/HSA/Loewe/ZIP,协同作用分数为(观察值 − 预期值)(通常 ×100):

分数(分数形式,×100 标度)判定
> +10协同作用
−10 到 +10相加作用(无显著相互作用)
< −10拮抗作用

对于Combination Index(Chou-Talalay):CI < 1 = 协同作用,CI = 1 为相加作用,CI > 1 为拮抗作用(请注意方向相反——数值越低,协同作用越强)。

  • Bliss/HSA 分数为正,表示该组合在该点超出了相加作用预期。
  • 协同作用通常取决于剂量——一种组合可能在某个配比下表现为协同作用,在另一个配比下表现为拮抗作用;对于矩阵,应报告协同作用的区域,而不是一个数字。

步骤 4 — 注意事项(请明确说明)

  • 尺度不匹配(% 存活率与分数形式的抑制率)——先进行转换(步骤 0)。
  • 效应接近 0 或 1(天花板效应)。 如果两种单药已经几乎杀死所有细胞,组合就无法显示协同作用(没有提升空间)——Bliss/HSA 会达到饱和;解读时请谨慎。
  • ZIP/Loewe/CI 需要真实的剂量-反应数据:每种药物至少有 3 个非零且效应可测的剂量点,否则 Hill 拟合会失败(工具会提示)。
  • 模型结果不一致很正常——不要为了得到“协同作用”而挑选模型;请预先指定模型并报告。
  • 协同评分不等于疗效——强协同的组合整体效果仍可能较弱;还应报告组合的绝对效应。

局限性说明

  • 这些是参考模型的协同评分,而非统计检验——如需评估可信度,请进行重复实验并报告剂量矩阵中的变异情况。
  • 体外协同作用不保证临床获益(PK/PD、毒性和给药方案都很重要)。

相关技能

  • tooluniverse-dose-response — 拟合 Loewe/CI/ZIP 所需的单药 IC50/EC50 曲线。
  • tooluniverse-cell-line-profiling — 查询预先计算的组合协同作用(SYNERGxDB)。
  • tooluniverse-drug-repurposing / tooluniverse-network-pharmacology — 了解组合用药的依据。

评论

支持 Markdown