Equilibrium Binding Simulator

Choose a scenario or build your own to simulate a binding experiment, then fit it with the specific binding model and/or the quadratic 1:1 model.

The two models

Both describe one ligand binding one site. They differ in whether the protein is allowed to consume the ligand it binds. Each gives the fraction bound as f = Bmax·θ, where θ is the occupancy the model predicts and Bmax is the plateau the signal reaches at saturation.

specific bindingf = Bmax LTn ⁄ ( K + LTn )

quadratic 1:1f = Bmax [ (PT+LT+Kd) − √((PT+LT+Kd)² − 4PTLT) ] ⁄ 2PT

The first assumes free ligand equals what you pipetted in. The second solves mass balance for both partners, so it needs [P]T and is strictly 1:1 — there is no Hill exponent to fit.

EC50 vs Kd

The EC50 is the half-saturating concentration, the concentration at which fraction bound is ½, and represents the midpoint of the curve. It equals the Kd only when the protein is dilute.

EC50 = Kd + n·[P]T/2 — at any affinity.

The specific binding model has no term for depletion, so as [P]T increases relative to [L]T, the fit Kd drifts toward the EC50 instead of the true Kd. The quadratic binding model accounts for ligand depletion and produces a more accurate Kd measurement, but it is also compromised at high protein concentration.

The Hill coefficient, n

The n term, or Hill coefficient, is a measure of cooperativity. At n = 1 the sites are independent — there is either one binding site, or no cooperativity between sites. When n > 1 there is positive cooperativity: each binding event makes the next easier. When n < 1 there is negative cooperativity. n is a measure of the steepness of the curve, not a count of sites or a stoichiometry.

With n fixed at 1 the fitted K is a Kd; once n is fitted, K has units of concentrationn and is no longer a Kd — the half-saturating concentration is then K1/n. 10% to 90% occupancy spans 811/n-fold in Lf.

Key terms

  • [P]T — total protein concentration, the same at every point.
  • [L]min, [L]max — first and last total ligand concentrations; points are log-spaced between them.
  • Noise SD — standard deviation of the Gaussian error added to each replicate, in fraction bound.
  • Kd — the true dissociation constant the data were simulated from.
  • EC50 — the true midpoint, Kd + n·[P]T/2. From the settings, not the data, so it has no error.
  • f at [L]max — the true fraction bound at the top of the titration: how far up the curve the experiment is designed to reach.
  • Kd fit — the dissociation constant the model returns.
  • K fit — the Hill model's raw constant, in concentrationn; shown only while n is fitted, when its Kd is K1/n.
  • Hill n — the cooperativity the fit recovered.
  • Bmax — the plateau the fitted curve rises to. Hold at 1 for a normalised readout; fit it when the curve may not get there.
  • ± — asymptotic standard error: how tightly this dataset pins the value. A wrong model can fit precisely.
  • RMSE — root-mean-square residual over every replicate point. A correct model lands near the noise SD.

About this simulation

How it works

Each dataset is simulated from exact mass balance, using the true ligand Kd and Hill coefficient. Gaussian error is added to every replicate and ligand each time you change the experiment, the way a repeat experiment would. Both models are then fitted to those points by least squares, over every replicate rather than over the means.

What it assumes

  • True equilibrium. Nothing here is kinetic.
  • One kind of site. Two independent sites need a different model.
  • The data saturate at 1. Every simulated curve reaches full occupancy. Fitting Bmax simulates real data fitting where the upper plateau is unknown.
  • Noise is Gaussian, constant and unbounded. One SD applies across the whole curve, with no proportional error and no outliers, so points can land below 0 or above 1.
  • [P]T is known and active. An inactive fraction biases the fit.
  • Units are labels. Everything shares one unit; switching it rescales nothing.