pymixef.pharmacometrics package¶
PyMixEF pharmacometrics.
The public layer combines typed model declarations, canonical event records, deterministic ODE simulation, closed-form PK helpers, residual-error models, and explicitly scoped population-estimation primitives.
- class pymixef.pharmacometrics.AdditiveError(sigma, variance_floor=np.float64(2.2250738585072014e-308))[source]¶
Bases:
_ErrorOperationsGaussian additive residual standard deviation.
- Parameters:
sigma (float | int | floating | str | Any)
variance_floor (float)
- sigma: float | int | floating | str | Any¶
- variance_floor: float¶
- class pymixef.pharmacometrics.AuditEntry(code, action, row_id=None, source_row_id=None, details=<factory>)[source]¶
Bases:
objectOne machine-readable canonicalization or expansion action.
- Parameters:
code (str)
action (str)
row_id (str | None)
source_row_id (str | None)
details (Mapping[str, Any])
- code: str¶
- action: str¶
- row_id: str | None¶
- source_row_id: str | None¶
- details: Mapping[str, Any]¶
- class pymixef.pharmacometrics.CanonicalEvent(subject_id, time, evid, amount=None, amount_status=None, rate=None, duration=None, compartment=None, additional=0, interval=None, steady_state=0, mdv=1, dv=None, lloq=None, occasion=None, bioavailability=1.0, lag=0.0, covariates=<factory>, extras=<factory>, row_id='', source_row_id='', source_position=0, generated=False, generation=None)[source]¶
Bases:
objectAn immutable event in the PyMixEF canonical schema.
amount_statusdistinguishes a recorded amount (including zero), an explicitly unknown dose amount, and a field that is structurally not applicable to a non-dose event.- Parameters:
subject_id (Hashable)
time (float)
evid (EventType)
amount (float | None)
amount_status (DoseAmountStatus | str | None)
rate (float | None)
duration (float | None)
compartment (int | str | None)
additional (int)
interval (float | None)
steady_state (int)
mdv (int)
dv (float | None)
lloq (float | None)
occasion (Hashable | None)
bioavailability (float)
lag (float)
covariates (Mapping[str, Any])
extras (Mapping[str, Any])
row_id (str)
source_row_id (str)
source_position (int)
generated (bool)
generation (str | None)
- subject_id: Hashable¶
- time: float¶
- amount: float | None¶
- amount_status: DoseAmountStatus | str | None¶
- rate: float | None¶
- duration: float | None¶
- compartment: int | str | None¶
- additional: int¶
- interval: float | None¶
- steady_state: int¶
- mdv: int¶
- dv: float | None¶
- lloq: float | None¶
- occasion: Hashable | None¶
- bioavailability: float¶
- lag: float¶
- covariates: Mapping[str, Any]¶
- extras: Mapping[str, Any]¶
- row_id: str¶
- source_row_id: str¶
- source_position: int¶
- generated: bool¶
- generation: str | None¶
- property ADDL¶
- property AMT¶
- property CMT¶
- property DUR¶
- property DV¶
- property EVID¶
- property ID¶
- property II¶
- property LLOQ¶
- property MDV¶
- property RATE¶
- property SS¶
- property TIME¶
- property addl¶
- property amt¶
- property cmt¶
- property effective_amount: float | None¶
- property effective_rate: float¶
Infusion rate after bioavailability, or zero for a bolus.
- property event_type¶
- property id¶
- property ii¶
- property infusion_duration: float | None¶
- property is_dose: bool¶
- property is_infusion: bool¶
- property is_observation: bool¶
- property is_reset: bool¶
- property kind: str¶
- property ss¶
- class pymixef.pharmacometrics.CombinedError(additive_sigma, proportional_sigma, power=1.0, variance_floor=np.float64(2.2250738585072014e-308))[source]¶
Bases:
_ErrorOperationsIndependent additive and prediction-dependent Gaussian errors.
Component variances are added; standard deviations are not.
- Parameters:
additive_sigma (float | int | floating | str | Any)
proportional_sigma (float | int | floating | str | Any)
power (float | int | floating | str | Any)
variance_floor (float)
- additive_sigma: float | int | floating | str | Any¶
- proportional_sigma: float | int | floating | str | Any¶
- power: float | int | floating | str | Any¶
- variance_floor: float¶
- classmethod from_components(first, second)[source]¶
- Parameters:
first (ObservationError)
second (ObservationError)
- Return type:
- class pymixef.pharmacometrics.CompiledModel(name, parameters=(), etas=(), states=(), symbols=(), doses=(), equations=(), observations=(), schema_version='1.0', authoring_mode='executed-python-declarations')[source]¶
Bases:
objectData-only pharmacometric model declaration.
- Parameters:
name (str)
parameters (tuple[Param, ...])
etas (tuple[Eta, ...])
states (tuple[State, ...])
symbols (tuple[Symbol, ...])
doses (tuple[Dose, ...])
equations (tuple[DifferentialEquation, ...])
observations (tuple[Observation, ...])
schema_version (str)
authoring_mode (str)
- name: str¶
- equations: tuple[DifferentialEquation, ...]¶
- observations: tuple[Observation, ...]¶
- schema_version: str¶
- authoring_mode: str¶
- explain()[source]¶
Print the implied equations, transforms, event mappings, and units.
- Return type:
str
- to_dict()[source]¶
Serialize the complete, optimizer-independent declaration.
- Return type:
dict[str, Any]
- to_ir()[source]¶
Compile this declaration into the common, versioned
ModelIR.Only expression and residual-error operations with defined semantic mappings are accepted. Custom operations fail here rather than being reduced to an opaque string that a backend could misinterpret.
- Return type:
- exception pymixef.pharmacometrics.ConditionalModeError[source]¶
Bases:
EstimationErrorRaised for invalid or failed subject-level conditional objectives.
- code = 'NLME-CONDITIONAL-MODE-001'¶
- class pymixef.pharmacometrics.ConditionalModeResult(eta, objective, observation_objective, random_effect_objective, gradient, hessian, covariance, success, message, iterations, function_evaluations, gradient_norm, hessian_positive_definite, warning_codes=())[source]¶
Bases:
objectTransparent subject-level optimizer result.
- Parameters:
eta (NDArray[float64])
objective (float)
observation_objective (float)
random_effect_objective (float)
gradient (NDArray[float64])
hessian (NDArray[float64])
covariance (NDArray[float64] | None)
success (bool)
message (str)
iterations (int)
function_evaluations (int)
gradient_norm (float)
hessian_positive_definite (bool)
warning_codes (tuple[str, ...])
- eta: NDArray[float64]¶
- objective: float¶
- observation_objective: float¶
- random_effect_objective: float¶
- gradient: NDArray[float64]¶
- hessian: NDArray[float64]¶
- covariance: NDArray[float64] | None¶
- success: bool¶
- message: str¶
- iterations: int¶
- function_evaluations: int¶
- gradient_norm: float¶
- hessian_positive_definite: bool¶
- warning_codes: tuple[str, ...]¶
- class pymixef.pharmacometrics.ConditionalObjective(observations, predict, omega, error, error_parameters=<factory>, censored=None, lower_limits=None, include_constants=True)[source]¶
Bases:
objectFOCEI-ready subject conditional negative log joint density.
predictreceives an ETA vector. Residual variance is recomputed from each resulting prediction, retaining ETA–residual-variance interaction. Missing observations (NaN) are excluded explicitly. Acensoredmask uses the Gaussian log-CDF atlower_limits(an M3-like contribution).- Parameters:
observations (NDArray[float64])
predict (Callable[[NDArray[float64]], ArrayLike])
omega (NDArray[float64])
error (ObservationError)
error_parameters (Mapping[str, float])
censored (NDArray[bool] | None)
lower_limits (NDArray[float64] | None)
include_constants (bool)
- observations: NDArray[float64]¶
- predict: Callable[[NDArray[float64]], ArrayLike]¶
- omega: NDArray[float64]¶
- error: ObservationError¶
- error_parameters: Mapping[str, float]¶
- censored: NDArray[bool] | None¶
- lower_limits: NDArray[float64] | None¶
- include_constants: bool¶
- property eta_dimension: int¶
- exception pymixef.pharmacometrics.DSLValidationError[source]¶
Bases:
ValueErrorRaised when declarations do not form a valid pharmacometric model.
- code = 'DSL-INVALID-001'¶
- class pymixef.pharmacometrics.DifferentialEquation(state, expression)[source]¶
Bases:
objectOne first-order ODE declaration.
- class pymixef.pharmacometrics.Dose(state, amount='AMT', rate='RATE', duration='DUR', compartment='CMT', lag=None, bioavailability=None, route='iv')[source]¶
Bases:
objectMapping from canonical event fields to a model state.
- Parameters:
state (State)
amount (str)
rate (str | None)
duration (str | None)
compartment (str)
lag (str | float | None)
bioavailability (str | float | None)
route (str)
- amount: str¶
- rate: str | None¶
- duration: str | None¶
- compartment: str¶
- lag: str | float | None¶
- bioavailability: str | float | None¶
- route: str¶
- class pymixef.pharmacometrics.DoseAmountStatus(*values)[source]¶
Bases:
StrEnumSemantic state of the dose-amount field.
- RECORDED = 'recorded'¶
- UNKNOWN = 'unknown'¶
- NOT_APPLICABLE = 'not-applicable'¶
- exception pymixef.pharmacometrics.EstimationError[source]¶
Bases:
RuntimeErrorBase class for pharmacometric estimation failures.
- code = 'ESTIMATION-FAILED-001'¶
- class pymixef.pharmacometrics.Eta(name, block, covariance='diagonal', level='subject')[source]¶
Bases:
_SymbolicA named random effect and its covariance-block declaration.
- Parameters:
name (str)
block (str)
covariance (Literal['correlated', 'diagonal'])
level (str)
- name: str¶
- block: str¶
- covariance: Literal['correlated', 'diagonal']¶
- level: str¶
- Parameters:
names (str)
block (str | None)
level (str)
- Return type:
tuple[Eta, …]
- class pymixef.pharmacometrics.EventSnapshot(row_id, source_row_id, subject_id, time, state, dv, mdv, lloq, occasion=None)[source]¶
Bases:
objectState observed at a canonical observation event.
- Parameters:
row_id (str)
source_row_id (str)
subject_id (Any)
time (float)
state (NDArray[float64])
dv (float | None)
mdv (int)
lloq (float | None)
occasion (Any)
- row_id: str¶
- source_row_id: str¶
- subject_id: Any¶
- time: float¶
- state: NDArray[float64]¶
- dv: float | None¶
- mdv: int¶
- lloq: float | None¶
- occasion: Any¶
- class pymixef.pharmacometrics.EventTable(events, audit=(), source_count=0, source_records=())[source]¶
Bases:
Sequence[CanonicalEvent]Immutable, deterministically ordered collection of canonical events.
- Parameters:
events (tuple[CanonicalEvent, ...])
audit (tuple[AuditEntry, ...])
source_count (int)
source_records (tuple[Mapping[str, Any], ...])
- events: tuple[CanonicalEvent, ...]¶
- audit: tuple[AuditEntry, ...]¶
- source_count: int¶
- source_records: tuple[Mapping[str, Any], ...]¶
- expand_additional()[source]¶
Materialize ADDL/II doses without mutating the source table.
The returned records have
ADDL=0so expansion is idempotent. Every generated row retains the originalsource_row_idand receives a deterministic<row_id>:addl:<n>row identifier.- Return type:
- expand_infusions()[source]¶
Add explicit infusion-stop records for finite infusions.
Explicit stops already present in the source are retained. A finite start generated from
AMT/RATE/DURgets one deterministic stop.- Return type:
- for_subject(subject_id)[source]¶
Return an immutable view containing one subject.
- Parameters:
subject_id (Hashable)
- Return type:
- classmethod from_records(records, *, covariate_columns=(), expand_additional=False, expand_infusions=False)[source]¶
Canonicalize mapping records or a NumPy structured array.
Calendar times are converted to UTC Unix seconds and must be timezone-aware. No input object is modified.
- Parameters:
records (Iterable[Mapping[str, Any]] | ndarray)
covariate_columns (Sequence[str])
expand_additional (bool)
expand_infusions (bool)
- Return type:
- provenance()[source]¶
Return the complete immutable audit as fresh dictionaries.
- Return type:
tuple[dict[str, Any], …]
- property subjects: tuple[Hashable, ...]¶
Subject IDs in deterministic first-occurrence order.
- class pymixef.pharmacometrics.EventType(*values)[source]¶
Bases:
IntEnumCanonical EVID values, extending the common NONMEM values.
Values 0–4 retain their familiar meaning. Values 5 and 6 are explicit PyMixEF records used for time-varying covariates and infusion stops.
- OBSERVATION = 0¶
- DOSE = 1¶
- OTHER = 2¶
- RESET = 3¶
- RESET_AND_DOSE = 4¶
- COVARIATE = 5¶
- INFUSION_STOP = 6¶
- exception pymixef.pharmacometrics.EventValidationError(message, *, row=None)[source]¶
Bases:
ValueErrorRaised when an event record is ambiguous or internally inconsistent.
- Parameters:
message (str)
row (int | str | None)
- Return type:
None
- code = 'EVENT-INVALID-001'¶
- class pymixef.pharmacometrics.Expr(operation, arguments=(), value=None, metadata=<factory>)[source]¶
Bases:
objectAn immutable symbolic expression node.
- Parameters:
operation (str)
arguments (tuple[Expr, ...])
value (float | str | None)
metadata (Mapping[str, Any])
- operation: str¶
- value: float | str | None¶
- metadata: Mapping[str, Any]¶
- class pymixef.pharmacometrics.LaplacePopulationResult(objective, subject_contributions, modes, warning_codes)[source]¶
Bases:
objectSum of subject Laplace contributions at conditional modes.
- Parameters:
objective (float)
subject_contributions (NDArray[float64])
modes (tuple[ConditionalModeResult, ...])
warning_codes (tuple[str, ...])
- objective: float¶
- subject_contributions: NDArray[float64]¶
- modes: tuple[ConditionalModeResult, ...]¶
- warning_codes: tuple[str, ...]¶
- class pymixef.pharmacometrics.LogNormalError(sigma)[source]¶
Bases:
objectMultiplicative log-normal observation error.
log(observed) ~ Normal(log(prediction), sigma).logpdfincludes the Jacobian for density on the original observation scale.- Parameters:
sigma (float | int | floating | str | Any)
- sigma: float | int | floating | str | Any¶
- logpdf(observed, prediction, parameters=None)[source]¶
- Parameters:
observed (ArrayLike)
prediction (ArrayLike)
parameters (Mapping[str, float] | None)
- Return type:
NDArray[float64]
- class pymixef.pharmacometrics.ModelDefinition(function, *, name=None)[source]¶
Bases:
objectLazy wrapper produced by
model().Calling or compiling it executes the original Python declaration function once per call in an isolated context. This behavior is explicit in
CompiledModel.authoring_mode.- Parameters:
function (Callable[..., Any])
name (str | None)
- property declaration_signature: str¶
- to_ir(*args, **kwargs)[source]¶
Compile the declaration into the common versioned model IR.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
- class pymixef.pharmacometrics.ModelValidation(valid, messages, dimensions, estimator_compatibility)[source]¶
Bases:
objectDry-run validation report for a compiled model.
- Parameters:
valid (bool)
messages (tuple[ValidationMessage, ...])
dimensions (Mapping[str, int])
estimator_compatibility (Mapping[str, bool])
- valid: bool¶
- messages: tuple[ValidationMessage, ...]¶
- dimensions: Mapping[str, int]¶
- estimator_compatibility: Mapping[str, bool]¶
- class pymixef.pharmacometrics.ODEContext(parameters, covariates, infusion_rates, subject_id=None)[source]¶
Bases:
Mapping[str,float]Explicit dynamic inputs passed to three-argument RHS callables.
The context also implements the read-only mapping protocol by delegating to
parameters. Thus bothcontext.parameters["CL"]and the familiar shorthandcontext["CL"]are supported without making covariates or infusion rates implicit.- Parameters:
parameters (Mapping[str, float])
covariates (Mapping[str, Any])
infusion_rates (NDArray[float64])
subject_id (Any)
- parameters: Mapping[str, float]¶
- covariates: Mapping[str, Any]¶
- infusion_rates: NDArray[float64]¶
- subject_id: Any¶
- exception pymixef.pharmacometrics.ODESimulationError(message, *, time=None, subject_id=None, details=None)[source]¶
Bases:
RuntimeErrorA structured ODE or event-processing failure.
- Parameters:
message (str)
time (float | None)
subject_id (Any)
details (Mapping[str, Any] | None)
- Return type:
None
- code = 'ODE-SIMULATION-FAILED-001'¶
- class pymixef.pharmacometrics.ODESimulationResult(times, states, state_names, observations, metadata, subject_id=None, sensitivities=None, sensitivity_parameters=())[source]¶
Bases:
objectState trajectories, event snapshots, sensitivities, and solver metadata.
- Parameters:
times (NDArray[float64])
states (NDArray[float64])
state_names (tuple[str, ...])
observations (tuple[EventSnapshot, ...])
metadata (ODESolverMetadata)
subject_id (Any)
sensitivities (NDArray[float64] | None)
sensitivity_parameters (tuple[str, ...])
- times: NDArray[float64]¶
- states: NDArray[float64]¶
- state_names: tuple[str, ...]¶
- observations: tuple[EventSnapshot, ...]¶
- metadata: ODESolverMetadata¶
- subject_id: Any¶
- sensitivities: NDArray[float64] | None¶
- sensitivity_parameters: tuple[str, ...]¶
- class pymixef.pharmacometrics.ODESolverMetadata(solver, scipy_version, rtol, atol, max_step, success, message, nfev, njev, nlu, segments, event_actions, source_events, generated_additional_doses, generated_infusion_stops, same_time_order, sensitivity_method=None, sensitivity_step=None)[source]¶
Bases:
objectNumerical and semantic metadata retained for every successful run.
- Parameters:
solver (str)
scipy_version (str)
rtol (float)
atol (tuple[float, ...])
max_step (float)
success (bool)
message (str)
nfev (int)
njev (int)
nlu (int)
segments (int)
event_actions (int)
source_events (int)
generated_additional_doses (int)
generated_infusion_stops (int)
same_time_order (tuple[str, ...])
sensitivity_method (str | None)
sensitivity_step (float | None)
- solver: str¶
- scipy_version: str¶
- rtol: float¶
- atol: tuple[float, ...]¶
- max_step: float¶
- success: bool¶
- message: str¶
- nfev: int¶
- njev: int¶
- nlu: int¶
- segments: int¶
- event_actions: int¶
- source_events: int¶
- generated_additional_doses: int¶
- generated_infusion_stops: int¶
- same_time_order: tuple[str, ...]¶
- sensitivity_method: str | None¶
- sensitivity_step: float | None¶
- class pymixef.pharmacometrics.ObjectiveComponents(total, observation, random_effect, predictions, variances)[source]¶
Bases:
objectConditional objective decomposition at one ETA value.
- Parameters:
total (float)
observation (float)
random_effect (float)
predictions (NDArray[float64])
variances (NDArray[float64])
- total: float¶
- observation: float¶
- random_effect: float¶
- predictions: NDArray[float64]¶
- variances: NDArray[float64]¶
- class pymixef.pharmacometrics.Observation(endpoint, mean, error, censored_below=None, censored_above=None, metadata=<factory>)[source]¶
Bases:
objectAn endpoint, prediction expression, and residual-error declaration.
- Parameters:
endpoint (str)
mean (Expr)
error (Any)
censored_below (str | float | None)
censored_above (str | float | None)
metadata (Mapping[str, Any])
- endpoint: str¶
- error: Any¶
- censored_below: str | float | None¶
- censored_above: str | float | None¶
- metadata: Mapping[str, Any]¶
- class pymixef.pharmacometrics.ObservationError(*args, **kwargs)[source]¶
Bases:
ProtocolProtocol implemented by residual-error declarations.
- class pymixef.pharmacometrics.OneCompartmentPK(clearance, volume)[source]¶
Bases:
objectReusable parameter bundle for one-compartment closed forms.
- Parameters:
clearance (float)
volume (float)
- clearance: float¶
- volume: float¶
- exception pymixef.pharmacometrics.PKValidationError[source]¶
Bases:
ValueErrorRaised when PK parameters are outside their mathematical domain.
- code = 'PK-INVALID-001'¶
- class pymixef.pharmacometrics.Param(name, init, constraint='real', lower=None, upper=None, unit=None, description=None)[source]¶
Bases:
_SymbolicA population parameter with an explicit natural-scale constraint.
- Parameters:
name (str)
init (float)
constraint (Literal['real', 'positive', 'bounded'])
lower (float | None)
upper (float | None)
unit (str | None)
description (str | None)
- name: str¶
- init: float¶
- constraint: Literal['real', 'positive', 'bounded']¶
- lower: float | None¶
- upper: float | None¶
- unit: str | None¶
- description: str | None¶
- classmethod bounded(name, *, init, lower, upper, unit=None, description=None)[source]¶
- Parameters:
name (str)
init (float)
lower (float)
upper (float)
unit (str | None)
description (str | None)
- Return type:
- classmethod positive(name, *, init, unit=None, description=None)[source]¶
- Parameters:
name (str)
init (float)
unit (str | None)
description (str | None)
- Return type:
- class pymixef.pharmacometrics.PowerError(sigma, power=1.0, variance_floor=np.float64(2.2250738585072014e-308))[source]¶
Bases:
_ErrorOperationsGaussian residual SD
sigma * abs(prediction) ** power.- Parameters:
sigma (float | int | floating | str | Any)
power (float | int | floating | str | Any)
variance_floor (float)
- sigma: float | int | floating | str | Any¶
- power: float | int | floating | str | Any¶
- variance_floor: float¶
- class pymixef.pharmacometrics.ProportionalError(sigma, variance_floor=np.float64(2.2250738585072014e-308))[source]¶
Bases:
_ErrorOperationsGaussian residual SD equal to
sigma * abs(prediction).- Parameters:
sigma (float | int | floating | str | Any)
variance_floor (float)
- sigma: float | int | floating | str | Any¶
- variance_floor: float¶
- class pymixef.pharmacometrics.SAEMControl(iterations=1000, burn_in=300, step_exponent=0.7, mcmc_steps=2, proposal_scale=0.2, seed=20260722, keep_latent_trace=False)[source]¶
Bases:
objectVersioned controls for the experimental SAEM kernel.
- Parameters:
iterations (int)
burn_in (int)
step_exponent (float)
mcmc_steps (int)
proposal_scale (float)
seed (int)
keep_latent_trace (bool)
- iterations: int¶
- burn_in: int¶
- step_exponent: float¶
- mcmc_steps: int¶
- proposal_scale: float¶
- seed: int¶
- keep_latent_trace: bool¶
- exception pymixef.pharmacometrics.SAEMError[source]¶
Bases:
EstimationErrorRaised when the experimental SAEM kernel encounters an invalid callback.
- code = 'SAEM-EXPERIMENTAL-FAILED-001'¶
- class pymixef.pharmacometrics.SAEMProblem(initial_parameters, initial_latent, log_joint, sufficient_statistics, m_step, parameter_names=())[source]¶
Bases:
objectModel-specific callbacks required by the experimental SAEM kernel.
log_joint(parameters, latent)must return the log of the target density up to a constant.sufficient_statistics(parameters, latent)returns a fixed-shape numeric vector/array.m_step(averaged_statistics, current_parameters)performs the exact model-specific maximization.- Parameters:
initial_parameters (NDArray[float64])
initial_latent (NDArray[float64])
log_joint (Callable[[NDArray[float64], NDArray[float64]], float])
sufficient_statistics (Callable[[NDArray[float64], NDArray[float64]], ArrayLike])
m_step (Callable[[NDArray[float64], NDArray[float64]], ArrayLike])
parameter_names (tuple[str, ...])
- initial_parameters: NDArray[float64]¶
- initial_latent: NDArray[float64]¶
- log_joint: Callable[[NDArray[float64], NDArray[float64]], float]¶
- sufficient_statistics: Callable[[NDArray[float64], NDArray[float64]], ArrayLike]¶
- m_step: Callable[[NDArray[float64], NDArray[float64]], ArrayLike]¶
- parameter_names: tuple[str, ...]¶
- class pymixef.pharmacometrics.SAEMResult(parameters, latent, sufficient_statistics, parameter_trace, latent_trace, step_sizes, acceptance_rate, accepted, proposals, seed, burn_in, step_exponent, experimental=True, reproducibility_class='stochastic-with-monte-carlo-error', warning_codes=('SAEM-EXPERIMENTAL-001',))[source]¶
Bases:
objectTrace and diagnostics from the explicitly experimental SAEM kernel.
- Parameters:
parameters (NDArray[float64])
latent (NDArray[float64])
sufficient_statistics (NDArray[float64])
parameter_trace (NDArray[float64])
latent_trace (NDArray[float64] | None)
step_sizes (NDArray[float64])
acceptance_rate (float)
accepted (int)
proposals (int)
seed (int)
burn_in (int)
step_exponent (float)
experimental (bool)
reproducibility_class (str)
warning_codes (tuple[str, ...])
- parameters: NDArray[float64]¶
- latent: NDArray[float64]¶
- sufficient_statistics: NDArray[float64]¶
- parameter_trace: NDArray[float64]¶
- latent_trace: NDArray[float64] | None¶
- step_sizes: NDArray[float64]¶
- acceptance_rate: float¶
- accepted: int¶
- proposals: int¶
- seed: int¶
- burn_in: int¶
- step_exponent: float¶
- experimental: bool¶
- reproducibility_class: str¶
- warning_codes: tuple[str, ...]¶
- class pymixef.pharmacometrics.SensitivityCheck(parameter_names, forward, central, maximum_scaled_difference, step)[source]¶
Bases:
objectFinite-difference sensitivity diagnostic.
- Parameters:
parameter_names (tuple[str, ...])
forward (NDArray[float64])
central (NDArray[float64] | None)
maximum_scaled_difference (float | None)
step (float)
- parameter_names: tuple[str, ...]¶
- forward: NDArray[float64]¶
- central: NDArray[float64] | None¶
- maximum_scaled_difference: float | None¶
- step: float¶
- class pymixef.pharmacometrics.State(name, unit=None, initial=0.0)[source]¶
Bases:
_SymbolicAn ODE state/compartment declaration.
- Parameters:
name (str)
unit (str | None)
initial (float)
- name: str¶
- unit: str | None¶
- initial: float¶
- class pymixef.pharmacometrics.Symbol(name, role='covariate', unit=None, reference=None)[source]¶
Bases:
_SymbolicA named covariate or external model input.
- Parameters:
name (str)
role (str)
unit (str | None)
reference (float | str | None)
- name: str¶
- role: str¶
- unit: str | None¶
- reference: float | str | None¶
- class pymixef.pharmacometrics.TwoCompartmentPK(clearance, central_volume, intercompartmental_clearance, peripheral_volume)[source]¶
Bases:
objectReusable parameter bundle for two-compartment closed forms.
- Parameters:
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
- clearance: float¶
- central_volume: float¶
- intercompartmental_clearance: float¶
- peripheral_volume: float¶
- class pymixef.pharmacometrics.TwoCompartmentRates(k10, k12, k21, alpha, beta)[source]¶
Bases:
objectMicro- and macro-rate constants for a linear two-compartment model.
- Parameters:
k10 (float)
k12 (float)
k21 (float)
alpha (float)
beta (float)
- k10: float¶
- k12: float¶
- k21: float¶
- alpha: float¶
- beta: float¶
- exception pymixef.pharmacometrics.UnsupportedEstimatorError(engine, *, compatible=())[source]¶
Bases:
EstimationErrorStable error for declared but not production-ready estimators.
- Parameters:
engine (str)
compatible (Sequence[str])
- Return type:
None
- code = 'ENGINE-UNSUPPORTED-001'¶
- exception pymixef.pharmacometrics.UnsupportedEventSemantics(message, *, time=None, subject_id=None, details=None)[source]¶
Bases:
ODESimulationErrorRaised rather than silently approximating unsupported event semantics.
- Parameters:
message (str)
time (float | None)
subject_id (Any)
details (Mapping[str, Any] | None)
- Return type:
None
- code = 'ODE-EVENT-UNSUPPORTED-001'¶
- class pymixef.pharmacometrics.ValidationMessage(code, severity, message)[source]¶
Bases:
objectOne coded severity and message emitted by dry-run model validation.
- Parameters:
code (str)
severity (Literal['error', 'warning', 'info'])
message (str)
- code: str¶
- severity: Literal['error', 'warning', 'info']¶
- message: str¶
- pymixef.pharmacometrics.additive(sigma)[source]¶
Declare an additive Gaussian error model.
- Parameters:
sigma (float | int | floating | str | Any)
- Return type:
- pymixef.pharmacometrics.apply_random_effects(typical_values, eta, *, names=None, relationships=None)[source]¶
Apply common random-effect relationships to typical values.
The default relationship is exponential,
individual = typical*exp(eta). Per-parameter alternatives areadditiveandlogit. The latter expects a typical value strictly between zero and one and addsetaon the logit scale.- Parameters:
typical_values (Mapping[str, float])
eta (Mapping[str, float] | ArrayLike)
names (Sequence[str] | None)
relationships (Mapping[str, str] | None)
- Return type:
Mapping[str, float]
- pymixef.pharmacometrics.as_expr(value)[source]¶
Convert declarations and numeric constants to an expression node.
- pymixef.pharmacometrics.canonicalize_events(records, *, covariate_columns=(), expand_additional=False, expand_infusions=False)[source]¶
Convenience wrapper around
EventTable.from_records().- Parameters:
records (Iterable[Mapping[str, Any]] | ndarray)
covariate_columns (Sequence[str])
expand_additional (bool)
expand_infusions (bool)
- Return type:
- pymixef.pharmacometrics.combined(additive_sigma, proportional_sigma, *, exponent=1.0)[source]¶
Declare an additive-plus-power residual-error model.
- Parameters:
additive_sigma (float | int | floating | str | Any)
proportional_sigma (float | int | floating | str | Any)
exponent (float | int | floating | str | Any)
- Return type:
- pymixef.pharmacometrics.compiled_model(name, *, parameters=(), etas=(), states=(), symbols=(), doses=(), equations=(), observations=(), validate=True)[source]¶
Build a data-only model directly, without executing a declaration function.
- Parameters:
name (str)
parameters (Sequence[Param])
etas (Sequence[Eta])
states (Sequence[State])
symbols (Sequence[Symbol])
doses (Sequence[Dose])
equations (Sequence[DifferentialEquation])
observations (Sequence[Observation])
validate (bool)
- Return type:
- pymixef.pharmacometrics.conditional_mode_objective(eta, *, observations, predict, omega, error, error_parameters=None, censored=None, lower_limits=None, include_constants=True)[source]¶
Functional interface to
ConditionalObjective.- Parameters:
eta (ArrayLike)
observations (ArrayLike)
predict (Callable[[NDArray[float64]], ArrayLike])
omega (ArrayLike)
error (ObservationError)
error_parameters (Mapping[str, float] | None)
censored (ArrayLike | None)
lower_limits (ArrayLike | None)
include_constants (bool)
- Return type:
float
- pymixef.pharmacometrics.covariate(name, *, unit=None, reference=None)[source]¶
Declare a covariate symbol.
- Parameters:
name (str)
unit (str | None)
reference (float | str | None)
- Return type:
- pymixef.pharmacometrics.d(state, expression)[source]¶
Short alias for
derivative().Python does not permit the illustrative syntax
d(state) = expression; PyMixEF therefore usesd(state, expression)orstate.derivative(expression).- Parameters:
- Return type:
- pymixef.pharmacometrics.derivative(state, expression)[source]¶
Declare a state derivative in the active model.
- Parameters:
- Return type:
- pymixef.pharmacometrics.eta_shrinkage(eta_estimates, omega)[source]¶
Variance-based ETA shrinkage
1 - Var(eta_hat)/diag(Omega).The result is diagnostic and is not clipped; negative values reveal empirical ETA variance greater than the modeled population variance.
- Parameters:
eta_estimates (ArrayLike)
omega (ArrayLike)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.exp(value)[source]¶
Build a symbolic exponential expression without evaluating
value.
- pymixef.pharmacometrics.experimental_saem(problem, control=None)[source]¶
Run the callback-based experimental SAEM algorithm.
At iteration
kthe stochastic-approximation step is 1 during burn-in and(k - burn_in) ** (-step_exponent)afterward. The latent simulation is a symmetric random-walk Metropolis kernel, making its acceptance ratio explicit and auditable.- Parameters:
problem (SAEMProblem)
control (SAEMControl | None)
- Return type:
- pymixef.pharmacometrics.find_conditional_mode(objective, initial_eta=None, *, method='BFGS', tolerance=1e-8, max_iterations=500, require_success=False)[source]¶
Optimize a subject ETA mode and independently inspect its Hessian.
- Parameters:
objective (ConditionalObjective)
initial_eta (ArrayLike | None)
method (str)
tolerance (float)
max_iterations (int)
require_success (bool)
- Return type:
- pymixef.pharmacometrics.finite_difference_gradient(function, point, *, relative_step=np.cbrt(np.finfo(float).eps))[source]¶
Central finite-difference gradient for derivative verification.
- Parameters:
function (Callable[[NDArray[float64]], float])
point (ArrayLike)
relative_step (float)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.finite_difference_hessian(function, point, *, relative_step=np.finfo(float).eps**0.25)[source]¶
Symmetric finite-difference Hessian for small conditional-mode problems.
- Parameters:
function (Callable[[NDArray[float64]], float])
point (ArrayLike)
relative_step (float)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.finite_difference_sensitivities(rhs, initial_state, events, *, parameters, parameter_names=None, step=np.cbrt(np.finfo(float).eps), compare_central=False, **simulation_options)[source]¶
Compute forward sensitivities and optionally compare central differences.
This is a validation/debug path, not an automatic-differentiation claim. Event times are held fixed while parameter values are perturbed.
- Parameters:
rhs (Callable[[...], ArrayLike])
initial_state (ArrayLike)
events (EventTable | Iterable[Mapping[str, Any]] | None)
parameters (Mapping[str, float])
parameter_names (Sequence[str] | None)
step (float)
compare_central (bool)
simulation_options (Any)
- Return type:
- pymixef.pharmacometrics.fit_focei(*args, **kwargs)[source]¶
Refuse a production FOCEI claim until the complete engine is validated.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
None
- pymixef.pharmacometrics.interval_censored_loglikelihood(lower, upper, prediction, error, *, parameters=None)[source]¶
Stable log probability for an interval-censored observation.
- Parameters:
lower (ArrayLike)
upper (ArrayLike)
prediction (ArrayLike)
error (ObservationError)
parameters (Mapping[str, float] | None)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.laplace_population_objective(subject_objectives, *, initial_etas=None, require_modes=True, **mode_options)[source]¶
Evaluate Laplace-integrated subject objectives.
This is a FOCEI-ready outer-objective component. It does not optimize or transform population parameters and is therefore not exposed as a complete FOCEI fit.
- Parameters:
subject_objectives (Sequence[ConditionalObjective])
initial_etas (Sequence[ArrayLike] | None)
require_modes (bool)
mode_options (Any)
- Return type:
- pymixef.pharmacometrics.left_censored_loglikelihood(limit, prediction, error, *, parameters=None)[source]¶
Stable log-CDF contribution for observations below
limit.- Parameters:
limit (ArrayLike)
prediction (ArrayLike)
error (ObservationError)
parameters (Mapping[str, float] | None)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.log(value)[source]¶
Build a symbolic natural-log expression without checking its domain.
- pymixef.pharmacometrics.log1p(value)[source]¶
Build a symbolic
log(1 + value)expression without evaluating it.
- pymixef.pharmacometrics.lognormal(sigma)[source]¶
Declare an original-scale log-normal error model.
- Parameters:
sigma (float | int | floating | str | Any)
- Return type:
- pymixef.pharmacometrics.model(function=None, /, *, name=None)[source]¶
Decorate a Python function as a lazy model declaration.
- Parameters:
function (Callable[[...], Any] | None)
name (str | None)
- Return type:
ModelDefinition | Callable[[Callable[[…], Any]], ModelDefinition]
- pymixef.pharmacometrics.observe(endpoint, *, mean, error, censored_below=None, censored_above=None, metadata=None)[source]¶
Declare an observation endpoint in the active model.
- Parameters:
endpoint (str)
mean (Expr | _Symbolic | int | float | number)
error (Any)
censored_below (str | float | None)
censored_above (str | float | None)
metadata (Mapping[str, Any] | None)
- Return type:
- pymixef.pharmacometrics.omega_from_standard_deviations(standard_deviations, correlation=None)[source]¶
Construct a positive-definite random-effects covariance matrix.
- Parameters:
standard_deviations (ArrayLike)
correlation (ArrayLike | None)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.one_compartment_bolus(time, *, dose, clearance, volume, bioavailability=1.0, lag=0.0)¶
Concentration after a single IV bolus in a one-compartment model.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
volume (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.one_compartment_infusion(time, *, clearance, volume, dose=None, rate=None, duration=None, bioavailability=1.0, start=0.0)[source]¶
Concentration for a finite constant-rate one-compartment infusion.
Supply any two consistent values among
dose,rate, andduration. If all three are supplied,dose == rate * durationis checked.- Parameters:
time (ArrayLike)
clearance (float)
volume (float)
dose (float | None)
rate (float | None)
duration (float | None)
bioavailability (float)
start (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.one_compartment_iv_bolus(time, *, dose, clearance, volume, bioavailability=1.0, lag=0.0)[source]¶
Concentration after a single IV bolus in a one-compartment model.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
volume (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.one_compartment_iv_infusion(time, *, clearance, volume, dose=None, rate=None, duration=None, bioavailability=1.0, start=0.0)¶
Concentration for a finite constant-rate one-compartment infusion.
Supply any two consistent values among
dose,rate, andduration. If all three are supplied,dose == rate * durationis checked.- Parameters:
time (ArrayLike)
clearance (float)
volume (float)
dose (float | None)
rate (float | None)
duration (float | None)
bioavailability (float)
start (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.one_compartment_oral(time, *, dose, clearance, volume, absorption_rate, bioavailability=1.0, lag=0.0)[source]¶
Concentration after a first-order oral dose.
The numerically stable limiting expression is used when absorption and elimination rate constants are nearly equal.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
volume (float)
absorption_rate (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.power(sigma, exponent)[source]¶
Declare a power residual-error model.
- Parameters:
sigma (float | int | floating | str | Any)
exponent (float | int | floating | str | Any)
- Return type:
- pymixef.pharmacometrics.proportional(sigma)[source]¶
Declare a proportional Gaussian error model.
- Parameters:
sigma (float | int | floating | str | Any)
- Return type:
- pymixef.pharmacometrics.right_censored_loglikelihood(limit, prediction, error, *, parameters=None)[source]¶
Stable log-survival contribution for observations above
limit.- Parameters:
limit (ArrayLike)
prediction (ArrayLike)
error (ObservationError)
parameters (Mapping[str, float] | None)
- Return type:
NDArray[float64]
- pymixef.pharmacometrics.saem(problem, control=None)¶
Run the callback-based experimental SAEM algorithm.
At iteration
kthe stochastic-approximation step is 1 during burn-in and(k - burn_in) ** (-step_exponent)afterward. The latent simulation is a symmetric random-walk Metropolis kernel, making its acceptance ratio explicit and auditable.- Parameters:
problem (SAEMProblem)
control (SAEMControl | None)
- Return type:
- pymixef.pharmacometrics.simulate_ode(rhs, initial_state, events=None, *, t_eval=None, parameters=None, initial_covariates=None, covariate_columns=(), state_names=None, compartment_map=None, subject_id=None, initial_time=0.0, final_time=None, method='RK45', rtol=1e-8, atol=1e-10, max_step=np.inf, sensitivity_parameters=None, sensitivity_step=np.sqrt(np.finfo(float).eps), debug_finite_difference=False)[source]¶
Simulate one subject with exact event-time discontinuities.
Supported RHS signatures are
rhs(t, y),rhs(t, y, context)andrhs(t, y, parameters, covariates). For the three-argument form,contextis anODEContext. Infusion rates are always added to the returned state derivatives by the event manager.Forward finite-difference sensitivities can be requested by parameter name. Set
debug_finite_difference=Trueto compute all numeric parameter sensitivities when no explicit list is supplied.- Parameters:
rhs (Callable[[...], ArrayLike])
initial_state (ArrayLike)
events (EventTable | Iterable[Mapping[str, Any]] | None)
t_eval (ArrayLike | None)
parameters (Mapping[str, float] | None)
initial_covariates (Mapping[str, Any] | None)
covariate_columns (Sequence[str])
state_names (Sequence[str] | None)
compartment_map (Mapping[int | str, int | str] | None)
subject_id (Any)
initial_time (float)
final_time (float | None)
method (str)
rtol (float)
atol (float | ArrayLike)
max_step (float)
sensitivity_parameters (Sequence[str] | None)
sensitivity_step (float)
debug_finite_difference (bool)
- Return type:
- pymixef.pharmacometrics.simulate_subjects(rhs, initial_state, events, **options)[source]¶
Deterministically simulate every subject in an event table.
- Parameters:
rhs (Callable[[...], ArrayLike])
initial_state (ArrayLike)
events (EventTable | Iterable[Mapping[str, Any]])
options (Any)
- Return type:
Mapping[Any, ODESimulationResult]
- pymixef.pharmacometrics.sqrt(value)[source]¶
Build a symbolic square-root expression without checking its domain.
- pymixef.pharmacometrics.symbol(name, *, role='covariate', unit=None, reference=None)[source]¶
Declare a typed covariate or other external model input.
- Parameters:
name (str)
role (str)
unit (str | None)
reference (float | str | None)
- Return type:
- pymixef.pharmacometrics.two_compartment_bolus(time, *, dose, clearance, central_volume, intercompartmental_clearance, peripheral_volume, bioavailability=1.0, lag=0.0)¶
Central concentration after a single two-compartment IV bolus.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.two_compartment_infusion(time, *, clearance, central_volume, intercompartmental_clearance, peripheral_volume, dose=None, rate=None, duration=None, bioavailability=1.0, start=0.0)[source]¶
Central concentration during and after a finite two-compartment infusion.
- Parameters:
time (ArrayLike)
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
dose (float | None)
rate (float | None)
duration (float | None)
bioavailability (float)
start (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.two_compartment_iv_bolus(time, *, dose, clearance, central_volume, intercompartmental_clearance, peripheral_volume, bioavailability=1.0, lag=0.0)[source]¶
Central concentration after a single two-compartment IV bolus.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.two_compartment_iv_infusion(time, *, clearance, central_volume, intercompartmental_clearance, peripheral_volume, dose=None, rate=None, duration=None, bioavailability=1.0, start=0.0)¶
Central concentration during and after a finite two-compartment infusion.
- Parameters:
time (ArrayLike)
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
dose (float | None)
rate (float | None)
duration (float | None)
bioavailability (float)
start (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.two_compartment_oral(time, *, dose, clearance, central_volume, intercompartmental_clearance, peripheral_volume, absorption_rate, bioavailability=1.0, lag=0.0)[source]¶
Central concentration after first-order absorption into two compartments.
- Parameters:
time (ArrayLike)
dose (float)
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
absorption_rate (float)
bioavailability (float)
lag (float)
- Return type:
float | NDArray[float64]
- pymixef.pharmacometrics.two_compartment_rates(*, clearance, central_volume, intercompartmental_clearance, peripheral_volume)[source]¶
Calculate microconstants and hybrid exponents
alphaandbeta.- Parameters:
clearance (float)
central_volume (float)
intercompartmental_clearance (float)
peripheral_volume (float)
- Return type:
Submodules¶
- pymixef.pharmacometrics.dsl module
CompiledModelCompiledModel.nameCompiledModel.parametersCompiledModel.etasCompiledModel.statesCompiledModel.symbolsCompiledModel.dosesCompiledModel.equationsCompiledModel.observationsCompiledModel.schema_versionCompiledModel.authoring_modeCompiledModel.to_ir()CompiledModel.validate()CompiledModel.explain()CompiledModel.to_dict()
DSLValidationErrorDifferentialEquationDoseEtaExprModelDefinitionModelValidationObservationParamStateSymbolValidationMessageas_expr()compiled_model()covariate()d()derivative()exp()log()log1p()model()observe()sqrt()symbol()
- pymixef.pharmacometrics.estimation module
ConditionalModeErrorConditionalModeResultConditionalModeResult.etaConditionalModeResult.objectiveConditionalModeResult.observation_objectiveConditionalModeResult.random_effect_objectiveConditionalModeResult.gradientConditionalModeResult.hessianConditionalModeResult.covarianceConditionalModeResult.successConditionalModeResult.messageConditionalModeResult.iterationsConditionalModeResult.function_evaluationsConditionalModeResult.gradient_normConditionalModeResult.hessian_positive_definiteConditionalModeResult.warning_codes
ConditionalObjectiveConditionalObjective.observationsConditionalObjective.predictConditionalObjective.omegaConditionalObjective.errorConditionalObjective.error_parametersConditionalObjective.censoredConditionalObjective.lower_limitsConditionalObjective.include_constantsConditionalObjective.eta_dimensionConditionalObjective.components()
EstimationErrorLaplacePopulationResultObjectiveComponentsSAEMControlSAEMErrorSAEMProblemSAEMResultSAEMResult.parametersSAEMResult.latentSAEMResult.sufficient_statisticsSAEMResult.parameter_traceSAEMResult.latent_traceSAEMResult.step_sizesSAEMResult.acceptance_rateSAEMResult.acceptedSAEMResult.proposalsSAEMResult.seedSAEMResult.burn_inSAEMResult.step_exponentSAEMResult.experimentalSAEMResult.reproducibility_classSAEMResult.warning_codesSAEMResult.to_dict()
UnsupportedEstimatorErrorapply_random_effects()conditional_mode_objective()eta_shrinkage()experimental_saem()find_conditional_mode()finite_difference_gradient()finite_difference_hessian()fit_focei()laplace_population_objective()omega_from_standard_deviations()saem()
- pymixef.pharmacometrics.events module
AuditEntryCanonicalEventCanonicalEvent.subject_idCanonicalEvent.timeCanonicalEvent.evidCanonicalEvent.amountCanonicalEvent.amount_statusCanonicalEvent.rateCanonicalEvent.durationCanonicalEvent.compartmentCanonicalEvent.additionalCanonicalEvent.intervalCanonicalEvent.steady_stateCanonicalEvent.mdvCanonicalEvent.dvCanonicalEvent.lloqCanonicalEvent.occasionCanonicalEvent.bioavailabilityCanonicalEvent.lagCanonicalEvent.covariatesCanonicalEvent.extrasCanonicalEvent.row_idCanonicalEvent.source_row_idCanonicalEvent.source_positionCanonicalEvent.generatedCanonicalEvent.generationCanonicalEvent.is_observationCanonicalEvent.is_doseCanonicalEvent.is_resetCanonicalEvent.is_infusionCanonicalEvent.effective_rateCanonicalEvent.effective_amountCanonicalEvent.infusion_durationCanonicalEvent.kindCanonicalEvent.idCanonicalEvent.event_typeCanonicalEvent.amtCanonicalEvent.cmtCanonicalEvent.addlCanonicalEvent.iiCanonicalEvent.ssCanonicalEvent.IDCanonicalEvent.TIMECanonicalEvent.EVIDCanonicalEvent.AMTCanonicalEvent.RATECanonicalEvent.DURCanonicalEvent.CMTCanonicalEvent.ADDLCanonicalEvent.IICanonicalEvent.SSCanonicalEvent.MDVCanonicalEvent.DVCanonicalEvent.LLOQCanonicalEvent.to_record()
DoseAmountStatusEventTableEventTypeEventValidationErrorcanonicalize_events()
- pymixef.pharmacometrics.ode module
EventSnapshotODEContextODESimulationErrorODESimulationResultODESimulationResult.timesODESimulationResult.statesODESimulationResult.state_namesODESimulationResult.observationsODESimulationResult.metadataODESimulationResult.subject_idODESimulationResult.sensitivitiesODESimulationResult.sensitivity_parametersODESimulationResult.state()ODESimulationResult.sensitivity()
ODESolverMetadataODESolverMetadata.solverODESolverMetadata.scipy_versionODESolverMetadata.rtolODESolverMetadata.atolODESolverMetadata.max_stepODESolverMetadata.successODESolverMetadata.messageODESolverMetadata.nfevODESolverMetadata.njevODESolverMetadata.nluODESolverMetadata.segmentsODESolverMetadata.event_actionsODESolverMetadata.source_eventsODESolverMetadata.generated_additional_dosesODESolverMetadata.generated_infusion_stopsODESolverMetadata.same_time_orderODESolverMetadata.sensitivity_methodODESolverMetadata.sensitivity_stepODESolverMetadata.to_dict()
SensitivityCheckUnsupportedEventSemanticsfinite_difference_sensitivities()simulate_ode()simulate_subjects()
- pymixef.pharmacometrics.pk module
AdditiveErrorCombinedErrorLogNormalErrorObservationErrorOneCompartmentPKPKValidationErrorPowerErrorProportionalErrorTwoCompartmentPKTwoCompartmentRatesadditive()combined()interval_censored_loglikelihood()left_censored_loglikelihood()lognormal()one_compartment_bolus()one_compartment_infusion()one_compartment_iv_bolus()one_compartment_iv_infusion()one_compartment_oral()power()proportional()right_censored_loglikelihood()two_compartment_bolus()two_compartment_infusion()two_compartment_iv_bolus()two_compartment_iv_infusion()two_compartment_oral()two_compartment_rates()