Mathematical Model¶
Biological motivation¶
Ovarian cancer treated with platinum-based chemotherapy typically responds initially but relapses as drug-resistant subclones expand. The liquidCNA algorithm estimates the subclonal CNA ratio — the fraction of circulating tumour DNA carrying subclonal copy-number alterations — from longitudinal liquid-biopsy samples. This ratio is a proxy for the fraction of resistant cells, \( R(t) / N(t) \), where \( N = S + R \).
The serum protein CA125 provides a complementary tumour-burden readout, related to total cell density via a log-linear observation model.
ODE model¶
The well-mixed model tracks sensitive (\( S \)) and resistant (\( R \)) populations subject to logistic growth and cytotoxic treatment:
where \( N = S + R \) and:
| Symbol | Meaning |
|---|---|
| \( a_S, a_R \) | Intrinsic growth rates of sensitive and resistant cells |
| \( d_S, d_R \) | Drug-induced death rates |
| \( K \) | Carrying capacity |
| \( u(t) \) | Treatment intensity (context-specific step function) |
Observation model¶
The subclonal CNA ratio and CA125 are linked to model states via:
Parameter space¶
Parameters are estimated in unconstrained space:
| Transformed | Physical | Constraint enforced |
|---|---|---|
| \( \log a_S \) | \( a_S > 0 \) | |
| \( \text{logit}(a_R / a_S) \) | \( 0 < a_R < a_S \) | resistant grow slower |
| \( \log d_S \) | \( d_S > 0 \) | |
| \( \text{logit}(d_R / d_S) \) | \( 0 < d_R < d_S \) | resistant die less |
| \( \log K \) | \( K > 0 \) |
Inference¶
Multi-start L-BFGS-B minimisation of the weighted negative log-likelihood:
where \( \mathcal{L}_{\text{ratio}} \) is a ratio-scale NLL with observation errors propagated to logit scale.
PDE model¶
The 1-D reaction–diffusion model adds spatial structure along a tumour axis \( x \in [0, L] \):
with Neumann (zero-flux) boundary conditions:
Spatial observation model¶
Observables are obtained by integrating across the spatial domain:
Numerical discretisation¶
The PDE is solved with operator splitting (Lie–Trotter):
- Reaction step — explicit Euler update for growth and death terms
- Diffusion step — implicit FEniCS/dolfinx FEM solve with PETSc backend
The linear systems for the diffusion step are cached (keyed on mesh geometry and time-step) to avoid repeated assembly across optimiser iterations.
Initial conditions¶
At \( t = 0 \) (first observation):
where \( S_0, R_0 \) are uniform initial densities inferred from the first observed ratio and a patient-specific total burden estimate.
2-D mesh model¶
The mesh-view pipeline runs a 2-D variant on a unit-square FEniCS mesh
for visualisation purposes. This does not produce fitted parameters but shows
spatial resistance-zone formation and drug-efficacy gradients.
See tumorfits.meshview for implementation details.
Identifiability and sensitivity¶
Sobol first-order and total-order sensitivity indices are computed for both
ODE and PDE parameter spaces using SALib. Run via tumorfits.identifiability.