Tutorials › Quantitative Systems Pharmacology (QSP) › Diagnosing Double Counting and Missing Species in Model Balances

Conservation Laws and Dimensional Consistency · Tutorial 69 of 799

Diagnosing Double Counting and Missing Species in Model Balances

Use species-level rates and system-wide balances to identify missing products, duplicated transfers, misclassified external fluxes, and inconsistent free or total states.

Intermediate 12 min read

What You'll Learn

  • Distinguish internal reaction and transfer fluxes from external inputs and outputs.
  • Trace stoichiometric contributions to find an omitted product or duplicated rate term.
  • Compare a system’s rate of change with the balance expected from its external fluxes.
  • Check whether a state represents a free species or a total that includes bound forms.
  • Use local and global balance residuals to narrow down likely model errors.
  • Recognize when a balance discrepancy may reflect an untracked species or an intentionally open system.

Why Balance Errors Need Diagnosis

A model can have equations that are dimensionally consistent and numerically stable yet still represent the wrong bookkeeping. A product may be missing from the state equations, an internal transfer may be counted twice, an external input may be mistaken for an internal flux, or a free species may be confused with a total that includes bound material. Each error changes what the model says is conserved or exchanged.

The useful diagnostic question is not simply “does this quantity stay constant?” An open system can correctly gain or lose material. Instead ask: does the rate of change of each tracked amount agree with the reactions, transfers, inputs, and outputs that are specified? A discrepancy in a local species balance and a discrepancy in a whole-system balance provide different clues.

Definition: For a set of tracked species with amounts \(x\), write their reaction and internal-transfer rates as \(Sv\), where \(S\) contains the stoichiometric coefficients and \(v\) contains the corresponding fluxes. Let \(u\) denote external inputs and \(e\) external outputs, each expressed as amount per time. The balance is $$ \frac{dx}{dt}=Sv+u-e. $$ An internal flux changes the amounts of species in the tracked system; an external input or output crosses the system boundary.

A balance audit starts by specifying what the state variables represent and what lies inside the system boundary. Amounts of distinct chemical species are usually a natural bookkeeping basis. Concentrations can also be modeled, but when compartment volume changes, a concentration rate is not itself an amount rate. The balance must then account for the relationship between amount, concentration, and volume.

The earlier material on conserved moieties establishes that a weighted sum \(c^\mathsf{T}x\) is unchanged by the modeled internal reactions when \(c^\mathsf{T}S=0\). For an open system, the same calculation gives the expected change due to external fluxes: $$ \frac{d}{dt}(c^\mathsf{T}x)=c^\mathsf{T}(u-e). $$ This result is a diagnostic reference, not a claim that every sum of species is conserved. The weights \(c\) must represent the moiety or total being checked, and the tracked reactions must preserve it.

A Practical Balance-Diagnosis Method

When a balance does not match expectations, do not begin by changing parameters or solver settings. First compare the written equations with the species and flux ledger. The following sequence helps separate a bookkeeping error from a correctly open or deliberately incomplete model.

1
Define the boundary and state meaning.
List each state and whether it is a free species, a bound species, or a total. State which compartments and external processes are included.
2
Trace every flux to its participants.
For each reaction or transfer, record every consumed and produced species and its stoichiometric coefficient. Record external inputs and outputs separately.
3
Reconstruct each rate equation.
Add a species’ contributions across all fluxes. A flux that consumes a species contributes a negative term; one that produces it contributes a positive term.
4
Check local and aggregate balances.
Compare each equation with its flux ledger, then calculate the expected rate of change of relevant totals from external fluxes. A correct aggregate total can still hide offsetting local errors.

A useful formal residual for a proposed total \(c^\mathsf{T}x\) is $$ r=c^\mathsf{T}\frac{dx}{dt}-c^\mathsf{T}(u-e). $$ For a correctly specified balance and a moiety preserved by all internal fluxes, \(r=0\). A nonzero value signals an inconsistency in the equations, the flux accounting, the state definitions, or the selected total. It does not, by itself, identify which one.

Worked Example: Finding a Missing Reaction Product

Suppose a hypothetical closed compartment contains species \(A\) and \(B\), measured in \(\mu\text{mol}\). The reaction \(A\rightarrow B\) proceeds at \(v=5.0\ \mu\text{mol}/\text{h}\). The model gives \(dA/dt=-v\), but accidentally sets \(dB/dt=0\). Check the balance and locate the error.

Expected contributions. One mole of \(A\) is consumed and one mole of \(B\) is produced per mole of reaction. Thus the correct rates are $$ \frac{dA}{dt}=-v=-5.0\ \mu\text{mol}/\text{h},\qquad \frac{dB}{dt}=v=5.0\ \mu\text{mol}/\text{h}. $$

Check the model as written. For the total \(M=A+B\), the implemented rates imply $$ \frac{dM}{dt}=\frac{dA}{dt}+\frac{dB}{dt}=-5.0+0=-5.0\ \mu\text{mol}/\text{h}. $$ There is no external output in the stated closed system, so this loss is not accounted for. The reaction ledger shows that \(B\), its product, is missing from the equation for \(dB/dt\). Adding \(+v\) makes \(dM/dt=-5.0+5.0=0\), as required for this reaction.

This check detects omitted product accounting; it does not establish that every product in a real biochemical pathway must be tracked. If an untracked product leaves the chosen system boundary, that boundary crossing must instead be represented as an external output.

Worked Example: Detecting a Duplicated Internal Transfer

In a hypothetical two-compartment model, a transfer moves \(J=3.0\ \text{nmol}/\text{min}\) from compartment \(X\) to compartment \(Y\). The implemented equations contain \(dX/dt=-2J\) and \(dY/dt=+J\). Assume no other reactions or external fluxes act at this instant.

A single transfer must remove the same amount per unit time from \(X\) as it adds to \(Y\): $$ \left(\frac{dX}{dt}\right)_{\!J}=-J=-3.0\ \text{nmol}/\text{min},\qquad \left(\frac{dY}{dt}\right)_{\!J}=+J=3.0\ \text{nmol}/\text{min}. $$ The correct combined amount \(X+Y\) therefore has derivative \(-3.0+3.0=0\).

The implemented equations instead give $$ \frac{d(X+Y)}{dt}=-2J+J=-J=-3.0\ \text{nmol}/\text{min}. $$ Because the stated system has no external loss, the aggregate discrepancy points to a bookkeeping fault. Comparing terms shows that the transfer was subtracted twice from \(X\), while it was added once to \(Y\). Removing the duplicate \(-J\) restores both the local equation and the internal-transfer balance.

A global sum alone identifies that material is disappearing, but tracing the transfer into both compartments identifies which equation contains the repeated term.

Worked Example: Separating External Input From Internal Transfer

A hypothetical well-mixed system contains \(A\). At a particular time, an external infusion supplies \(q=4.0\ \text{nmol}/\text{h}\), and an external elimination process removes \(e=1.0\ \text{nmol}/\text{h}\). There are no internal reactions. A proposed equation is \(dA/dt=-e\), omitting the infusion. Diagnose it.

The system is open, so its amount is not expected to remain constant. Its stated boundary fluxes require $$ \frac{dA}{dt}=q-e=4.0-1.0=3.0\ \text{nmol}/\text{h}. $$ The proposed equation gives \(-1.0\ \text{nmol}/\text{h}\). Its residual relative to the expected external balance is $$ r=\frac{dA}{dt}-(q-e)=-1.0-3.0=-4.0\ \text{nmol}/\text{h}. $$ The residual equals the omitted input with a negative sign. Including \(+q\) in the equation gives the required \(+3.0\ \text{nmol}/\text{h}\).

A different accounting mistake would be to classify the infusion as an internal transfer from a source state that is not actually included in the model. A transfer between two tracked states cancels in their combined total; an external infusion does not. The boundary determines which accounting applies.

Free Species, Bound Species, and Totals

Binding creates a distinct diagnostic risk: “receptor” or “ligand” may refer either to a free species or to a total that includes bound forms. These are not interchangeable state definitions. If the states are free receptor \(R\), free ligand \(L\), and complex \(C\), then \(R+C\) is total receptor and \(L+C\) is total ligand for a one-to-one complex. A total must not be treated as if it were a separate chemical species alongside all the free and bound components used to construct it.

Worked Example: Checking a Receptor Total During Binding

Consider the hypothetical binding reaction \(R+L\rightleftharpoons C\). At one instant, its net forward rate is \(v=2.0\ \text{nmol}/\text{h}\). The free and bound species are modeled with rates \(dR/dt=-v\), \(dL/dt=-v\), and \(dC/dt=v\). A second equation defines a reported receptor total \(R_{\text{tot}}=R+C\).

The receptor total’s rate must follow from its definition: $$ \frac{dR_{\text{tot}}}{dt} =\frac{dR}{dt}+\frac{dC}{dt} =-v+v=0\ \text{nmol}/\text{h}. $$ Binding changes the distribution between free and bound receptor, not the total receptor amount. If an implementation instead assigns \(dR_{\text{tot}}/dt=-v\), it has applied the free-receptor consumption term to the total and omitted the complex contribution. At the stated rate, the incorrect total falls at \(2.0\ \text{nmol}/\text{h}\), despite no receptor leaving the system.

Alternatively, a model may use \(R_{\text{tot}}\) as a state and calculate free receptor from a binding relationship. In that formulation, do not also add \(R\) and \(C\) as independent contributions to the receptor total balance. First establish which quantities are independent states and which are derived totals.

Interpreting Residuals and Choosing a Check

A balance residual is a symptom, not a diagnosis. Its pattern can narrow the possibilities:

  • Unexpected loss or gain in a closed-system total: inspect missing products, duplicated consumption or production terms, and inconsistent species weights.
  • One compartment loses more than another gains: inspect the transfer term in both local equations and verify that the same flux is used with opposite signs.
  • A whole-system discrepancy equal to an input or output: check whether a boundary flux was omitted, assigned the wrong sign, or incorrectly labeled internal.
  • A binding moiety changes during binding alone: verify whether each state denotes a free species, complex, or total, and ensure each physical amount is counted once.

The strongest basic check is a species-by-species flux ledger, followed by a total or moiety check. A ledger can expose a missing term even when two errors happen to cancel in a total. Conversely, a total check can expose an imbalance across many equations without requiring every term to be inspected first. These checks complement one another.

They also differ from a numerical conservation-residual check. If the equations themselves imply a changing total, a numerical solver may be accurately integrating the wrong balance. If the written equations imply conservation but computed trajectories drift, numerical error becomes a separate possibility. Diagnose the equation-level accounting before interpreting a trajectory-level residual.

CheckBest at revealingImportant limitation
Species-by-species flux ledgerMissing or duplicated terms and incorrect signsRequires an explicit, complete list of flux participants
Aggregate moiety or amount balanceNet unexplained gain or loss across statesCan miss offsetting errors in different equations
Boundary input-output comparisonOmitted or misclassified external fluxesDepends on a clearly specified system boundary
Free-versus-total definition checkDouble counting or incorrect binding contributionsRequires unambiguous state definitions

The method has limits. A balance check cannot establish that the chosen reaction mechanism is biologically complete, that rate laws are correct, or that parameters are identifiable. Nor does a nonzero residual always mean the model is wrong: the selected set may intentionally omit products or represent a process as external. The question is whether that omission and its associated boundary flux are explicit and consistent with the model’s purpose.

Key takeaway: For each proposed balance, identify the states and boundary first, then trace every flux to its consumed and produced species. Internal transfers redistribute tracked material; external fluxes change the tracked total. A total is a defined sum, not an extra species to count again.

Check Your Understanding

For each item, identify the accounting check and compare your reasoning with the solutions below.

  1. A closed model has \(dP/dt=-6\) and \(dQ/dt=0\) for a reaction \(P\rightarrow Q\) with flux \(6\ \text{pmol}/\text{h}\). What is missing?
  2. A transfer of \(2\ \text{nmol}/\text{min}\) from \(U\) to \(V\) is represented by \(dU/dt=-2J\) and \(dV/dt=+J\). What rate of change does the model imply for \(U+V\), and what should it be?
  3. A tracked amount has external input \(q=7\ \text{mg}/\text{day}\) and output \(e=5\ \text{mg}/\text{day}\). What is the expected amount rate, and why is zero not the expected rate?
  4. For \(R+L\rightleftharpoons C\), the free receptor falls by \(1.5\ \text{nmol}/\text{h}\) due to binding while complex rises by the same amount. What should happen to \(R+C\) due to binding alone?

Solutions. (1) The product equation is missing \(+6\ \text{pmol}/\text{h}\); with it, the closed total \(P+Q\) has rate zero. (2) The implemented rate is \(-2J+J=-J=-2\ \text{nmol}/\text{min}\); a single internal transfer should give \(-J+J=0\). (3) The expected rate is \(q-e=7-5=2\ \text{mg}/\text{day}\). The amount increases because input exceeds output. (4) The total \(R+C\) remains unchanged: \(-1.5+1.5=0\ \text{nmol}/\text{h}\).

Clinical Biostats