pbpk regional absorption¶
The derivation of a regional absorption profile with the model from a release study: release_auc_ratios (the AUC of a solution released in a segment relative to the oral solution), derive_regional_absorption (the factors of a RegionalAbsorption which give the reported ratios) and regional_key, see Intestine and routes.
Derive a regional absorption profile with the model from a release study.
A regional absorption study releases a solution of the drug in a segment of
the intestine (an intubation, a remote-controlled capsule) and reports its
exposure relative to an oral solution, e.g. the AUC of apixaban released in
the distal small bowel 0.40 and in the ascending colon 0.16 of the oral
solution (Byon 2018). The factors of a RegionalAbsorption profile which
give these ratios depend on the rest of the absorption of the model (ka,
fabs, an efflux, the first pass), so they are derived with the model:
release_auc_ratiossimulates the oral solution (SOLDOSE_<s>) and the same dose put dissolved into the lumen of each release segment (GU__Clumen_<seg>_<s>) and gives the AUC of the arm vein relative to the oral solution;derive_regional_absorptionfinds the factors for which the ratios are the reported ones: one factor per release segment, the factor of the profile which scales the absorption there (regional_key: the segment itself in the small intestine, the groupcolonin the large intestine), each the root of its ratio (brentq) with the others fixed, in turns until no factor moves (a release reaches the other regions little, so a few turns converge).
Because the ratios depend on the fitted absorption, a model derives the
factors on its adopted fit, writes them into its profile (a Value with the
source of the study) and fits again from the adopted fit, until the factors
derived on the fit are those of the model. The model must have the factors
(its profile names them, e.g. with a first guess) and an oral solution of the
substance.
regional_key
¶
The key of the profile whose factor scales the absorption of a release segment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
segment
|
str
|
the token of an absorbing segment ( |
required |
Returns:
| Type | Description |
|---|---|
str
|
The segment itself in the small intestine, the group |
str
|
large intestine (caecum to rectum). |
Raises:
| Type | Description |
|---|---|
ValueError
|
for the stomach or an unknown token. |
release_auc_ratios
¶
release_auc_ratios(
r,
substance,
segments,
dose,
*,
factors=None,
changes=None,
end=14 * DAY,
points=20161,
observable=None,
)
Get the AUC of a solution released in each segment relative to the oral solution.
Every simulation starts from the initial values of the model in the
condition of the study (changes, set as initial values) with the
factors set; the oral solution is the dose state SOLDOSE_<s>, a release
the dose dissolved in the lumen of the segment (dose/Mr/Vlumen). The
AUC is the trapezoid of observable over points equidistant times from
0 to end. Afterwards the condition is taken back and every value of r
is reset to its initial value (reset of all values): a value set on
r before the call is kept only if it was set as an initial value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
r
|
RoadRunner
|
the model, a roadrunner of the flat model with the tolerances of the derivation (e.g. absolute 1e-14, relative 1e-10). |
required |
substance
|
str
|
the substance id. |
required |
segments
|
Sequence[str]
|
the release segments ( |
required |
dose
|
float
|
the dose [mg]. |
required |
factors
|
Mapping[str, float] | None
|
the factors of the profile by key ( |
None
|
changes
|
Mapping[str, float] | None
|
the condition of the study, initial values by id ( |
None
|
end
|
float
|
the end of the simulations [min], long enough for the AUC. |
14 * DAY
|
points
|
int
|
the number of time points. |
20161
|
observable
|
str | None
|
the id whose AUC is compared, the arm vein |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
The ratio by release segment. |
Raises:
| Type | Description |
|---|---|
ValueError
|
for a segment which does not absorb, or a model without the oral solution, a lumen, a factor or a changed id. |
derive_regional_absorption
¶
derive_regional_absorption(
r,
substance,
targets,
dose,
*,
changes=None,
bounds=(0.0001, 10.0),
xtol=1e-06,
max_turns=20,
end=14 * DAY,
points=20161,
observable=None,
)
Derive the factors of a profile which give the ratios of a release study.
One factor per release segment (regional_key: the segment in the small
intestine, colon in the large one, so two release segments of the
large intestine are refused), each the root of the ratio of its segment
within bounds with the other factors fixed, in the order of targets
and in turns, starting from the factors of the model, until no factor
moves by more than xtol. Afterwards r is reset as by
release_auc_ratios: the factors of the model, not the derived ones.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
r
|
RoadRunner
|
the model, see |
required |
substance
|
str
|
the substance id. |
required |
targets
|
Mapping[str, float]
|
the reported AUC of the release relative to the oral
solution by release segment ( |
required |
dose
|
float
|
the dose of the study [mg]. |
required |
changes
|
Mapping[str, float] | None
|
the condition of the study, see |
None
|
bounds
|
tuple[float, float]
|
the bracket of every factor. |
(0.0001, 10.0)
|
xtol
|
float
|
the tolerance of a factor. |
1e-06
|
max_turns
|
int
|
the most turns over the factors. |
20
|
end
|
float
|
see |
14 * DAY
|
points
|
int
|
see |
20161
|
observable
|
str | None
|
see |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
The factors by key of the profile ( |
Raises:
| Type | Description |
|---|---|
ValueError
|
for two release segments of one factor, a ratio which no
factor within |
RuntimeError
|
if the factors do not converge in |