[LONGITUDINAL]: Writing the structural and observation models Smlx
Description
The [LONGITUDINAL] section is mandatory for all Mlxtran models and is used in Simulx to describe:
the structural model,
the observation model for discrete and time-to-event data,
the error model for continuous observations.
The [LONGITUDINAL] section is itself divided into blocks, which allows to define different types of variables in different ways. Here are the possible blocks and variable lists in that section:
DESCRIPTION: (optional): block to put comments on the model
input (mandatory): list of input parameters
PK: (optional): block were macros can be used and combined to define compartments and transfers between them
EQUATION: (optional): block were ODEs and DDEs can be defined, as well as mathematical expressions (e.g parameter transformations)
DEFINITION: (optional): block to define random variables (discrete or continuous) which represent observations, via their probability distribution: error model, probability distribution for count/categorical output and hazard for time-to-event output
OUTPUT: (mandatory): block indicating the output of the model
output (mandatory): list of output parameters included in the OUTPUT block.
In all blocks, it is possible to use:
Reserved keywords of the Mlxtran language cannot be used as names for other parameters. Mlxtran is a declarative language, not an imperative language. Therefore equations are mathematical definitions rather than a series of instructions.
Inputs
In Simulx, the input = { } list of the [LONGITUDINAL] section declares the individual parameters and the regressors, as well as the error model parameters (while this is done automatically via the GUI in Monolix).
[LONGITUDINAL]
input = {ka, V, Cl, a, b}
For regressors, the regressor status must be specified using the following syntax, for instance for two regressors called regvar1
and regvar2
. One line per regressor is necessary.
[LONGITUDINAL]
input = {..., regvar1, regvar2}
regvar1 = {use=regressor}
regvar2 = {use=regressor}
In Simulx, the variables appearing in the input={} list are recognized differently depending on other blocks. The inputs of [LONGITUDINAL] specified as regressors will be recognized as such and appear in the regressor element in Simulx GUI. Inputs of [LONGITUDINAL] which have been defined in the DEFINITION block of the [INDIVIDUAL] section will be recognized as individual parameters. All others (in particular error model parameters) will be recognized as population parameters in Simulx.
Example:
In this example, in addition to the individual parameters ka, V, Cl, Emax and EC50 and the regressor E0, population error model parameters a and b are also defined.
[LONGITUDINAL]
input = {ka, V, Cl, E0, Emax, EC50, a, b}
E0 = {use = regressor}
Outputs
In Simulx, variables listed in table={}
or output={}
will have an output element generated automatically. It is also possible to request any model variable as output in Simulx, no matter if it has been declared in the OUTPUT section or not.
Example:
OUTPUT:
output = {Conc, Effect}
table = {Ap, T12}
Library of models and examples
The MonolixSuite contains libraries of pre-written structural models which can be directly selected via the GUI in Simulx:
PK: typical pharmacokinetics models with several types of administrations and 1 to 3 compartments
PK/PD: joint PK/PD model with direct effect, effect compartment or turnover
TMDD: target mediated drug disposition models
Parent-Metabolite models
TTE: time-to-event models
Count: models for count data
TGI: tumor growth and tumor growth inhibition models
Examples of common models which are not (yet) in the libraries are also given here: Advanced models