Skill Tracer
Skills › Scientific Agent Skills › pkpd-modeling › structural-models.md

structural-models.md

69 lines · skills/pkpd-modeling/references/structural-models.md at 5f2bc03

Open on GitHub
1# Structural PK models and identifiability
2

Structural PK models and identifiability

Raw lines 1 to 2
3## Parameters and units
4
5Clearance/volume parameterization is convenient for interpretation: CL and Q are volume/time,
6V is volume, and ka is 1/time. Microconstants (CL/V, Q/V) and exponential coefficients can also
7be valid estimation parameterizations; none guarantees identifiability. Physiological plausibility
8and covariate relationships depend on the drug, population and estimand.
9
10`_models.disposition()` constructs a linear mammillary rate matrix and obtains exponential
11components by eigendecomposition. The library supports any number of peripheral compartments;
12the individual fitting CLI offers one through three. Positive finite CL, volumes and Q are required.
14For an IV dose D, the central concentration is `D*sum(coef_i*exp(lambda_i*t))`.
15The infusion response convolves this with a finite constant input; oral first-order input adds ka
16and F. At `ka=-lambda_i`, evaluate the removable limit `t*exp(lambda_i*t)` within the convolution.
17The library includes that branch. Analytical checks include:
19```
20AUC_iv(0,inf) = D/CL
21Vss = Vcentral + sum(Vperipheral)
22MRT_iv_bolus = Vss/CL
23AUC_ss(0,tau) = D/CL
24```
26Multicompartment accumulation depends on the metric. The terminal half-life alone does not give
27the peak, trough or interval-AUC accumulation ratio. Closed-form metrics in the simulation CLI
28are restricted to IV bolus; oral or infusion inputs require their actual input model.

Parameters and units

Clearance/volume parameterization is convenient for interpretation: CL and Q are volume/time, V is volume, and ka is 1/time. Microconstants (CL/V, Q/V) and exponential coefficients can also be valid estimation parameterizations; none guarantees identifiability. Physiological plausibility and covariate relationships depend on the drug, population and estimand.

_models.disposition() constructs a linear mammillary rate matrix and obtains exponential components by eigendecomposition. The library supports any number of peripheral compartments; the individual fitting CLI offers one through three. Positive finite CL, volumes and Q are required.

For an IV dose D, the central concentration is D*sum(coef_i*exp(lambda_i*t)). The infusion response convolves this with a finite constant input; oral first-order input adds ka and F. At ka=-lambda_i, evaluate the removable limit t*exp(lambda_i*t) within the convolution. The library includes that branch. Analytical checks include:

AUC_iv(0,inf) = D/CL
Vss = Vcentral + sum(Vperipheral)
MRT_iv_bolus = Vss/CL
AUC_ss(0,tau) = D/CL

Multicompartment accumulation depends on the metric. The terminal half-life alone does not give the peak, trough or interval-AUC accumulation ratio. Closed-form metrics in the simulation CLI are restricted to IV bolus; oral or infusion inputs require their actual input model.

Raw lines 3 to 29
30## Oral and nonlinear models
32Oral data alone generally identify apparent CL/F and V/F. For a one-compartment first-order model,
33interchanging absorption and elimination rates with an adjusted apparent volume can reproduce the
34same curve. A slow observed terminal phase can therefore reflect absorption. Do not interpret Vz/F
35as an independently identified physiological volume without supporting absorption information.
37The transit helper convolves a gamma-shaped input with disposition on a numerical grid. It uses
38`lgamma` to avoid factorial overflow; this does not make the convolution exact. Check grid/horizon
39sensitivity for narrow absorption distributions. An additional post-transit ka is not implemented
40and is rejected. Lag and transit can both be justified in some models, but require data that identify
41their distinct roles.
43Michaelis-Menten elimination uses `Vmax*C/(Km+C)`: Vmax is amount/time, Km concentration.
44At low C its approximate clearance is Vmax/Km. Superposition does not hold. Nonlinear dose
45proportionality has other possible causes (bioavailability, binding, absorption, assay), so it does
46not by itself identify a saturable elimination mechanism.
48The ODE library splits at dose starts and infusion boundaries and checks solver success. Select
49tolerances by sensitivity of the requested exposure/effect output, not by a solver-success flag.
50[SciPy solve_ivp documentation](https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html).

Oral and nonlinear models

Oral data alone generally identify apparent CL/F and V/F. For a one-compartment first-order model, interchanging absorption and elimination rates with an adjusted apparent volume can reproduce the same curve. A slow observed terminal phase can therefore reflect absorption. Do not interpret Vz/F as an independently identified physiological volume without supporting absorption information.

The transit helper convolves a gamma-shaped input with disposition on a numerical grid. It uses lgamma to avoid factorial overflow; this does not make the convolution exact. Check grid/horizon sensitivity for narrow absorption distributions. An additional post-transit ka is not implemented and is rejected. Lag and transit can both be justified in some models, but require data that identify their distinct roles.

Michaelis-Menten elimination uses Vmax*C/(Km+C): Vmax is amount/time, Km concentration. At low C its approximate clearance is Vmax/Km. Superposition does not hold. Nonlinear dose proportionality has other possible causes (bioavailability, binding, absorption, assay), so it does not by itself identify a saturable elimination mechanism.

The ODE library splits at dose starts and infusion boundaries and checks solver success. Select tolerances by sensitivity of the requested exposure/effect output, not by a solver-success flag. SciPy solve_ivp documentation.

Raw lines 30 to 51
52## Fitting and model choice
54`fit_compartmental.py` performs separate individual fits on log-positive parameters. Fixed observed
55weights are supported. Prediction-dependent weights are rejected because the implemented WLS
56objective lacks the variance-normalization term of their likelihood. Observed 1/y² weights can
57strongly bias noisy low concentrations; justify the residual model.
59Inspect dose/time accuracy, residual dependence, multiple starts, boundary estimates, sensitivity
60rank and parameter profiles. Local Gauss-Newton covariance is not a profile likelihood; singular
61information does not support finite uncertainty. AIC/BIC comparisons require identical records and
62weight conventions. Extra-compartment parameters lie on boundaries under the simpler model, so the
63nominal F comparison is exploratory. Residual runs do not uniquely diagnose the cause of misfit.
64[SciPy least_squares documentation](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html).
66For NONMEM translation, choose and verify the ADVAN/TRANS combination in the installed vendor
67manual, including compartment numbering, F, scaling and input. ADVAN16/17 address delay equations;
68they are not interchangeable with ordinary ODE ADVANs. No NONMEM execution was performed here.
69[ICON NONMEM platform](https://www.iconplc.com/solutions/technologies/nonmem).

Fitting and model choice

fit_compartmental.py performs separate individual fits on log-positive parameters. Fixed observed weights are supported. Prediction-dependent weights are rejected because the implemented WLS objective lacks the variance-normalization term of their likelihood. Observed 1/y² weights can strongly bias noisy low concentrations; justify the residual model.

Inspect dose/time accuracy, residual dependence, multiple starts, boundary estimates, sensitivity rank and parameter profiles. Local Gauss-Newton covariance is not a profile likelihood; singular information does not support finite uncertainty. AIC/BIC comparisons require identical records and weight conventions. Extra-compartment parameters lie on boundaries under the simpler model, so the nominal F comparison is exploratory. Residual runs do not uniquely diagnose the cause of misfit. SciPy least_squares documentation.

For NONMEM translation, choose and verify the ADVAN/TRANS combination in the installed vendor manual, including compartment numbering, F, scaling and input. ADVAN16/17 address delay equations; they are not interchangeable with ordinary ODE ADVANs. No NONMEM execution was performed here. ICON NONMEM platform.

Raw lines 52 to 69