← Washout Check · No. 03

99 SMALL PROBLEMS · MODEL CONTRACT v0.1.2-alpha

The wash removes medium.
The equations keep the accounting.

Washout Check is an original, minimal mechanistic simulation for reversible ligand binding in a closed, well-mixed assay between discrete washes. It audits whether residual free drug, target-mediated rebinding, or a reversible retention pool can sustain occupancy without changing the intrinsic dissociation rate. It does not infer a compound’s residence time from experimental data.

State variables & units

F is extracellular free drug in nM. B is drug bound to the modeled target, S is retained drug, and W is cumulative removed drug. B, S, and W are expressed as nM-equivalents per the same fixed assay volume, not concentrations in individual subcellular compartments. R is accessible target capacity, also in nM. Time is in hours.

To convert site counts: R = (cells × accessible sites/cell) / (NA × volume in liters) × 10⁹. The model requires accessible binding sites, not fluorescence intensity, total protein, or assumed receptors per cell.

Binding, exchange & conservation

The binding flux JB and retention flux JS have units nM·h⁻¹. The reservoir uses an effective inventory partition ratio Q = S/F at equilibrium, not a membrane partition coefficient measured per membrane volume.

kon = koff / KD
JB = kon F (R − B) − koff B
JS = Q krel F − krel S

dF/dt = −JB − JS
dB/dt = JB
dS/dt = JS
dW/dt = 0 between washes

F + B + S + W = M0

The entry coefficient Qkrel and release rate krel have units h⁻¹. This linear reservoir is unsaturable within the model; it represents a reversible exchange hypothesis, not a particular biological compartment. Rebinding consumes the same free pool that washing removes. No ligand is created by binding, dissociation, or exchange.

Browser default: assumed prewash equilibrium

B(0⁻) = R F0 / (KD + F0)
S(0⁻) = Q F0
W(0⁻) = 0
M0 = F0 + B(0⁻) + S(0⁻)

The user specifies free drug immediately before washing. Prewash equilibrium of both binding and retention is assumed; pulse duration and the amount dosed are not modeled. A slow reservoir may require prolonged loading to reach this initial state. If a real loading protocol cannot establish equilibrium, these initial conditions are inappropriate.

The retention scenario begins with additional stored drug. All scenarios match prewash free concentration and occupancy, not total drug. The tool reports the inventory difference rather than disguising it as improved molecular residence.

Finite loading: two clocks, one incubation

Select finite loading in the browser, enter its duration, and run the audit. The code equivalent is runAudit(parameters, {loading: {mode: 'finite-clamped', duration: hours}}). Binding sites and the retention pool start empty, while an external source holds free concentration at F0. A separate equilibrium reference uses the same binding kinetics, free concentration, and wash protocol for each mechanism.

kobs = kon F0 + koff
Bpre = [R F0 / (KD + F0)] × [1 − exp(−kobs TL)]
Spre = Q F0 × [1 − exp(−krel TL)]
Fpre = F0
Net replenishment during loading = Bpre + Spre

These are exact solutions of the same binding and retention equations under a clamped free-drug boundary. This loading phase is not closed: drug entering either pool is replenished. The initial free bath plus net replenishment equals prewash inventory. The loading metadata records this source accounting; closed-system conservation begins before the first wash. Postwash AUC excludes loading.

The initializer is tested against independently integrated loading ODEs. The tests cover zero-duration loading, short-pulse linear limits, long-loading convergence to equilibrium trajectories, wash boundaries, conservation, and the distinction between a nearly equilibrated target and an incompletely filled reservoir. With the default synthetic parameters, one hour produces 99.9983% of equilibrium bound inventory but only 13.9292% of equilibrium retained inventory; predicted 24-hour postwash occupancy is 54.3301%, versus 89.3054% with assumed equilibrium.

This is not a fixed-dose comparison and does not model depletion during a closed-bolus loading phase. A long loading period must be judged against both binding and retention time scales, not binding alone. The implementation uses expm1 for stable evaluation of very short loading intervals.

Fraction of bound equilibrium = 1 − exp(−kobs TL)
Fraction of retained equilibrium = 1 − exp(−krel TL)
t95,B = ln(20) / kobs
t95,S = ln(20) / krel

For the default parameters, binding reaches 95% of its equilibrium inventory in 0.2723 h; the retention pool takes 19.97 h. These are loading clocks under a clamped bath, not postwash decay constants. A 95% threshold is a mathematical reference, not evidence of assay adequacy. When the equilibrium inventory is zero, the percentage and filling time are reported as not applicable rather than interpreting 0/0.

The scientific question is whether a claimed molecular property survives a change in the loading assumption. Nearly unchanged prewash occupancy can coexist with markedly different stored inventory and later occupancy. The loading comparison makes that dependence visible; it does not identify a retention mechanism from one washout curve. At zero loading duration, residual free drug can still bind after the first wash, so zero preloaded inventory is not necessarily zero postwash exposure.

Finite dose: competition for a conserved inventory

In finite-dose mode, dose M is specified as nM-equivalent per fixed assay volume. Loading starts with F = M, B = S = 0. The same coupled ODEs apply, but there is no source, no wash, and no loss during the loading interval. Thus F + B + S = M. The separate free0 parameter is inactive. Loading time is restricted to 0–168 h; this is a numerical scope limit, not a recommended incubation.

M = (1 + Q)Feq + R Feq / (KD + Feq)
(1 + Q)Feq² + [(1 + Q)KD + R − M]Feq − MKD = 0
Beq = R Feq / (KD + Feq); Seq = Q Feq

The positive root is evaluated without subtractive cancellation. This dose-equilibrium reference shares total drug with the finite-loading case, not prewash free concentration. The clamped counterfactual instead holds F at M for the same loading time by supplying additional drug; its source replenishment is reported. It is not a fixed-dose experiment.

The three nonretention scenarios use Q = 0 during loading; the retention scenario uses the selected Q. All four share the dose and molecular binding kinetics. Their prewash occupancy can differ because free drug is no longer clamped. An ideal sink begins only at the first wash; it does not erase drug during loading.

Loading is integrated with adaptive RK4 and the same physical-state checks and tolerance as washout. Each finite-dose loading trace reports F, B, S, occupancy, its own AUCs, and mass-closure diagnostics. The first wash inherits the computed state exactly; postwash AUCs reset to zero. The loading and postwash clocks are separate. A zero loading time yields a single initial point, not a finite trajectory.

Closed-dose binding need not approach equilibrium monotonically. A target may bind rapidly and then lose occupancy as the reservoir depletes free drug. Clamped-bath 95% filling times are therefore not displayed in this mode; a first threshold crossing would not establish sustained equilibration. The independent numerical reference, mass balance, zero-duration limit, long-time dose equilibrium, exact wash handoff, and tighter-tolerance tests are described in the repository test suite.

Discrete wash boundary

F(ti⁺) = f F(ti⁻)
W(ti⁺) = W(ti⁻) + (1 − f) F(ti⁻)
B(ti⁺) = B(ti⁻); S(ti⁺) = S(ti⁻)

Here f is the fraction of well-mixed medium remaining after exchange and restoration of the original volume with drug-free medium. Every wash uses the same fraction. Washes are instantaneous; no binding occurs during a modeled wash event. Cell loss, incomplete mixing, changing volume, wash-buffer effects, and finite handling time are outside scope. Every protocol starts with a wash at t = 0.

Four scenarios, four boundary conditions

All four share KD, koff, and R. Fixed-free loading also matches prewash free and bound concentrations; finite-dose loading instead matches initial total dose, allowing the prewash distribution to differ. Setting Q = 0 makes the last two identical. Setting f = 0 makes the two nonretention finite-bath scenarios identical. Small accessible target inventory and absent retention allow complete exchange to approach the ideal sink.

What the outputs mean

Occupancy θ = B/R
Intrinsic residence time τ = 1/koff
Intrinsic dissociation half-life t½ = ln(2)/koff
Free AUC = ∫ F(t) dt; occupancy AUC = ∫ θ(t) dt

The primary postwash integrals cover only the selected follow-up window and exclude loading. Finite-dose loading traces also carry separate loading-phase AUCs; time and accumulated area restart at the first wash. The displayed half-life belongs to the intrinsic binding reaction under the sink limit; it is not an apparent washout half-life. Occupancy and free AUC are mechanistic outputs, not efficacy predictions.

Late equilibrium and whole-protocol exposure

After a wash, the surviving inventory is Mafter = Mbefore − (1 − f)Fpre. Use that inventory in the dose-equilibrium equation to calculate the subsequent non-sink equilibrium. A nonzero plateau can persist indefinitely under the no-elimination assumption; it does not imply a long individual binding event or continued substantial net reservoir release.

AUCwhole = AUCloading + AUCpostwash
∂Feq/∂Q = −Feq / [(1 + Q) + RKD/(KD + Feq)²]

The derivative holds at fixed total inventory, KD, and target capacity. Increasing Q lowers equilibrium free drug at those fixed quantities. A Q sweep at fixed krel also changes entry kinetics because entry is QkrelF; it is not a pure experiment in compartment size. Changing krel at fixed Q changes both entry and release, not release alone.

In the 1 nM-equivalent, eight-hour finite-dose example, 24-hour occupancy is 11.95% with Q = 5 versus 8.08% without retention, already close to their postwash equilibria. Whole-protocol occupancy AUC instead favors no retention: 5.829 versus 4.356 h. Whole-protocol free AUC is 9.332 versus 5.294 nM·h. The two phase integrals add; their separately zero-based time axes do not. These are synthetic forward calculations, not pharmacodynamic predictions.

The instantaneous relation F = KDB/(R − B) makes the binding flux zero. It is a binding nullcline, not proof of a trajectory maximum or whole-system equilibrium. An interior binding peak requires the net binding flux to cross from positive to negative.

Numerical methods & reproducibility

The finite-bath systems use explicit fourth-order Runge–Kutta with step doubling. One full step is compared with two half steps, with error scaled by 15 × tolerance × (1 + the larger absolute state value). The default tolerance is 10⁻⁸ in the stated units. A conservative rate-based step cap supplements the error controller. Nonphysical candidate steps are rejected and retried, never silently clipped. Stiff requests exceeding 200,000 attempted steps fail explicitly rather than returning unverified curves.

Integration stops exactly at wash times and sample points. Exported trajectories include before- and after-wash values for later washes, and start immediately after the first wash. JSON also includes the prewash state. The sink solution is analytic. Conservation diagnostics compare F + B + S + W with each scenario’s own starting inventory.

JSON records parameters, assumptions, units, version, trajectories, prewash inventories, and numerical diagnostics. CSV repeats all input parameters on each row; wash times are semicolon-separated in their column. CSV time is hours, inventories nM-equivalent, occupancy a fraction, free AUC nM·h, and occupancy AUC hours. Scenario links encode only parameters, not observations. Imported compatible JSON is recalculated, not trusted as precomputed output.

Preserving the loading assumption

Run schema washout-check/3 includes loading mode, duration, dose when applicable, and selected and reference scenarios. Closed-dose audits also include the clamped counterfactual. CSV labels each row by comparison role and phase, repeats the condition, and includes prewash inventory and net replenishment. Blank replenishment for assumed free equilibrium means unspecified, not zero. Loading and postwash AUC columns refer to their own phase; their clocks must not be concatenated without a loading-duration offset.

JSON import recalculates validated settings rather than trusting saved trajectories. Parameter validation performs no ODE integration on the interface thread; computation runs in the worker. Original schema-1 files reopen with equilibrium; schema-2/v0.1.1-alpha files preserve equilibrium or finite-clamped loading. Unknown schemas, incompatible versions, and missing loading or dose metadata are rejected. Scenario links preserve the same explicit loading contract.

Scope & inference limits

This tool does not establish whether observed data uniquely identify koff, reservoir size, release rate, residual exposure, or transport. It is a forward simulator, not an estimator or formal identifiability analysis. A wash-schedule perturbation can discriminate model predictions; it does not prove that one mechanism is biologically correct.

The intended starting point is a generic reversible ligand in a controlled assay with an accessible target pool. There is no target turnover, intracellular target-access barrier, endocytosis, multivalency, covalent chemistry, metabolism, active export, downstream signaling, or cell growth. Between washes the non-sink systems have no elimination and can approach nonzero equilibrium indefinitely. Persistence is not a prediction of therapeutic coverage. The tool must not be treated as an ADC delivery model or as a quantitative prediction for intracellular kinase inhibitors without an explicit access model.

Only generic equations, original code, public references, and synthetic parameters are used. No proprietary compound, sequence, assay data, or employer-specific platform is included. Source screening and an MIT code license are not freedom-to-operate or legal clearance.

Published foundations

The cited publications motivate the distinction between intrinsic binding kinetics and assay-dependent persistence. They do not validate this implementation or its synthetic settings.

  1. Vauquelin G. Determination of drug–receptor residence times by radioligand binding and functional assays: experimental strategies and physiological relevance. MedChemComm. 2012;3:645–651. https://doi.org/10.1039/C2MD20015E. Discusses rebinding, reversible partitioning, and pitfalls in kinetic interpretation.
  2. Hulme EC, Trevethick MA. Ligand binding assays at equilibrium: validation and interpretation. British Journal of Pharmacology. 2010;161:1219–1237. https://pmc.ncbi.nlm.nih.gov/articles/PMC3000649/. Establishes binding mass balance, depletion, and experimental precautions for dissociation measurements.