Relate › Nonlinear / curve fitting

Sigmoidal dose-response (4PL)

The four-parameter logistic (4PL) curve fits dose-response data as y = Bottom + (Top − Bottom) / (1 + 10^((LogEC50 − x) · HillSlope)).

What is Sigmoidal dose-response (4PL)?

The 4PL is the standard dose-response model in immunoassays and drug screens. Four parameters: Bottom (lower asymptote), Top (upper asymptote), LogEC50 (the log-dose at which y is half-way between Bottom and Top), HillSlope (the slope at the midpoint — positive for increasing curves).

For data on log-dose axis it sigmoid-fits cleanly. On linear-dose axis a wide dose range is needed to identify Top and Bottom; with a narrow range the model is unidentifiable and you should either narrow to 2-parameter fitting (fix Top / Bottom) or use the Hill / Michaelis-Menten alternative.

Absolute IC50/EC50 (the dose at which y reaches a specific value, e.g. 50% of control) is computed in the result panel by inverse interpolation — different from LogEC50, which is the relative midpoint.

If a fit looks visibly wrong, enable Multi-start: it refits from many seeded starting points (deterministically) and keeps the lowest residual-sum-of-squares result, which reliably escapes the local minima that trap a single starting guess — most useful for the flexible models (logistic growth, 5PL asymmetry) whose parameters sit on flat likelihood ridges.

When should I use Sigmoidal dose-response (4PL)?

  • Immunoassay standard curves.
  • Drug-response screens reporting EC50.
  • Any sigmoidal dose-response.

What data does it need?

Numeric X (dose / log-dose) + Y (response).

What does it report?

Estimate, SE, t, p, 95% CI per parameter + fitted curve with 95% CI + 95% PI bands (delta method) + ROUT-on-residuals outlier flags at Q = 1% + absolute IC50/EC50 calculator + LD50 etc.

What does it assume?

  • Independent observations.
  • Y is approximately normal given X.
  • X spans enough range to identify Top and Bottom.

Formula

y = Bottom + (Top − Bottom) / (1 + 10^((LogEC50 − x) · HillSlope))

How do I interpret the result?

A HillSlope very different from 1 ⇒ the curve is steeper or shallower than the classical Hill equation — try the Hill model and compare AICc.

See also