Intratumoral CpG · Melanoma · ORR estimation

Melanoma CpG Response Estimator (CpG ORR Analog)

Enter a product's parameters. The tool matches it against the real trial arms and estimates ORR by weighted analogy — not a fitted model. Correlations, weights and significance all recompute live from whichever arms are active.

!Descriptive, hypothesis-generating only.
The reference set is a handful of arms across a few molecules — statistically it cannot support a real estimator. This is an analog matcher: it formalizes "your product looks most like arm X, expect roughly what X got." The fragility meter shows exactly how much one arm can swing the answer. Read every estimate as a range anchored to named comparators, never a point fact.
Overview
Your results
The evidence

The Estimate (tab 02) is an analog matcher for objective response rate (ORR) in intratumoral CpG melanoma trials. You give it a product's parameters; it finds the most similar real trial arms and blends their reported ORRs. It is deliberately not a fitted statistical model — with this little data, a fitted equation would invent precision that isn't there. A separate fitted Model (tab 04) is provided as a second opinion, heavily shrunk and reported with its own error; section 06 below explains the two in plain language.

A · Estimate (tab 02): Overview + sections 01–05  ·  B · Model (tab 04): section 06  ·  Both: 07 worked example, 08 the tabs

Estimate vs Model — the two methods at a glance

plain language · details in section 06
ino background? click iThe Estimate (tab 02) — "find the look-alikes"The Model (tab 04) — "draw a line through the dots"
How it gets a number Finds the look-alikes and blends what they got.
  1. Every input (dose, doses, weeks, population…) is rescaled to a 0–1 scale across the 13 arms, so "2 mg" and "12 weeks" become comparable.
  2. Each input gets a weight: how strongly it tracked ORR in the arms (|r|) × how many arms reported it. Population weighs most; dose barely.
  3. For every arm, the distance to your drug = weighted average of the gaps. Small distance = look-alike. Arms that never reported an input skip that input.
  4. Distance becomes a similarity score (close arms score near 1, far arms near 0), and only arms allowed by the population lock may anchor.
  5. The estimate = the arms' real ORRs, averaged by similarity. The range is the spread of the closest anchors; fragility redoes it without each arm in turn.
Draws one line through all the dots and reads off it.
  1. Same 13 arms, same inputs, each standardised (average = 0, spread = 1). An arm that did not report an input counts as "average" for it.
  2. A straight line is fitted: ORR = baseline + Σ effect × input — but every effect is shrunk toward zero by a penalty λ, because 14 effects on 13 arms would otherwise just memorise the data.
  3. λ is chosen by leave-one-out: fit on 12 arms, guess the 13th, repeat for each arm, keep the λ whose guesses were best.
  4. Your inputs are plugged into that line → the model estimate (clipped to 0–100).
  5. The typical error is how far those held-out guesses missed; fragility refits the line without each arm in turn.
Can it invent a number?No — it only repeats results that really happenedYes — the line keeps going into territory no trial has tested
When nothing looks like your drugSays "no close analog" and gets vague — that is honesty, not failureStill gives a confident-looking number — that is the danger
Change the dose and…Barely moves — the look-alike trials did not change much with dose eitherAlways moves, by the fitted amount (e.g. "each extra dose ≈ +0.8 points")
Uses the population lock?Yes — all / naïve / refractory / noneNo — population is just one more input on the line
How shaky is it?Fragility meter: drop any one trial and watch the swingTypical error ±23 pts; drop one trial and it shifts by roughly ten points
Best question for it"What happened to people like me?""If I change one thing, which way does the needle move?"
Trust it when…Your drug resembles a trial that was actually runIt agrees with the Estimate; if not, treat it as a guess pointing in a direction
How to report the number As a range anchored to named trials — never a point fact.
  • Say: "ORR ≈ X% (range a–b%; ±p pts), by analogy to [arm 1] (n%) and [arm 2] (m%); k reference arms, [population setting]; leave-one-out swing c–d%."
  • Always include: the range before the point; the two anchor arms with their citations (PMID / NCT, tab 05); the population lock setting; how many arms anchored; the leave-one-out swing.
  • Never: decimals (whole percent only); the word "predicted"; the point without its range; a number with the anchors left out.
  • Where to get it: the copy-ready sentence below, or "Compare & export" on tab 02 for the full rationale.
As an exploratory figure with its error, always beside the Estimate.
  • Say: "Fitted-model ORR ≈ Y% (typical error ±Z pts; leave-one-out R² r%; ridge regression on k arms). Exploratory; differs from the analog estimate by ±q pts."
  • Always include: the typical error; the leave-one-out R² (how much it actually explains out-of-sample); the number of arms; that it is a shrunk (ridge) fit; the difference from the Estimate.
  • Never: report it alone; quote a per-unit effect ("+0.8 points per dose") as a cause or a promise — it is a slope through 13 points; state it without the error.
  • If it disagrees with the Estimate by more than the typical error, say so in the same sentence — that gap is the finding.

Overview Methodology at a glance Estimate · tab 02

Approach. The tool does not fit a statistical model. It estimates objective response rate (ORR) by weighted analogy: it identifies the real trial arms most similar to the entered product profile and returns a similarity-weighted average of their reported ORRs — the standard analog-benchmarking method used when the evidence base is too small to support a regression.

Evidence base. Fourteen published intratumoral-CpG melanoma trial arms. For each arm, the full treatment profile (dose, schedule, population, molecule class, delivery) and the reported RECIST ORR are recorded and sourced to PubMed and ClinicalTrials.gov.

Procedure.

  1. Normalisation. i Each factor is scaled to its observed 0–1 range so heterogeneous units (mg, weeks, binary codes) become directly comparable.
  2. Weighting. i Each factor is weighted by its correlation with ORR and the number of arms supporting it, computed live from the active data. Population (PD-1-naïve status) dominates; weakly correlated factors contribute little.
  3. Distance. i A weighted root-mean-square of the per-factor differences yields a single distance between the product and each arm.
  4. Similarity. i A Gaussian kernel converts distance into a similarity weight; nearer arms carry substantially more weight.
  5. Estimation. i The estimate is the similarity-weighted mean of the arms' reported ORRs, with the closest analogs dominating the result.

Governing equations.

Distance between the product and a reference arm:

D = √( Σ wᶠ · (nᶠ − aᶠ)² ÷ Σ wᶠ )

where wᶠ is the factor weight, nᶠ the normalised product value, and aᶠ the normalised arm value.

Similarity weight (Gaussian kernel, bandwidth 0.34):

s = e^(−(D ÷ 0.34)²)

Estimate (similarity-weighted mean over arms reporting an ORR):

ORR = Σ( sᵢ · ORRᵢ ) ÷ Σ sᵢ

Safeguards. The estimate reports the specific arms driving it; a leave-one-out fragility analysis quantifies the influence of any single arm; a population lock restricts the reference set to PD-1-naïve or refractory arms; and boundary conditions are enforced — zero dose, concentration, volume or administration returns ORR ≈ 0, and out-of-range inputs are flagged as extrapolation.

Interpretation. With fourteen arms across four molecules, every output is descriptive and hypothesis-generating — a disciplined analogy to named comparators, not a validated prediction. Each result should be read as the response range observed in the most similar real trials.

AThe Estimate — tab 02 · how the analog estimate works, sections 01–05

01 What it actually does Estimate · tab 02

Think of it as formalizing the sentence a domain expert says when they read the trial table: "your product looks most like arm X, so expect roughly what X got." Every estimate is a range anchored to named real arms — never a standalone number. The tool always shows you which arms it leaned on, how much each factor mattered, and how fragile the answer is.

02 The evidence base Estimate · tab 02

A PubMed + ClinicalTrials.gov sweep for every intratumoral CpG / TLR9-agonist arm in melanoma that reported a RECIST ORR. That universe is small and now essentially complete:

14 intratumoral arms 4 molecules 13 report RECIST ORR every arm → PMID + NCT

Why 14 and not 16? The complete registry is 16 trials/cohorts. 2 arms (CMP-001-010, CMP-001-011) reported no ORR at all (both were also halted for business reasons), so they can't serve as analogs. Note: termination alone never excludes an arm — many terminated arms stay in because they still report an ORR, even 0%. The only exclusion rule is a missing ORR endpoint — leaving 14 reference arms. Of those, 13 report a RECIST ORR; the 14th (neoadjuvant vidutolimod) reports pathologic MPR, so it can match as an analog but never anchors the estimated number.

16 registry  −2 excluded (no ORR reported)  =  14 reference arms  →  13 with RECIST ORR (+1 MPR-only)

The 4 molecules — nelitolimod (SD-101), tilsotolimod, vidutolimod (CMP-001), and cavrotolimod — are the complete IT-CpG-melanoma-with-RECIST-ORR landscape. Every arm's source is in the Arms & sources tab; you can toggle any arm on/off and the whole tool recomputes.

03 How the estimate is computed Estimate · tab 02

  1. Normalize each factor to its observed 0–1 range across the active arms.
  2. Weight each factor by |r with ORR| × reliability (how many arms back it), computed live from the data. So the single dominant driver — PD-1-naïve status (r ≈ 0.87) — pulls hardest, while weak or thin factors barely register.
  3. Distance to each arm = weighted root-mean-square of the per-factor gaps:
    D = √( Σ wᶠ·(nᶠ − aᶠ)² ⁄ Σ wᶠ )
  4. Similarity via a Gaussian kernel: s = e^(−(D ⁄ 0.34)²).
  5. Estimate = the similarity-weighted mean of the arms' ORR — closest arms count most.
  6. Band = the similarity-weighted spread, widened for the small-n floor.

04 What keeps it honest Estimate · tab 02

Fragility meter (leave-one-out): drops each arm in turn and re-estimates, so you see the full swing one arm can cause. Population lock: restrict to naïve-only or refractory-only arms, since PD-1 status is the one real driver. Raw anchors: the actual ORRs of your two closest arms, shown with no smoothing. Guards: zero dose / concentration / volume / lesions → "nothing administered, ORR ≈ 0"; out-of-range inputs get an extrapolating flag (capped by default, or uncapped by choice). Exclusions: ΔORR is left out (it's derived from ORR — circular); neoadjuvant vidutolimod reports pathologic MPR, so it can match as an analog but never anchors a RECIST number.

05 The hard limitation — read this Estimate · tab 02

A second limitation, and it is about the product rather than the method. This tool estimates a melanoma response rate by analogy to human melanoma trials of other molecules. It carries no evidence that any particular new agent works in melanoma. Where a programme's published in vivo package is in other tumour models, the estimate describes what CpG chemistry has achieved in melanoma to date — not what that agent will achieve. Treat the output as a benchmark of the class, and source the melanoma-specific case separately.
14 arms, 4 molecules. This cannot statistically support an estimator. Correlations at this sample size rarely reach significance, and a single arm can swing any coefficient — which is exactly what the fragility meter quantifies. Treat every output as hypothesis-generating, a structured way to reason by analogy from real comparators — not a response estimate. It is not medical or investment advice, and nothing here is peer-reviewed.
BThe Model — tab 04 · the formula-based second opinion, section 06

06 The fitted model (tab 04) — and how it differs from the Estimate, in plain language Model · tab 04

Two ways to guess your drug's response rate. Both use the same 13 trials; they reason about them differently.

The Estimate (tab 02) — "find the look-alikes." Imagine the 13 trials laid out on a table. The tool looks at your drug, finds the two or three trials that look most like it (same kind of patients, same partner drug, similar dosing) and says: "those got 49% and 78% — you will probably land in between." It only ever repeats real results; it cannot invent a number nobody has seen. If nothing on the table looks like your drug it says so ("no close analog") and gets vague — that is honesty, not failure. Changing the dose barely moves it, because the look-alike trials did not change much with dose either.

The Model (tab 04) — "draw a line through the dots." Same 13 trials, but now a straight line is drawn through all of them: "every extra dose adds about so many points, being PD-1-naïve adds about so many…" and your answer is read off that line. Every input moves the number, always — that is the point of it. It can go where no trial went, which is useful for "what if?" and dangerous, because the line keeps going even where there is no evidence to hold it up. With only 13 trials the line is shaky: remove one trial and it shifts by several points, so it carries a large warning label — its typical error.

One picture. The Estimate asks "what happened to people like me?" The Model asks "if I change one thing, which way does the needle move?"

How to report these numbers — copy-ready, filled in live from the current inputs
–
–
  • Lead with the range, then the point — never the point alone. Round to whole percent; extra digits claim precision thirteen trials cannot give.
  • Name the anchor arms and cite them (PMID / NCT on tab 05). The number is only as good as its comparators; a reader must be able to check them.
  • State the population assumption (the lock setting) and that the inputs are the ones entered — a different dose plan is a different estimate.
  • Report both numbers together. If they disagree by more than the typical error, say so explicitly — that disagreement is the finding, not an error to hide.
  • Label it: "estimated by analogy to 13 intratumoral-CpG melanoma arms; hypothesis-generating, not predictive." Never "predicted".

How to use them together. If both give roughly the same number, trust it more. If they disagree by more than the typical error, that disagreement is the useful part: your drug is stepping outside what has been tested — the Estimate is saying "I have never seen this", the Model is guessing. Right now, with the parameters entered on tab 02: Estimate –, Model –, typical error – . Both agree on the one thing that matters most in this evidence: who you treat (PD-1-naïve or not) and what you pair it with move the number by tens of points; the exact dose, volume and concentration move it by one or two.

A+BBoth methods · the live worked example and the tab guide, sections 07–08

07 Worked example — how the current numbers are computed, step by step (live) Both methods

08 The tabs Both methods

EstimateEnter parameters → weighted ORR estimate, closest analogs, fragility, sensitivity sweep, and a rationale export.
FactorsWhat each input means and how strongly it tracks ORR — with a live breakdown of your product vs. its closest arm.
ModelA formula-based second opinion: ridge regression over the same arms and inputs, leave-one-out validated, with per-unit effects and its own fragility.
Arms, sources & dataAll 14 arms with PMID + NCT, grouped by any facet; toggle any on/off or add your own — plus the full arm-level data block and the 16-arm registry.
Market & companiesWho owned each molecule, what happened to the programme and the company, the wider intratumoral landscape — public sources only.
CorrelationsA live Pearson r / valid-n / significance heatmap over the active arms.

The definitive landscape answer

PubMed + ClinicalTrials.gov sweep

The search was exhaustive. Bottom line: your 4 molecules are essentially the complete universe of IT-CpG-in-melanoma-with-a-RECIST-ORR. Specifically:

  • One 5th molecule exists — agatolimod / PF-3512676 (a class-B CpG) was injected intralesionally in melanoma, but reported only local-lesion regression (1 CR of 5), no RECIST ORR → can't anchor a number. It's left out; it could be added as a reference-only row (like the neoadjuvant arm) if you want it visible.
  • Everything else (lefitolimod, IMO-2055, DV281, etc.) was systemic and/or non-melanoma → out of scope by the IT-only rule.

14 intratumoral arms · 4 molecules · 13 report RECIST ORR — see the Arms, sources & data tab for every arm and its citation.

Product parameters

i

Estimated ORR

i
weighted analog estimate
–%
range — i
— i
ORR axis · reference arms plotted, estimated band shaded

Nearest analogs

similarity → weight on estimate

Sensitivity sweep

hold all else, vary one factor
factor

Compare & export

snapshots of configs

Why — factor weights driving this match

weight = |r with ORR| × reliability (live)
Factorr with ORRvalid nweightyour value → nearest arm gap

Your product vs the reference arms

Each entered parameter placed on the range actually observed across the reference arms (dots = arms, green = the top-ORR arm), with the direction that tracks higher ORR in this arm set and where your value sits relative to it. Direction comes from the live correlation with ORR (* = p<0.05; n.s. = not significant at this n). Descriptive only on n≤14 — several "directions" are population proxies (see the Factors tab), not causes.
How the estimate is computed

Each factor is normalized to its observed 0–1 range across active arms. Product-to-arm distance is a weighted RMS over all factors both sides report: D = √( Σ wᶠ·(nᶠ−aᶠ)² ⁄ Σ wᶠ ), with wᶠ = |r(factor, ORR)| × reliability computed live from the active arms — so adding arms genuinely re-weights the model. Similarity is a Gaussian kernel s = e^(−(D∕0.34)²); the estimate is the similarity-weighted mean of the ORR-reporting arms, and the band is the similarity-weighted spread widened for the small-n floor.

Fragility meter: leave-one-out — drops each ORR-reporting arm in turn and recomputes, so you see the full swing one arm can cause. Guards: zero dose/conc/volume → "no active drug, ORR ≈ 0"; ΔORR and Median DoR excluded; neoadjuvant MPR never anchors a RECIST number.

Fitted model — ORR estimate

ridge regression · leave-one-out validatedi
fitted model · ORR estimate
–%
–
–
How this number is built from your inputs — live, updates as you type on tab 02
In plain words: start from the trials' average ORR, then for every input multiply how unusual your value is (z) by its learned push (b) and add the result. The last row adds them all up; the line below adds that to the average. Click any i in the header for what the column means.
What this is & what it is built on
Fitted model — a formula-based second opinion. Where the Estimate tab reasons by analogy (blending the real ORRs of the arms most like your product), this tab fits an explicit formula through the same evidence: ORR = baseline + Σ effecti × inputi. Every input therefore carries a stated per-unit effect, and changing any input always moves the number. It exists to answer "what if we change one thing?" — a question the analogy deliberately refuses when no trial has tested that change.
  • The same 13 ORR-reporting reference arms as the Estimate tab (all populations; the population lock is not applied here — PD-1 status enters as a predictor instead), and the same 14 inputs. The values you entered under Product parameters are used unchanged and echoed below.
  • Ridge regression. Inputs are standardised, then a linear model is fitted with its coefficients shrunk toward zero by a penalty λ. With 14 inputs and 13 arms an unpenalised fit would simply memorise the data; the shrinkage is what makes a fit possible at all.
  • Leave-one-out tuning and validation. For each candidate λ the model is fitted on 12 arms and asked to predict the 13th, in turn. The λ that predicts held-out arms best is kept, and the resulting held-out error is reported as the typical error — an honest accuracy figure, not the flattering in-sample fit.
  • Blanks are neutral. Where an arm did not report an input it is treated as that input's average, so effects for sparsely reported factors (dose, volume, concentration: 4–10 arms) rest only on the arms that stated them and are flagged thin data.
  • Fragility. As on the Estimate tab, the model is refitted without each arm in turn; if one arm can move the estimate by more than the typical error, the model is marked unstable.
How it differs from the analog estimate (tab 02)
Analog estimate (tab 02)Fitted model (this tab)
PrincipleWeighted average of the real ORRs of the most similar armsStraight-line formula fitted through all arms
Possible outputsOnly values between ORRs that actually occurredAny value the line reaches, including beyond the observed arms (clipped to 0–100)
What moves itChiefly the factors that separate similar from dissimilar arms (population, checkpoint partner); formulation inputs barelyEvery input, by its fitted coefficient — formulation inputs included
Blank inputsFactor dropped from that arm's distanceTreated as the arm-average for that factor
Population lockApplies — restricts which arms may anchorNot applied — population is a predictor
Uncertainty shownSimilarity confidence + leave-one-out fragility of the blendLeave-one-out typical error + leave-one-out fragility of the fit
Fails bySaying "no close analog" and widening — conservativeExtending a line into untested space with confidence it has not earned
Best used forA product that resembles an arm that was actually runDirectional "what if" on a single input; sanity-checking the analog
How to read the two together. Agreement within the typical error is reassuring. Disagreement larger than the typical error is itself the finding: the analog is reporting that no tested arm resembles your product, while the model is extrapolating a line into that gap. Neither is causal — both describe 13 trials.
Inputs in use, fit statistics & fragility
Inputs — entered on the Estimate tab
Fit statistics
Per-unit effects the model has learned — sorted by strength
Factorper +1 unitper +1 SDarms reportingread as

These weights belong to the analog Estimate (tab 02). The fitted model (tab 04) does not use them — it learns its own per-unit effects, listed on its tab.
How each point is used — r, n and weight update live as you toggle arms. Distance to every arm is a weighted average of the per-factor gaps below. A factor's pull = |r with ORR| × reliability. Sign of r is the direction it correlates with response (not proof of cause at small n). The prose caveats describe the original 6-arm baseline; the numbers on each card are live. Cards ordered by weight.

Live breakdown — your product vs. closest analog

—
Factor iweight iyour value iarm value igap (0–1) ishare of distance i
14The factors, one by one — how strongly each tracks ORR, its weight, and where your drug sits among the arms

Cards are sorted by weight (most attention first). In each mini chart the trial arms are blue bars sorted by value and your drug is the amber bar at its rank; the weight bar shows how much this input counts in the analog match.

From the literature sweep to the arms behind the estimate
The reference set — every arm is intratumoral (IT alone or IT+SC); toggle any on/off and the whole tool recomputes. The original 6 arms plus 8 newly-researched arms (each sourced to a PMID/DOI below). A PubMed/ClinicalTrials.gov sweep confirmed these 4 molecules are essentially the complete IT-CpG-melanoma-with-RECIST-ORR landscape; purely-systemic CpG trials (e.g. CPG-7909 SC) were excluded by route. The 8 added arms were vetted from the literature; blanks are genuine (undisclosed), never zeros. Add your own arm at the bottom. Nothing here is peer-reviewed advice — verify each source before relying on it.
Group / explore the arms by
Source data & full registry
Full arm-level data block (active arms). Every number the estimator uses. Blanks are genuine — cavrotolimod's conc/volume undisclosed; neoadjuvant vidutolimod reported pathologic MPR, so its RECIST ORR/ΔORR are blank; several newly-added arms disclosed only ORR + N.
Arm-level data block — click to show every number the estimator uses
CpG class key (immune profile)
ClassProfileExample
A (D-type)Strong type-I interferon (IFN-α) from pDCs; weak B-cell activationVidutolimod (CMP-001)
B (K-type)Strong B-cell / NF-κB activation; weaker interferonAgatolimod (CpG-7909)
CBoth profiles — strong interferon and strong B-cell activationSD-101, tilsotolimod
Unclassed (SNA)Spherical nucleic acid; class not stated by sponsorCavrotolimod (AST-008)

r values recompute live in the Correlations tab; the source workbook's Figures 2 & 5 correspond to the original 6-arm subset.

Detailed trial registry — 16 arms (from "Melanoma IT (local)")
Why 16 here, but 14 in the Estimator? This registry is the complete landscape (16 rows). The Estimator's reference set is 14 — it drops the 2 arms that reported no ORR (CMP-001-010, CMP-001-011) — an analogy engine has nothing to blend from an arm with no ORR. (They were also halted for business reasons, but that's incidental: termination alone never excludes an arm — terminated arms with an ORR, even 0%, are kept.) Of the 14, 13 report a RECIST ORR; the 14th (neoadjuvant vidutolimod) reports pathologic MPR, so it can match as an analog but never anchors the estimated number.
16 registry  −2 excluded (no ORR reported)  =  14 reference arms  →  13 with RECIST ORR (+1 MPR-only)
The full verified registry behind the analysis set — every arm with route-purity verification, carrier/depot mechanism, exact dosing, sponsor, status, clinical outcome, verdict, grade and source. Click any arm to expand all fields. ⚠ marks arms with a subcutaneous / mixed-route component.
Detailed registry — click to show the 16 arms

Add your own arm

enters the model immediately
The commercial landscape around this product — public sources only. Trial counts from ClinicalTrials.gov (pulled 2 September 2026); regulatory facts from approved labels and FDA/EMA actions; corporate facts from company filings and announcements. Private financing data is deliberately excluded from this page — subscription databases licence their content to subscribers and it cannot be redistributed on a public site, so every figure here is one a reader can verify for themselves. Counts include trials where the condition is one of several listed, so treat them as upper bounds.
The field, broad to narrow — where this product sits
Interventional trial counts from ClinicalTrials.gov, pulled 2 September 2026. Each tier is a subset of the one above it. Counts include trials where the condition is one of several listed, so they overstate dedicated activity.
TierTrials, all timeStarted 2024+ShareDirection
1 · Oncology96,96517,66618.2%Baseline — the denominator for everything below.
2 · Cancer immunotherapy7,3922,42032.7%Fastest-growing tier. Nearly a third of all IO trials ever run started in the last 32 months.
3 · Cancer immunostimulants3,5983128.7%TLR / STING / CpG / interleukin / interferon / GM-CSF / BCG. Growing at half the rate of oncology overall.
4 · Intratumoral, any payload71615421.5%Growing faster than oncology overall — the delivery route is gaining independently of the payload.
5 · Intratumoral immunostimulants1051312.4%This product's box. 105 trials in the entire history of the registry.
5a · … of those, in melanoma4112.4%One new trial in 32 months — an 11-patient investigator pilot (NCT06472661, UVA). Melanoma overall ran at 11.7%.
In plain words: immunotherapy as a whole is booming, and injecting treatment straight into the tumour is gaining ground. But the specific combination — an immune stimulant injected into the tumour — is a small, slow corner, and in melanoma it has almost stopped. That is the honest reading, and both halves matter: the route is validated, the payload class is not crowded, and the reason it is not crowded is that most attempts failed.
Every prior intratumoral TLR9 programme in melanoma
All four of the reference molecules in this estimator came from programmes that have since stopped. This is the single most important commercial fact on the page — and the question any investor or partner will ask first.

Dynavax → Sanofi

nelitolimod / SD-101 · CpG-C, free ODN
asset sold 2020 · company acquired 2026
Trial
SYNERGY-001 with pembrolizumab, n=241 — the largest intratumoral TLR9 melanoma trial ever run. Terminated.
Asset
Dynavax curtailed oncology in May 2019 (~36% of US staff cut) and sold SD-101 outright to TriSalus Life Sciences on 3 Aug 2020 — $5M upfront, up to $250M in milestones, low-double-digit royalties.
Company
Acquired by Sanofi, completed 10 Feb 2026 at $15.50/share, ~$2.2B. Delisted from Nasdaq. Last reported full year FY2024 revenue $277.2M, driven by the HEPLISAV-B hepatitis B vaccine.
Asset today
TriSalus redirected nelitolimod to liver and pancreas via pressure-enabled delivery. PERIO-01 (uveal melanoma) terminated; PERIO-03 (pancreatic) active, completes 2027. TriSalus is now pivoting to its device business and openly seeking a partner for the asset.

Idera → Aceragen → liquidated

tilsotolimod / IMO-2125 · CpG-C, free ODN
failed on efficacy · company gone
Trial
ILLUMINATE-301, Phase 3, n=481, + ipilimumab in anti-PD-1-refractory melanoma
Result
ORR 8.8% vs 8.6% for ipilimumab alone (18 Mar 2021) — a clean null. Grade ≥3 events higher on the combination (61.1% vs 55.1%). ORR and median OS were co-primary; Idera chose not to continue to the OS readout, so no OS result was ever produced.
Company
Idera acquired Aceragen in Sept 2022 as a rescue reverse-merger and renamed itself Aceragen in Jan 2023. That entity then liquidated by assignment for the benefit of creditors — board decision 10 July 2023, final SEC filing 28 Aug 2023.
Read
The clearest cautionary tale in the set: a TLR9 agonist in exactly this setting, taken to Phase 3, failed on efficacy, and the failure ended the company.

Checkmate → Regeneron

vidutolimod / CMP-001 · CpG-A in Qβ VLP
stopped on supply, not efficacy
Deal
IPO Aug 2020 at $15.00 ($75M gross). Regeneron tendered at $10.50/share, ~$250M total; announced 19 Apr 2022, closed 31 May 2022 — at Phase 1b.
Outcome
All five Regeneron-sponsored trials terminated. The registrational Phase 2/3 in first-line melanoma stopped after enrolling 20 patients ("business decision"); a multi-tumour Phase 2 was stopped for "study drug supply".
Crucial nuance
It was never disconfirmed. The Phase 1b signal in PD-1-refractory melanoma was abandoned before an adequately powered trial tested it. VLP-encapsulated CpG-A is a hard manufacturing problem.
Still alive
NCT04708418 — NCI-sponsored randomised Phase 2, neoadjuvant pembrolizumab ± vidutolimod, 187 sites, completing Dec 2026. The single most consequential remaining intratumoral TLR9 readout.

Exicure

cavrotolimod / AST-008 · spherical nucleic acid
wound down · shell company
Result
Phase 1b: 51 evaluable, 6 objective responses (12%), 27% disease control in a 95%-anti-PD-(L)1-progressed population, with clean safety. Fast Track Jan 2021.
Outcome
Wound down 10 Dec 2021 — "ethical wind down" of the trial, ~50% of staff cut, CEO replaced, following an internal research-misconduct investigation. Further ~66% cut Sept 2022.
Company
States it owns no intellectual property. Biotech IP sold to Flashpoint Therapeutics Sept 2024 for $1.5M; Northwestern SNA licences terminated 2023. Now holds a CXCR4 antagonist; market cap ~$8.5M and non-compliant with Nasdaq's equity rule.
The molecule
Licensed to Bluejay Therapeutics for hepatitis (Jan 2024); Bluejay was acquired by Mirum Jan 2026. No registered oncology trial anywhere.
They did not all fail the same way — and the estimator treats them as if they did. Only tilsotolimod produced a clean efficacy verdict: 8.8% versus 8.6% in 481 randomised patients is a real null. Vidutolimod never got that test — its registrational trial stopped at 20 patients on a business and drug-supply decision, leaving the Phase 1b signal neither confirmed nor refuted. Cavrotolimod ended amid a research-misconduct investigation, not a readout. Nelitolimod's melanoma trial stopped and the asset was sold twice over. Four programmes left the setting; only one of them left because the drug demonstrably did not work.
What is still running
A ClinicalTrials.gov sweep for live intratumoral TLR9 oncology returns a very short list, and no entry on it has a commercial sponsor.
TrialSponsorStatusWhy it matters
NCT04708418
neoadjuvant pembrolizumab ± vidutolimod
NCIActive, not recruitingThe single most consequential remaining readout in this class. Randomised Phase 2, 187 sites, operable melanoma, primary completion December 2026. It is the test Regeneron abandoned.
NCT05607953 · PERIO-03TriSalusActive, not recruitingNelitolimod in pancreatic cancer via pressure-enabled delivery — the asset's second life, outside melanoma.
NCT06710223UC San DiegoActive, not recruitingCryoablation + nelitolimod + checkpoint blockade in liver cancer.
NCT04952272Guangzhou (China)RecruitingIntratumoral CpG after ablation, Phase 1, n=50.
NCT04807192CHUV LausanneActive, not recruitingVidutolimod + pre-operative radiotherapy in triple-negative breast cancer.
Dated caveat — this page has a shelf life. The NCI neoadjuvant readout (NCT04708418) is the last adequately powered test of intratumoral TLR9 anywhere in the world. A positive result reopens the class; a negative one closes it. Anything estimated with this tool after that date should be re-read against it.
Where the field went instead. The most advanced TLR agonist in oncology today is Eikon's EIK1001, which entered a registrational Phase 2/3 in July 2026 — and it is given systemically, not into the tumour. Two independent naming traps to avoid when searching: "SD-101" is also a topical birch-bark cream for epidermolysis bullosa, and "BDB-001" is also an anti-C5a antibody. Neither is related.
Approved and marketed — what the setting already has
Sixteen marketed products touch this space. Only two are intratumoral immunostimulants, and both are oncolytic viruses in melanoma. Regulatory facts from labels and FDA/EMA actions.
ProductCompanyRouteApprovedWhy it matters here
TUDRIQEV
vusolimogene oderparepvec, RP1
ReplimuneIntratumoralUS 6 Aug 2026, acceleratedThe reference product — the same setting. Advanced cutaneous melanoma after anti-PD-1, with nivolumab. Label ORR 24.2% (95% CI 15.8–34.3, n=91), median DoR 14.1 months. List price $450,000 per course. The path took two complete response letters (Jul 2025, Apr 2026) and a 10–3 advisory-committee vote before approval on the third submission.
IMLYGIC
talimogene laherparepvec
AmgenIntralesionalUS Oct 2015First oncolytic approved in the US and EU. Amgen bought BioVex at Phase 3 for $425M upfront. Revenue never disclosed separately.
Amtagvi (lifileucel)IovanceIV infusionUS Feb 2024, acceleratedSame patients, different modality — bespoke per-patient manufacture. The operational contrast an off-the-shelf injectable draws against.
Anktiva (N-803)ImmunityBioIntravesical, with BCGUS Apr 2024Most recent immunostimulant approval — and it is locally delivered. The best modern precedent for the class argument.
Aldara / Zyclara (imiquimod)VariousTopicalUS 1997 / 2004The only approved TLR agonist in oncology, and it is topical. Local delivery got a TLR agonist to market where systemic did not.
TICE BCGMerckIntravesicalUS 1990Oldest approved cancer immunostimulant, still standard of care. 35 years of precedent that local innate activation works.
Proleukin (IL-2)Clinigen / IovanceSystemic, high doseUS 1992Durable responses, severe systemic toxicity — the original argument for delivering immunostimulants locally.
Keytruda · Opdivo · Opdualag · YervoyMerck · BMSIV infusion2011–2022Define the front line and therefore create the refractory population this product targets. Nivolumab is TUDRIQEV's approved partner.
Oncorine · DelytactShanghai Sunway · Daiichi SankyoIntratumoralChina 2005 · Japan 2021The other two approved oncolytics worldwide. Neither US nor EU; show that non-melanoma regulatory paths exist.
Use 24.2%, not 33.6%, when benchmarking. An updated analysis presented at ASCO 2026 reported ORR 33.6% with median overall survival 32.9 months — but that is a different, less restricted population than the one in the approved label. The label figure (24.2%, n=91, patients with at least one non-injected lesion) is the like-for-like comparator for anything estimated in the post-anti-PD-1 setting. Quoting the higher number against this tool's output would compare two different denominators.
The box itself — 105 trials, every phase
PhaseTrialsWhat is actually there
Phase 1 / Early Phase 170 of 105Two-thirds of everything ever attempted in this box is Phase 1 — including all four failed TLR9 programmes at their earliest stages. The box is overwhelmingly early and stays early.
Phase 247 of 105Where the live melanoma work sits today: vidutolimod neoadjuvant (active), Philogen L19-IL2 / L19-TNF in anti-PD-1-resistant melanoma, PRTX007 neoadjuvant, LTX-315 neoadjuvant.
Phase 3 / 48 of 105 · 7.6%Eight trials ever. Includes the OncoVEX pivotal that became IMLYGIC, Philogen's two Daromun Phase 3s, OH2 Phase 3, and Idera's failed ILLUMINATE-301. Of those eight, one produced an approved product and one killed its sponsor.
Approved2 worldwideIMLYGIC (2015) and TUDRIQEV (Aug 2026). Both are viral, both carry GM-CSF, both are in melanoma. The setting is proven; the non-viral route is not.
The ratio worth noticing: across all oncology there are two Phase 1 trials for every late-phase trial. In the intratumoral route it is more than ten to one. Things enter this space and do not progress — which is the same message the estimator's fragility meter gives from the efficacy side.
How many patients — the sizing funnel
Patient-based sizing, from SEC filings. No filer publishes a melanoma dollar market, so this is the defensible way to size the setting. Show the derivation, not just the endpoint.
StepFigureBasis and source
New US melanoma diagnoses~110,0002026 projected — Replimune FDA advisory-committee briefing, 30 Jul 2026. (SEER actual for 2022 was 99,780.)
Progress within 12 months of front-line therapy>50%The strongest statistic in the funnel — corroborated by two unrelated filers, Iovance FY2025 and the Replimune adcomm briefing.
Progress on or after PD-1 treatment, US, annual~13,000Replimune 10-K, FY ended 31 Mar 2026.
Of those, eligible for intratumoral treatment~80%Replimune 10-K FY2026 — injectable lesions accessible.
Addressable population~10,40013,000 × 80%. Replimune's Aug 2026 approval call says ~10,000. Single-sourced — attribute it to Replimune and show the arithmetic. No other filer publishes a comparable US number.
The one price point that is public: TUDRIQEV lists at $450,000 per course. Against ~10,400 addressable US patients that frames the setting, but treat any resulting figure as arithmetic rather than a forecast — neither Amgen nor Merck nor BMS discloses melanoma-specific revenue, and Amgen has never broken out Imlygic sales in ten years of filings.
Context worth carrying: melanoma is one of the most heavily studied cancers there is — 3,116 trials ever, 703 live today, 11.7% of its history started in the last 32 months. Yet the intratumoral-immunostimulant corner renewed at 2.4% over the same period. The disease is busy; this particular box is not.
Market size — why no dollar figure appears here
Published vendor estimates for the intratumoral market differ by up to roughly 4,000× for the same base year, and several are arithmetically impossible — one widely-circulated figure for a handful of countries exceeds the entire global oncology drug market, which means it prices an oncology-wide base and mislabels it. None disclose their methodology. Rather than pick one, this page cites a countable, peer-reviewed alternative:
Humeau J, Le Naour J, Galluzzi L, Kroemer G, Pol JG. Trial watch: intratumoral immunotherapy. Oncoimmunology 2021;10(1):1984677 · doi:10.1080/2162402X.2021.1984677
153 intratumoral immunotherapy trials launched between January 2018 and June 2021. Oncolytic viruses were the largest group at 64 (41.8%); pattern-recognition-receptor agonists came second at 36 (23.5%), and within those TLR9 agonists were the single largest sub-class, at 14 trials. The one cross-vendor convergence worth noting is the oncolytic-virus market at roughly $20M in 2023 — consistent with Imlygic-scale real revenue, and a reminder that regulatory approval in this space has not so far produced a large commercial product. Amgen has never disclosed Imlygic revenue separately in ten years.
What this means for the estimate
1 · The bar is 24.2%, and it is set by an approved drug. This tool blends four programmes that all stopped. A product entering today is judged against TUDRIQEV in the same line of therapy. An estimate landing near 24% is parity with an approved product, not differentiation — and the fragility meter will usually show such an estimate resting on one or two arms.

2 · The reference arms should not carry equal weight as priors. Only tilsotolimod produced a real efficacy verdict (8.8% vs 8.6%, n=481). Vidutolimod's pivotal stopped at 20 patients on a supply and business decision, so its Phase 1b signal was abandoned rather than disproved. The estimator weights arms by similarity, not by how conclusively each was tested — worth remembering when a vidutolimod arm anchors a result.

3 · The route is validated; this payload class is not. Both approved products in this box are oncolytic viruses. No intratumoral TLR9 agent has a commercial sponsor anywhere in the world, and the most advanced TLR agonist in oncology today is delivered systemically. The remaining test of the class is an NCI trial reading out in December 2026.
Pearson r, computed live from the active arms. Pairwise-complete (only arms reporting both factors count). Hover a cell for r, valid n and significance; click it for the scatterplot. Blue = positive, red = negative, depth = |r|. At small n almost nothing clears significance — hypothesis-generating.
i i zoom 100%
fill = r (−1…+1) corner = valid n (greener→more arms) ring + bold = p<0.05 n/a

Read-out — original 6-arm baseline

  • PD-1-naïve status is the strongest ORR correlate (r +0.90) — the only one both strong and mechanistically sensible.
  • Added benefit shrinks in bigger, later trials: ΔORR vs Patients N −0.96, ΔORR vs Phase −0.82 — "efficacy evaporates in Phase 3".
  • Patients N vs raw ORR −0.64 is an artifact — big trials were the refractory Phase 3 ones. N is a reliability weight, not a driver.
  • Raw ORR rises with doses (+0.80) / weeks (+0.71), falls with volume (−0.86) / conc (−0.79) — mostly population proxies.
  • These figures are the 6-arm baseline; the live map above changes as you add or toggle arms.
ORR correlations — ranked, highest to lowest

What drives ORR%? — factors ranked by correlation with ORR%

Each factor’s Pearson r with ORR across the active arms, sorted. Blue = positive (rises with ORR), red = negative. A solid bar marked * is statistically significant at p<0.05 for its n; faded bars are not significant — likely underpowered, not necessarily zero. Recomputes live as you toggle arms.

Method: r = cov(x,y) ⁄ (σₓσᵧ) over pairwise-complete arms; significance via two-tailed t-test, t = r√((n−2)∕(1−r²)). Constant or n<3 pairs shown as n/a.