Paste measured (dose, response) data → recover EC50, Hill slope, top & bottom plateaus, and R². The standard 4PL model used across pharmacology.
data · "dose, response" per line — or "dose, A, B, C…" for several curves
dose unit
weightingfor proportional error
blank
constrain
EC50
–
Hill slope
–
top (Emax)
–
bottom
–
R²
–
n points
–
fit
download publication figure
Load an example or paste your own data, then press Fit curve. Model:
y = bottom + (top−bottom) / (1 + (EC50/dose)^hill). Fitting is a global grid search refined by
Levenberg–Marquardt (no library); 95% confidence intervals come from the fitted-parameter covariance,
with the shaded band an 800-sample residual bootstrap cross-check. Top and bottom can be constrained to known values.
Optional 1/Y or 1/Y² relative weighting (predicted-Y, iteratively reweighted) for proportional error;
possible outliers are flagged (robust MAD, >3σ) but never auto-removed.
This is a measurement tool — it reports what your data say, with no claim beyond the fit.
sample, QC & certificate of analysis
method template
QC — fit a curve
batch results · one curve per response column
relative to→ relative potency, Fieller CI & parallelism
export
relative potency & parallelism · vs reference
equivalence margins (90% CI of Δ must fit within ±)
Relative potency = 10(log-EC50 shift) from a joint common-shape fit (shared top/bottom/Hill); CI by Fieller's theorem (honestly unbounded when the slope isn't significant). Parallelism uses equivalence testing (USP <1032>/<1034>): each shape-parameter difference's 90% CI must lie within your margin — the modern method, not the over-sensitive F-test. A potency ratio is only valid once parallelism passes.
compare to literature · ChEMBL
targetmeasure
Pull the published activity distribution for a target and see where your fitted potency lands among known ligands.
Distribution across all ChEMBL-listed ligands for the target — not necessarily your compound. Censored (>, <) and non-molar values are excluded. Live from the public EBI ChEMBL API. An orientation aid, not a scientific claim.
interpret with AI BETA
model
Get a plain-language read on your fit — what the numbers mean, QC cautions (dose range, CI width, Hill slope, outliers), and where it sits vs the literature overlay. Paste your own Anthropic API key, then press Interpret.
Bring your own key. Your Anthropic API key is stored only in this browser (localStorage) and sent directly to Anthropic — never to us. Pressing Interpret sends this fit's summary (the numbers above) to Anthropic's API; everything else in DoseFit runs entirely in your browser. DoseFit's first live AI feature (beta) — trained assay-QC / anomaly-detection models are on the roadmap. Not a regulatory or diagnostic claim.