Dose–response and IC50

Paste concentrations and responses from Excel or a plate reader. Lattent fits each compound, reports the IC50 or EC50 with its confidence interval, tests whether potencies differ and writes the methods for you.

Concentration–response

How the fit works

Each dataset is fitted by weighted nonlinear least squares (Levenberg–Marquardt, several starting points) to the four-parameter logistic

Y = Bottom + (Top − Bottom) / (1 + 10(log EC50 − X) · nH)

with X = log10[concentration]. A negative Hill slope nH describes inhibition, so the midpoint is reported as the IC50. Fitting log EC50 rather than EC50 gives the asymmetric confidence intervals that potency values actually have.

Confidence intervals come from the asymptotic covariance matrix, t-distributed with n − k degrees of freedom. EC80 and other levels use the delta method.

Comparing compounds uses the extra-sum-of-squares F test: the separate fits are compared with a global fit in which all datasets share one EC50.

Validated against SciPy's curve_fit: parameters agree to 6 significant figures and standard errors to 0.1%. See the validation report.