Drybench Assay.
How to report an IC50 or EC50 in a paper
What to state: model, weighting, constraints, confidence-interval method, replicates, exclusions, software and version, with a template paragraph.
A reader of your paper should be able to refit your curves and get your numbers. That takes eight facts, most of which a fitting program knows but a methods section often leaves out. The app's method block states all of them for a fit it ran; this page says what each is and why it matters.
- The model
- Name the equation and its parameterisation: a four-parameter logistic in log10 concentration, y = Bottom + (Top − Bottom)/(1 + 10^((logC50 − x)·Hill)), fitted by least squares. Say if it is a three-parameter model (a parameter fixed) rather than a four-parameter one; a reader cannot tell from the plot.
- What was fitted
- Raw readings or normalised responses, and if normalised, to what: each plate's own vehicle and kill controls, percent of control alone, or percent inhibition. State the formula and how many control wells it used, because a different normalisation moves the plateaus and so the absolute C50.
- Weighting
- Unweighted least squares assumes a constant error across the curve; 1/Y² weighting assumes the error grows with the response. Say which you used, since the estimators differ; relative intervals are unavailable until validated.
- Constraints
- Any parameter held fixed (Top at 100, Bottom at 0, Hill at 1) and why. A constraint narrows the interval and can bias the estimate when it is wrong; a reader should be able to judge it.
- The confidence interval and its method
- Report the C50 with a 95 percent interval on its logarithm, back-transformed, and name the method: profile extra-sum-of-squares (asymmetrical) or Wald (symmetrical on log C50). A point value without validated uncertainty supports only a qualified exploratory comparison. State why an interval is unavailable or a bound unresolved; do not truncate a search limit into a finite confidence bound.
- Relative or absolute
- The relative C50 is the curve's own midpoint, the fitted parameter; the absolute C50 is the concentration at 50 percent of the 0 and 100 percent controls. For a compound with partial inhibition they differ. Say which you report and, for the absolute value, that the curve crossed 50 percent within the tested range.
- Replicates and exclusions
- How many distinct concentrations, how many replicate wells at each, whether every replicate was fitted or their means, and which wells were excluded, with the rule that excluded them. An excluded well that is not reported is a result that cannot be reproduced.
- Software and version
- The program and its version, and the version of the fitting module where one is stated, so a reader can refit under the same algorithm. The app writes its fit-module version into the method block, the CSV and the session file for this reason.
What not to write
- “The C50 was determined”: a C50 is estimated from a fit; say estimated, and give the interval.
- A C50 beyond the tested range, or for a curve that never reached 50 percent: report it as not determinable in that range, which is a result, rather than an extrapolated number.
- R² as evidence that a fit is good: it describes how much variance the curve explains, not whether the model is right or the C50 is well determined; the interval does that.
- A Hill slope as a mechanism: a slope steeper or shallower than one is an observation to follow up, not a diagnosis.
A template paragraph
The app writes this paragraph for the fit it ran, with every slot filled from the settings; the worked MTT example's reads:
Dose-response curves (n = 3) were fitted in Drybench Assay 0.2.0 (fit module 2.0.0) to a four-parameter logistic model in log10 concentration, y = Bottom + (Top − Bottom)/(1 + 10^((logC50 − x)·Hill)), by bounded Levenberg-Marquardt least squares with deterministic starting values. Responses were normalised to each plate's controls (percent = 100 × (y − mean(negative control)) / (mean(positive control) − mean(negative control)); plate 1: 8 positive and 4 negative wells). All four parameters were free. IC50 values are relative (the fitted midpoint). Where estimable, 95 percent profile extra-sum-of-squares intervals are reported on log10 IC50. A bound not resolved within the search is stated as such; zero residual variance gives no estimated-variance interval. No wells were excluded. 1 value was withheld where the tested concentrations did not bracket the C50 or a plateau, or response evidence was insufficient under the permutation test. Fits were run in the browser on 6 October 2026; the engine's agreement with independent implementations is stated on the app's verification page.
If you name the program
Naming the program is a claim about it, so the app publishes how it is checked: the engine against R nls and drc 4.0-0 LL.4 on published fixtures within stated tolerances, with the fixture files and their hashes on the verification page. The wording stays draft until an independent reviewer signs the fixture file and the method page. Agreement with GraphPad Prism has not been checked and is not claimed.
GraphPad and Prism are trademarks of GraphPad Software LLC (Dotmatics). This app is not affiliated with or endorsed by them.
Method
- Four-parameter logistic fit. Hill AV. J Physiol 1910;40:iv-vii (the logistic form); Ritz C, Baty F, Streibig JC, Gerhard D. Dose-response analysis using R. PLoS ONE 2015;10:e0146021 (the LL.4 parameterisation the fixtures map to).Version 2 unweighted estimates and intervals are checked against the compatible R fixtures. Historical relative-loss and reporting-policy fixtures are archival, not validation of IRLS or the permutation gate.
- Wald interval on log10 C50. logIC50 ± t(0.975, n − p) × SE, SE from (JᵀJ)⁻¹s² at the solution (brief §4.1; CSO ruling, 6 October 2026, item 6).Unweighted Wald arithmetic checked against compatible R fixtures. Requires residual degrees of freedom and nonzero residual variance; conditional on the supplied normalised observations.
- Profile extra-sum-of-squares interval on log10 C50. The objective rises to its minimum × (1 + F(0.95; 1, n − p)/(n − p)) with the other parameters refitted (brief §4.1); the asymmetrical interval GraphPad's Prism 8 guide names as its initial default (read 5 October 2026); Only unweighted independent Gaussian errors with constant variance; nonlinear F approximation. A bound not reached within 10 log10 units or after an unresolved refit is labelled not bounded within the search, not mathematically infinite. Zero residual variance and relative-weighted fits have no interval.Unweighted profile extra-sum-of-squares computation checked against compatible R fixtures. Uses an approximate nonlinear F threshold; bounds beyond or unresolved within the search are not claimed mathematically infinite.
- Absolute IC50: where the fitted curve crosses 50 percent of the controls. Sebaugh 2011: the relative IC50 is the curve's own midpoint (the parameter); the absolute IC50 is the concentration at 50 percent of the 0 and 100 percent controls, shown only with two concentrations predicted on each side of 50.The algebraic 50-percent crossing and dose-side counts are checked against R fixture calculations; biological endpoint naming depends on the assay.
Limits
- For research and education only, and not medical advice: a C50 estimated here describes this assay under these conditions and is not a binding constant.
- The app refuses to fit fewer than four distinct concentrations, treats a concentration of zero as a control, and never extrapolates: a C50 the tested concentrations do not bracket is withheld with the reason.
- Confidence intervals are profile extra-sum-of-squares by default and Wald as the named alternative, both on log10 C50 and both assuming independent errors of constant variance; relative fits assume SD proportional to response and variance proportional to its square, and have no intervals; a bound not reached within ten log units is not bounded within the search.
- The relative C50 is the curve's own midpoint; the absolute C50 is where the curve crosses 50 percent of the controls, needs responses on a percent-of-control scale and two concentrations predicted on each side of 50, and is not determinable otherwise.