mcpField
T
tooluniverse-drug-synergy

tooluniverse-drug-synergy

github.com/mims-harvardData & databases1.8k122 installsUpdated 3d ago
Repository

About tooluniverse-drug-synergy

A ToolUniverse skill for determining whether a two-drug combination is synergistic, additive, or antagonistic relative to an additivity model. It maps data types to Bliss, HSA, Loewe, ZIP, or Combination Index analysis and stresses reporting the chosen model.

Key features

  1. 01Choose a synergy model based on available data
  2. 02Support Bliss, HSA, Loewe, ZIP, and Combination Index
  3. 03Interpret additive expectations and synergy scores
  4. 04Explain effect-scale conversion and dose-response requirements

Use cases

  1. 01Test whether a single dose pair exceeds the Bliss expectation
  2. 02Compare multi-dose combinations with single-agent effects
  3. 03Assess combination doses using single-agent dose-response curves
  4. 04Identify synergistic regions in a dose matrix

MCP support

The skill runs analyses with ToolUniverse tools including DrugSynergy_calculate_bliss, DrugSynergy_calculate_hsa, DrugSynergy_calculate_loewe, DrugSynergy_calculate_ci, and DrugSynergy_calculate_zip.

Install

Copy the command and run it in a terminal.

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

After installing, type/tooluniverse-drug-synergyin Claude Code to confirm it loaded.

Bundled filesscripts/synergy_reference.pytest_synergy_reference.py

Details

From the project README

Drug-Combination Synergy Analysis

Decide whether a two-drug combination does more than expected (synergy), exactly as expected (additivity), or less (antagonism) — and pick the right reference model for the data you have.

"Synergy" only means something relative to a null model of additivity, and the models define additivity differently — so the first decision is which model, driven by what data you measured.

Step 0 — Pick the model by the data you have

You measured…Use modelToolInput
Single effects of A, B, and A+B at one dose pairBlissDrugSynergy_calculate_blisseffect_a, effect_b, effect_combination (each a fraction 0–1)
Effects of A, B, A+B across several dose pointsHSADrugSynergy_calculate_hsaeffects_a, effects_b, effects_combo (arrays)
Single-agent dose-response curves + one combination pointLoeweDrugSynergy_calculate_loewedoses_a_single/effects_a_single, doses_b_single/effects_b_single, dose_a_combo, dose_b_combo, effect_combo
Single-agent dose-response + combo point, want Chou-Talalay CICombination IndexDrugSynergy_calculate_cisame as Loewe + assumption
A full dose × dose viability matrixZIPDrugSynergy_calculate_zipdoses_a, doses_b, viability_matrix (% , 0–100)

Effects must be on a consistent inhibition scale. Bliss/HSA/Loewe expect fractional inhibition 0–1 (0 = no effect, 1 = complete kill). If your data is % viability, convert: inhibition = 1 − viability/100. ZIP takes the viability matrix in % directly. Mixing scales is the most common error.

Step 1 — What each model's "additivity" means

ModelNull (additive) expectationBest when
Bliss independencedrugs act independently: E_exp = E_a + E_b − E_a·E_bdifferent mechanisms; quick single-point screen
HSA (highest single agent)combo should beat the better single agent: E_exp = max(E_a, E_b)conservative "does it beat monotherapy?" question
Loewe additivitya drug combined with itself = additive (dose equivalence)same/similar mechanism; needs dose-response
ZIPcombines Bliss + Loewe; potency shift of one drug's curve by the otherdose-matrix screens (the SynergyFinder default)
Chou-Talalay CICI<1 synergy, =1 additive, >1 antagonism (median-effect)classic isobologram-style analysis with dose-response

There is no single "correct" model — state which one you used. Bliss and Loewe genuinely disagree for some combinations (that's expected, not an error); reporting two models (e.g. Bliss + HSA, or Loewe + ZIP) is good practice.

Step 2 — Run it

# 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 computes the Bliss, HSA, and Loewe-style expected combination effects side-by-side from one dose pair, so you can see at a glance whether the models agree before running the full tools.

Step 3 — Interpret the score

For Bliss/HSA/Loewe/ZIP, the synergy score is (observed − expected) (often ×100):

Score (fractional, ×100 scale)Call
> +10synergy
−10 to +10additive (no meaningful interaction)
< −10antagonism

For Combination Index (Chou-Talalay): CI < 1 = synergy, CI = 1 additive, CI > 1 antagonism (note the opposite direction — lower is more synergistic).

  • A positive Bliss/HSA score means the combination exceeds the additive expectation at that point.
  • Synergy is often dose-dependent — a combination can be synergistic at one ratio and antagonistic at another; for a matrix, report the synergistic region, not one number.

Step 4 — Gotchas (state these)

  • Scale mismatch (% viability vs fractional inhibition) — convert first (Step 0).
  • Effects near 0 or 1 (ceiling). If both single agents already kill ~everything, the combo can't show synergy (no headroom) — Bliss/HSA saturate; interpret with care.
  • ZIP/Loewe/CI need real dose-response with ≥3 non-zero, measurable-effect dose points per drug, or the Hill fit fails (the tools say so).
  • Model disagreement is normal — don't shop for the model that gives "synergy"; pre-specify the model and report it.
  • A synergy score is not efficacy — a strongly synergistic combination can still be weak overall; report the absolute combination effect too.

Honest limitations

  • These are reference-model synergy scores, not statistical tests — for confidence, replicate and report variability across the dose matrix.
  • Synergy in vitro does not guarantee clinical benefit (PK/PD, toxicity, scheduling all matter).

Related skills

  • tooluniverse-dose-response — fit the single-agent IC50/EC50 curves that Loewe/CI/ZIP need.
  • tooluniverse-cell-line-profiling — look up pre-computed combination synergy (SYNERGxDB).
  • tooluniverse-drug-repurposing / tooluniverse-network-pharmacology — rationale for combinations.

Comments

Markdown supported