| Vose Software

Industry: Biotech
Product: ModelRisk
Application: Quantifying uncertainty in genetic sequencing outcomes


The validation deck says 79% sensitivity at a 5% allele fraction. The real number is 56% — and one run in seven is essentially blind

A targeted NGS panel is specified to call a somatic variant present at a 5% allele fraction with a planned mean coverage of 120x. Plug the planned depth into the binomial that governs variant-read counts and you get a reassuring 79% detection probability — comfortably above the threshold a clinical assay needs to defend. Now let coverage vary the way real capture chemistry varies, and let library prep occasionally underperform across a whole run, and the same variant is detected on average only 56% of the time. The spread is enormous: the per-run sensitivity runs from a P10 of 13% to a P90 of 94%, and 72% of runs fall short of an 80% sensitivity bar.

The deterministic figure is not wrong arithmetic — it is the answer to the wrong question. It asks "what is detection probability at exactly 120x?" when the operationally relevant question is "what is detection probability across the depths this assay actually produces?" Those depths are over-dispersed and occasionally collapse, and the shortfall lands precisely on the low-allele-fraction variants the panel exists to catch.

Why a point estimate fails

Coverage depth is not the flat 120x the plan assumes. Capture efficiency varies run to run — a shared factor that scales the mean depth of every target site in a run at once — and on top of that the per-site depth is over-dispersed, better described by a negative binomial than a Poisson. The result is a realised median depth of around 94x against the planned 120x, with a P10–P90 of roughly 49x–161x. Detection at a 5% allele fraction needs enough variant-supporting reads to clear the minimum-alt threshold; that requirement is sharply depth-sensitive, so the low-depth tail of the coverage distribution does disproportionate damage. Averaging the depth before computing detection — which is what a point estimate does — discards exactly the tail that breaks the assay.

Sensitivity is a distribution, and the plan sits in its upper tail

Distribution of per-run variant-call sensitivity at a 5% allele fraction

Across 60,000 simulated runs the per-run sensitivity for the 5% variant averages 56%, with a median of 48%, a P10 of 13% and a P90 of 94%. The deterministic plan's 79% sits well up in the right tail — a figure achievable on a good run but unrepresentative of the assay's behaviour overall. The pile-up of mass near both extremes is the signature of the shared capture factor: clean runs detect almost everything, poor runs detect almost nothing, and the average between them is not a number any single run is likely to deliver.

Depth is the dial — and 120x is not enough

Probability of detecting the variant versus mean coverage depth, at three allele fractions

Sweeping mean coverage depth shows how much headroom the panel actually needs. At the planned 200x reference point, detection probability is 97% for a 10% variant, 83% for a 5% variant, and only 60% for a 3% variant. To reach 95% detection requires 175x for a 10% allele fraction, 325x for 5%, and 500x for 3%. At 100x the 5% variant is detected just 45% of the time. The curves convert an abstract sensitivity requirement into a concrete depth specification: if the assay must reliably call 5% variants, the design target is roughly 325x, not 120x.

What drives the chance of detecting the 5% variant

Tornado of drivers of detection probability for the 5% variant

Against a baseline detection probability of 56%, the largest lever is coverage depth — 100x versus 400x moves detection from 45% to 98%. Allele fraction is next (3% vs 10% → 29% vs 88%), and the minimum alt-read calling threshold matters more than analysts often expect (3 vs 8 required reads → 82% vs 25%). Per-base error rate has a smaller, and in this regime mildly favourable, effect on raw detection because error reads add to the alt count — which is precisely why a credible caller must beat the error background rather than just count reads. The ranking tells the lab where to spend: depth and calling threshold first, chemistry error rate second.

Realised coverage is over-dispersed, not a flat 120x

Distribution of realised coverage depth at the target site

The coverage the panel actually delivers at the target site spreads widely around the plan: a realised median of 94x against the planned 120x, with a P10–P90 of 49x–161x. About 10% of runs fall below 50x, where a 5% variant rarely musters the variant-supporting reads needed to call. This is the mechanism behind the headline sensitivity gap — the assay does not fail at its average depth, it fails in the under-covered tail that the average conceals.

What the model changed

The lab replaced a single validation-deck sensitivity number with the full operating-characteristic distribution, and three decisions followed. First, the depth specification was raised toward the ~325x the sweep shows is required for reliable 5% detection, rather than the 120x the point estimate made look adequate. Second, runs falling below the callable-depth floor are now flagged for top-up sequencing instead of being reported as-is. Third, the minimum alt-read threshold — revealed by the tornado as a first-order lever — was set deliberately against the error background rather than by convention. The probabilistic model turned a comforting average into an actionable specification.

ModelRisk functionality used

  • Monte Carlo simulation to propagate coverage and error uncertainty through to per-run variant-call sensitivity.
  • Negative binomial distribution for over-dispersed per-site coverage depth, with a shared per-run capture-efficiency factor.
  • Binomial distributions for variant-supporting and error-background read counts.
  • Probabilistic targets — P(detect a 5% allele-fraction variant) and P(run sensitivity < 80%) — reported as distributions.
  • Parameter sweep to translate a sensitivity requirement into a coverage-depth specification across allele fractions.
  • Sensitivity analysis (tornado) to rank depth, allele fraction, calling threshold, and error rate as detection drivers.