Binding Curve Viewer v2.0 introduces exact IC50 calculations and three R Shiny applications for Monte Carlo simulation of binding experiments.
Exact Calculation of IC50 and Apparent IC50
Previous versions of Binding Curve Viewer approximated the IC50 and apparent IC50. Version 2.0 replaces this approximation with exact analytical calculations based on the equilibrium mass-balance equations of the competitive binding system (see Appendix 3).
The calculation is implemented in two functions:
inhibition_calc(p0, l0, kd, ki) — a Python function used in the
Binding Curve Viewer web application.
inhibitionCalc(p0, l0, kd, ki) — the equivalent JavaScript
function for client-side computation.
Both functions derive \([\mathrm{PL}]_{\mathrm{eq\text{-}0}}\) from the quadratic binding equation, determine the concentrations of all species at 50% inhibition from the equilibrium mass-balance equations, and return the exact IC50 (free inhibitor concentration) and the exact apparent IC50 (total inhibitor concentration) without approximation.
Three New R Shiny Simulation Applications
Version 2.0 adds three standalone R Shiny applications for Monte Carlo simulation and parameter estimation. Each app generates synthetic binding data under user-specified conditions, adds Gaussian noise to simulate experimental uncertainty, and fits the noisy data using non-linear least-squares methods. The distributions of fitted parameters are visualized as histograms, and Kolmogorov–Smirnov tests are applied to evaluate normality. For details, see Simulations in R.
Determination of Dissociation Constant (kd-sim/app.R):
Simulates equilibrium binding experiments and estimates \(K_\mathrm{d}\)
and \([\mathrm{P}]_\mathrm{total}\) using both the exact quadratic
binding equation (Formula 1) and the hyperbolic approximation (Formula 2).
Supports optional Gaussian noise on \([\mathrm{P}]_\mathrm{total}\)
and \([\mathrm{L}]_\mathrm{total}\) to model concentration
measurement errors.
Kinetics of Association and Dissociation (kin-sim/app.R):
Simulates binding kinetics experiments across multiple ligand
concentrations and estimates \(k_\mathrm{off}\) from dissociation
time courses and \(k_\mathrm{on}\) from association time courses
using both the exact second-order kinetic model and the
pseudo-first-order approximation. The kinetic
\(K_\mathrm{d} = k_\mathrm{off}/k_\mathrm{on}\) is reported for
both association models.
Competitive Binding — Inhibition Curve (comp-sim/app.R):
Simulates competitive binding experiments and estimates the apparent
IC50 and \(K_\mathrm{i}\) by fitting the simulated inhibition
curve with a 4-parameter logistic model and with the exact competitive
binding equation (Wang equation; Anal. Biochem. 2004, 332, 261–273),
respectively. Supports optional Gaussian noise on
\([\mathrm{P}]_\mathrm{total}\), \([\mathrm{L}]_\mathrm{total}\),
and \([\mathrm{I}]_\mathrm{total}\) to model concentration
measurement errors.