Book 6 · Industry & Applied Domains  ·  Book 6 indexSeries hub  ·  ↩ Vol I
Principia Orthogona  ·  Book 6  ·  Working Papers · Mathematics & Formal Proofs
WP-31 The Calibration Pipeline WP-31B How to Audit WP-31C Executing the Pipeline

Executing the Calibration Pipeline: Autophagy as a Worked Case

running WP-31's four-stage checklist (Operationalize → Estimate → Validate → Iterate) on the question WP-30 left open, forward from measured biology instead of backward from a target constant

WP-30 withdrew a claim: that the dimensionless eigenvalue μ = −2 could be rescaled by a real mTORC1 kinase time constant into a physical rate, μ_max ≈ −0.41 s¹⁻. The number didn't survive contact with its own sources. WP-31 generalized the failure into a checklist. This paper runs that checklist against the same system — the AMPK–mTORC1–ULK1 autophagy switch — starting over, forward from measured biology instead of backward from a target constant. It reports what cleared, what didn't, and what is still missing before any number here can be called a calibration rather than an illustration.

1. Operationalize

What it requires (per WP-31): name a real, measurable proxy for the abstract quantity before doing any arithmetic on it.

Instead of picking a single kinase time constant off a review article, the abstract operator was mapped onto an actual published mechanistic model of the pathway — the mutual-inhibition ODE network for active AMPK, mTORC1, and ULK1 fractions (Szymańska, Martin, MacKeigan, Hlavacek & Lipniacki, PLOS ONE 10(3): e0116550, 2015, "Computational Analysis of an Autophagy/Translation Switch Based on Mutual Inhibition of MTORC1 and ULK1"; Kapuy et al., FEBS Open Bio 2014, on the same mTOR–ULK1 bistable switch under ER stress). The observable is no longer "a time constant" — it is the Jacobian spectrum of a named, published, mass-action-derived dynamical system, evaluated at its own steady state.

The reaction network was built explicitly at the complex level (active species A, M, U and inactive pools Ai, Mi, Ui, three conservation laws), and its topology was checked independently rather than by hand:

n (complexes) = 9 l (linkage classes) = 4 s (stoichiometric subspace) = 3 delta = n - l - s = 2

verified by explicit graph construction (complexes as species-count vectors, linkage classes as connected components of the reaction graph, s as the rank of the reaction-vector matrix) — not asserted. An earlier draft of this same network mis-stated l = 3 by treating the shared zero-complex and the shared M+U complex as separate vertices; rebuilding the graph and computing connected components directly caught the error and corrected it to l = 4, δ = 2.

Cleared A named observable exists, it comes from published models of the actual pathway (not an invented normal form), and its topological invariant (δ = 2) was independently computed, not taken on faith.

2. Estimate

What it requires: fit the parameter vector θ against real data by a stated loss, not cite a number.

A Jacobian was derived analytically from the active-fraction ODEs and evaluated numerically across a stress sweep S ∈ [0.1, 5.0] using scipy.optimize.root for the steady state and numpy.linalg.eigvals for the spectrum, at 50-point resolution. This step is honest about the loss function only because there wasn't one — the rate constants used,

(k_a1, k_a2, k_m1, k_m2, k_m3, k_u1, k_u2) = (1.5, 0.5, 1.0, 2.0, 2.5, 3.0, 1.8) [min^-1, illustrative]

are illustrative placeholders, not fit to any measured kinase or phosphatase rate. They were chosen to be generic (produce a stable, non-degenerate steady state), not estimated.

Did not clear This is the failure mode WP-31 names as "citing a number instead of deriving it," one level more honest than WP-30's version only in that the placeholder status is stated up front rather than dressed as a physiological citation. Candidate primary sources exist for a real fit and were not yet used — see WP-31D, which found the deeper reason this step needs to be redone rather than merely re-run with better numbers.

3. Validate

What it requires: test the fitted function out of sample.

With illustrative (not fitted) parameters, there is no out-of-sample claim to validate. What was checked instead — a weaker but real thing — is internal consistency of the model itself:

CheckMethodResult
Trajectory convergenceDirect time-domain simulation (scipy.integrate.solve_ivp) from five widely separated initial conditions at fixed SConverges to a single point with zero tail variance in every case — no oscillation, no path-dependence
Driver fixed pointClosed-form A*(S) = ka1S/(ka1S+ka2) checked against the numerically solved root at three stress valuesMatched to six decimal places
CooperativitySign transformation K = diag(+1,−1,+1) applied to the actual computed Jacobian (not its symbolic sign pattern) at four stress levelsAll off-diagonal entries of the transformed matrix confirmed ≥ 0 in every case; loop-gain product J₂₃J₃₂ confirmed positive (≈0.78–0.84) throughout
Partially cleared Internal consistency is real evidence the model behaves the way its own derivation claims it should. It is not the same as validating against held-out physiological data, which Stage 2's gap makes impossible for now.

4. Iterate

Not reached. There is no fitted θ yet to refit.

5. What is actually established, versus what looked established

ClaimStatus
δ = 2 for the AMPK–mTORC1–ULK1 network (open, active/inactive formulation)Established — computed twice, independently, by explicit graph construction
Feinberg's Deficiency One Theorem certifies multistability parameter-freeFalse for this network — δ ≠ 1, theorem doesn't apply; multistability is topologically permitted, not forced
The (M,U) subsystem is cooperative and forbids limit cyclesEstablished — Hirsch (1982, 1985), verified against the real numerical Jacobian
The full 3D cascade inherits that no-cycle resultEstablished for generic parameter sets — Markus (1956)/Thieme (1992) asymptotic-autonomy transfer
λ_max(S) clusters near integers (−2, −3)False — full-resolution scan gives λ_max(S) ∈ [−0.65, −2.82] min⁻¹, smooth and continuous in S
μ_max ≈ −0.41 s⁻¹ is a physiological calibration of the dimensionless −2Withdrawn in WP-30; not re-established here — no valid path from −2 to a unit-bearing constant was found this time either
Σ CiJ = 1 (Kacser–Burns / Heinrich–Rapoport) is a genuine parameter-free invariant of metabolic networksTrue, and worth keeping as the corpus's reference case for what a real dimensionless biological invariant looks like — it is not −2, −3, or −0.41
Standing status Stage 1 (Operationalize) and the internal-consistency half of Stage 3 (Validate) are done properly — named observable, independently verified topology, independently verified dynamics. Stage 2 (Estimate) is still open: every rate constant in the numerical work above is illustrative, not fit to a primary source. No physiological anchor for μ = −2 or −3 was recovered by this exercise, and that is a finding, not a gap in the exercise — the honest result of building forward from real network structure is a continuous, parameter-dependent spectrum, not a return to the retracted constant by a more careful road.

Path forward, if continued: pull actual fitted rate constants from Szymańska et al.'s supplement and/or von Bülow & Hummer's reported ATG2 transfer kinetics, rerun Stage 2 as a real least-squares or MLE fit against a stated observable, and only then treat Stage 3 as a genuine validation. WP-31D picks this up directly and finds the reduced model's own topology, not just its parameters, was unfit for the question.

All numerical claims above — the deficiency graph computation, the Jacobian sign/cooperativity check against real computed values, the eigenvalue continuation sweep, and the five-initial-condition time-domain simulation — were executed directly (Python 3, NumPy/SciPy/NetworkX) rather than derived by hand, in keeping with WP-31B's own standard of tracing claims to a checkable source before publishing them.

← WP-31B · How to Audit WP-31D · Topological Mismatch →