METHOD_OPTIONS
Type: dict_record
method options for mtut_script
Example:-
METHOD_OPTIONS:
py_module: mtut
rand_seed: 12345
float_format: default
py_module
Type: one_of(mtut)
Python module required to process this script file
Example:-
py_module: mtut
rand_seed
Option to set seed to make run result reproducible -e.g. when debugging.
Example:-
rand_seed: 12345
float_format
Type: str
Format string for numerical output
Example:-
float_format: default
PARALLEL
Type: one_of_record
one of many possible servers
Example:-
PARALLEL:
SINGLE: {progress_bar_length: 0}
SINGLE
Type: dict_record
single process server spec.
Example:-
SINGLE:
progress_bar_length: 0
progress_bar_length
Type: int
Length of progress bar on screen (default=0, off)
Example:-
progress_bar_length: 0
MPI_WORKERS
Type: dict_record
MPI local server spec.
Example:-
MPI_WORKERS:
n_workers: auto
cpu_load: 1.0
progress_bar_length: 0
n_workers
Number of workers to use on this machine, defaults to number of processors, but could be more or fewer.
Example:-
n_workers: auto
cpu_load
Type: float
Desired load on CPU as a decimal greater than 0.0 (0%) and less than or equal to 1.0 (100%)
Example:-
cpu_load: 1.0
progress_bar_length
Type: int
Length of progress bar on screen (default=0, off)
Example:-
progress_bar_length: 0
DESCRIPTION
Type: dict_record
Description fields for script.
Example:-
DESCRIPTION:
name: my_pkpd_model
title: My PKPD model
author: My Name
abstract: |
Abstract describing the model
keywords: ['pkpd']
name
Type: str
Unique name used to distinguish script
Example:-
name: my_pkpd_model
title
Type: str
A longer text string that could serve as a title
Example:-
title: My PKPD model
abstract
Type: verbatim
Abstract paragraph describing model
Example:-
abstract: |
Abstract describing the model
keywords
Type: list
Keywords list used to categorise models.
Example:-
keywords: ['pkpd']
FILE_PATHS
Type: dict_record
file paths
Example:-
FILE_PATHS:
output_folder: auto
log_folder: auto
output_file_ext: ['svg']
delete_old_files_flag: False
output_iteration_results: True
output_folder
Type: output_folder / auto
Output folder - results of computation stored here
Example:-
output_folder: auto
log_folder
Type: output_folder / auto
Log folder - log files stored here
Example:-
log_folder: auto
output_file_ext
Type: list_of(pdf,png,svg)
Output file extension - determines graphical output file format.
Example:-
output_file_ext: ['svg']
delete_old_files_flag
Type: bool
Option to delete any existing files before running.
Example:-
delete_old_files_flag: False
output_iteration_results
Type: bool
Option to output iteration-by-iteration values.
Example:-
output_iteration_results: True
DATA_FIELDS
Type: dict_record
data fields for popy.dat.fields object
Example:-
DATA_FIELDS:
type_field: TYPE
id_field: ID
time_field: TIME
type_field
Type: str
Field name in data file that contains row type info, e.g. obs/dose etc
Example:-
type_field: TYPE
id_field
Type: str
Field name in data file that contains identity string for each data row e.g. obs/dose etc
Example:-
id_field: ID
time_field
Type: str
Field name in data file that contains time or event for each data row
Example:-
time_field: TIME
GEN_EFFECTS
Type: repeat_verb_record
GEN_EFFECT params to define hierarchical population model
Example:-
GEN_EFFECTS:
POP: |
c[AMT] = 100.0
f[KA] = 0.2
f[CL] = 2.0
f[V1] = 50
f[Q] = 1.0
f[V2] = 80
f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv] = [
[0.1],
[0.01, 0.03],
[0.01, -0.01, 0.09],
[0.01, 0.02, 0.01, 0.07],
[0.01, 0.02, 0.01, 0.01, 0.05],
]
f[PNOISE] = 0.15
ID: |
c[ID] = sequential(50)
t[DOSE] = 2.0
t[OBS] ~ unif(1.0, 50.0; 5)
# t[OBS] = range(1.0, 50.0; 5)
r[KA, CL, V1, Q, V2] ~ mnorm([0,0,0,0,0], f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv])
FIT_EFFECTS
Type: repeat_verb_record
FIT_EFFECT params to define hierarchical population model
Example:-
FIT_EFFECTS:
POP: |
f[KA] ~ P1.0
f[CL] ~ P1.0
f[V1] ~ P20
f[Q] ~ P0.5
f[V2] ~ P100
f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv] ~ spd_matrix() [
[0.05],
[0.01, 0.05],
[0.01, 0.01, 0.05],
[0.01, 0.01, 0.01, 0.05],
[0.01, 0.01, 0.01, 0.01, 0.05],
]
f[PNOISE] ~ P0.1
ID: |
r[KA, CL, V1, Q, V2] ~ mnorm([0,0,0,0,0], f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv])
PREPROCESS
Type: verbatim
Code that preprocesses the input data. Use this to filter rows and create derived covariates.
Example:-
PREPROCESS: |
MODEL_PARAMS
Type: verbatim
Defines the mapping from c[X], f[X] and r[X] variables to individual model m[X] parameters.
Example:-
MODEL_PARAMS: |
m[KA] = f[KA] * exp(r[KA])
m[CL] = f[CL] * exp(r[CL])
m[V1] = f[V1] * exp(r[V1])
m[Q] = f[Q] * exp(r[Q])
m[V2] = f[V2] * exp(r[V2])
m[ANOISE] = 0.001
m[PNOISE] = f[PNOISE]
STATES
Type: verbatim
Optional section for setting initial values of s[X] variables can also set slabel[X] text labels.
Example:-
STATES: |
DERIVATIVES
Type: verbatim
Define how the covariates and effects determine flows between compartments.
Example:-
DERIVATIVES: |
# s[DEPOT,CENTRAL,PERI] = @dep_two_cmp_cl{dose:@bolus{amt: c[AMT]}}
d[DEPOT] = @bolus{amt: c[AMT]} - m[KA]*s[DEPOT]
d[CENTRAL] = m[KA]*s[DEPOT] - s[CENTRAL]*m[CL]/m[V1] - s[CENTRAL]*m[Q]/m[V1] + s[PERI]*m[Q]/m[V2]
d[PERI] = s[CENTRAL]*m[Q]/m[V1] - s[PERI]*m[Q]/m[V2]
PREDICTIONS
Type: verbatim
Define the final predicted m[X] variables to be output by the compartment model system.
Example:-
PREDICTIONS: |
p[DV_CENTRAL] = s[CENTRAL]/m[V1]
plabel[DV_CENTRAL] = 'Drug conc. (units)'
var = m[ANOISE]**2 + m[PNOISE]**2 * p[DV_CENTRAL]**2
c[DV_CENTRAL] ~ norm(p[DV_CENTRAL], var)
ODE_SOLVER
Type: one_of_record
one of many possible solvers
Example:-
ODE_SOLVER:
CPPLSODA:
atol: 1e-06
rtol: 1e-06
max_nsteps: 10000000
use_supersections: True
use_sens: True
hmin: 0.0
NO_SOLVER
Type: dict_record
Null method for blank derivatives.
Example:-
NO_SOLVER: {}
ANALYTIC
Type: dict_record
Analytic method for solving ODE
Example:-
ANALYTIC:
use_supersections: auto
use_sens: True
use_supersections
Option to combine sections into supersections, which can make PoPy run faster, however with discontinuous ODE params you may need to turn this off (closer to nonmem approach).
Example:-
use_supersections: auto
use_sens
Type: bool
Option to use sensitivity equations in ode solver.
Example:-
use_sens: True
SCIPY_ODEINT
Type: dict_record
odeint solver record
Example:-
SCIPY_ODEINT:
atol: 1e-06
rtol: 1e-06
max_nsteps: 10000000
use_supersections: auto
use_jacobian: False
use_sens: True
use_tcrit: False
atol
Type: float
Absolute tolerance of ode solver.
Example:-
atol: 1e-06
rtol
Type: float
Relative tolerance of ode solver.
Example:-
rtol: 1e-06
max_nsteps
Type: int
Maximum number of steps allowed in ode solver.
Example:-
max_nsteps: 10000000
use_supersections
Option to combine sections into supersections, which can make PoPy run faster, however with discontinuous ODE params you may need to turn this off (closer to nonmem approach).
Example:-
use_supersections: auto
use_jacobian
Type: bool
Option to use jacobian in ode solver.
Example:-
use_jacobian: False
use_sens
Type: bool
Option to use sensitivity equations in ode solver.
Example:-
use_sens: True
use_tcrit
Type: bool
Option to set lsoda tcrit to start and end of subsection. Note this is an experimental option.
Example:-
use_tcrit: False
CPPLSODA
Type: dict_record
C++ version of original cvode c library.
Example:-
CPPLSODA:
atol: 1e-06
rtol: 1e-06
max_nsteps: 10000000
use_supersections: auto
use_sens: True
hmin: 1e-12
atol
Type: float
Absolute tolerance of ode solver.
Example:-
atol: 1e-06
rtol
Type: float
Relative tolerance of ode solver.
Example:-
rtol: 1e-06
max_nsteps
Type: int
Maximum number of steps allowed in ode solver.
Example:-
max_nsteps: 10000000
use_supersections
Option to combine sections into supersections, which can make PoPy run faster, however with discontinuous ODE params you may need to turn this off (closer to nonmem approach).
Example:-
use_supersections: auto
use_sens
Type: bool
Option to use sensitivity equations in ode solver.
Example:-
use_sens: True
hmin
Type: float
Minimum step size of ode solver.
Example:-
hmin: 1e-12
FIT_METHODS
Type: list_record
one of many possible fitters
Example:-
FIT_METHODS:
- JOE:
ODE_SOLVER: {INHERIT: {}}
output_timing_flag: False
output_warning_detail_flag: True
max_n_main_iterations: 30
CONVERGER: {OBJ_INC: {}}
use_laplacian: False
use_chain: True
use_lm_jac: True
lm_method: lm
reset_re_flag: True
JOE
Type: dict_record
Joint Optimisation and Estimation method
Example:-
JOE:
ODE_SOLVER: {INHERIT: {}}
output_timing_flag: False
output_warning_detail_flag: True
max_n_main_iterations: 50
CONVERGER: {OBJ_INC: {}}
use_laplacian: False
use_chain: True
use_lm_jac: True
lm_method: lm
reset_re_flag: True
output_timing_flag
Type: bool
Option to output timing info.
Example:-
output_timing_flag: False
output_warning_detail_flag
Type: bool
Option to output warning detail.
Example:-
output_warning_detail_flag: True
max_n_main_iterations
Type: int
Maximum number of iterations
Example:-
max_n_main_iterations: 50
CONVERGER
Type: one_of_record
Convergence methods.
Example:-
CONVERGER:
OBJ_INC: {}
NONE
Type: dict_record
No convergence testing.
Example:-
NONE: {}
OBJ_INC
Type: dict_record
Objective function increase converger.
Example:-
OBJ_INC: {}
OBJ_SIM
Type: dict_record
Objective function similar converger.
Example:-
OBJ_SIM: {}
use_laplacian
Type: bool
Option to use full laplacian to compute hessian in objective function term4, this is much slower than using the expectation of the outer product of the jacobian
Example:-
use_laplacian: False
use_chain
Type: bool
Option to use chain rule when computing derivatives.
Example:-
use_chain: True
use_lm_jac
Type: bool
Option to use custom jacobian when optimising r[X] using L-M.
Example:-
use_lm_jac: True
lm_method
Type: one_of(lm,trf,dogbox)
Option to use either lm/trf/dogbox in scipy leastsq to optimise r[X]
Example:-
lm_method: lm
reset_re_flag
Type: bool
Reset r[X]=0.0 before each r[X] optimisation
Example:-
reset_re_flag: True
ND
Type: dict_record
None Derivative Optimisation method
Example:-
ND:
ODE_SOLVER: {INHERIT: {}}
output_timing_flag: False
output_warning_detail_flag: True
max_n_main_iterations: 50
CONVERGER: {OBJ_INC: {}}
use_laplacian: False
use_chain: True
use_lm_jac: True
lm_method: lm
reset_re_flag: True
central_diff_switch_flag: True
qa_imp_delta: 0.001
var_fx_bobyqa_opt_flag: True
output_timing_flag
Type: bool
Option to output timing info.
Example:-
output_timing_flag: False
output_warning_detail_flag
Type: bool
Option to output warning detail.
Example:-
output_warning_detail_flag: True
max_n_main_iterations
Type: int
Maximum number of iterations
Example:-
max_n_main_iterations: 50
CONVERGER
Type: one_of_record
Convergence methods.
Example:-
CONVERGER:
OBJ_INC: {}
NONE
Type: dict_record
No convergence testing.
Example:-
NONE: {}
OBJ_INC
Type: dict_record
Objective function increase converger.
Example:-
OBJ_INC: {}
OBJ_SIM
Type: dict_record
Objective function similar converger.
Example:-
OBJ_SIM: {}
use_laplacian
Type: bool
Option to use full laplacian to compute hessian in objective function term4, this is much slower than using the expectation of the outer product of the jacobian
Example:-
use_laplacian: False
use_chain
Type: bool
Option to use chain rule when computing derivatives.
Example:-
use_chain: True
use_lm_jac
Type: bool
Option to use custom jacobian when optimising r[X] using L-M.
Example:-
use_lm_jac: True
lm_method
Type: one_of(lm,trf,dogbox)
Option to use either lm/trf/dogbox in scipy leastsq to optimise r[X]
Example:-
lm_method: lm
reset_re_flag
Type: bool
Reset r[X]=0.0 before each r[X] optimisation
Example:-
reset_re_flag: True
central_diff_switch_flag
Type: bool
Allow switch to central differences, instead of forward diff
Example:-
central_diff_switch_flag: True
qa_imp_delta
Type: float
Threshold on improvement to stop quadratic approximation search.
Example:-
qa_imp_delta: 0.001
var_fx_bobyqa_opt_flag
Type: bool
Option to include var f[X] in BOBYQA optimisation
Example:-
var_fx_bobyqa_opt_flag: True
FOCE
Type: dict_record
First order conditional estimation method
Example:-
FOCE:
ODE_SOLVER: {INHERIT: {}}
output_timing_flag: False
output_warning_detail_flag: True
max_n_main_iterations: 50
CONVERGER: {OBJ_INC: {}}
use_laplacian: False
use_chain: True
use_lm_jac: True
lm_method: lm
reset_re_flag: True
central_diff_switch_flag: True
output_timing_flag
Type: bool
Option to output timing info.
Example:-
output_timing_flag: False
output_warning_detail_flag
Type: bool
Option to output warning detail.
Example:-
output_warning_detail_flag: True
max_n_main_iterations
Type: int
Maximum number of iterations
Example:-
max_n_main_iterations: 50
CONVERGER
Type: one_of_record
Convergence methods.
Example:-
CONVERGER:
OBJ_INC: {}
NONE
Type: dict_record
No convergence testing.
Example:-
NONE: {}
OBJ_INC
Type: dict_record
Objective function increase converger.
Example:-
OBJ_INC: {}
OBJ_SIM
Type: dict_record
Objective function similar converger.
Example:-
OBJ_SIM: {}
use_laplacian
Type: bool
Option to use full laplacian to compute hessian in objective function term4, this is much slower than using the expectation of the outer product of the jacobian
Example:-
use_laplacian: False
use_chain
Type: bool
Option to use chain rule when computing derivatives.
Example:-
use_chain: True
use_lm_jac
Type: bool
Option to use custom jacobian when optimising r[X] using L-M.
Example:-
use_lm_jac: True
lm_method
Type: one_of(lm,trf,dogbox)
Option to use either lm/trf/dogbox in scipy leastsq to optimise r[X]
Example:-
lm_method: lm
reset_re_flag
Type: bool
Reset r[X]=0.0 before each r[X] optimisation
Example:-
reset_re_flag: True
central_diff_switch_flag
Type: bool
Allow switch to central differences, instead of forward diff
Example:-
central_diff_switch_flag: True
COVARIANCE
Type: one_of_record
Covariance methods used to estimate standard errors.
Example:-
COVARIANCE:
NO_COVARIANCE: {}
NO_COVARIANCE
Type: dict_record
Do NOT compute covariance matrix and standard errors.
Example:-
NO_COVARIANCE: {}
SANDWICH
Type: dict_record
Use sandwich operator to estimate covariance matrix.
Example:-
SANDWICH:
var_covariance_flag: False
inv_hessian_flag: False
var_covariance_flag
Type: bool
Optionally compute standard errors for f[X] covariance elements this could take a long time for large covariance matrices. Note the results of the standard error computation for the main f[X] parameters combined with the variances will be different.
Example:-
var_covariance_flag: False
inv_hessian_flag
Type: bool
Optionally invert the hessian and output results to disk. this is mainly to generate PoPy documentation output.
Example:-
inv_hessian_flag: False
OUTPUT_OPTIONS
Type: dict_record
Output options
Example:-
OUTPUT_OPTIONS:
n_pop_samples: 100
n_pop_samples
Type: int
Number of new populations to sample.
Example:-
n_pop_samples: 100
OUTPUT_SCRIPTS
Type: dict_record
Scripts to output for further processing.
Example:-
OUTPUT_SCRIPTS:
MGEN: {output_mode: run}
MFIT: {output_mode: run}
MCOMP: {output_mode: run, dot_size: 12}
MGEN
Type: dict_record
options to pass to mgen_script.
Example:-
MGEN:
output_mode: none
output_mode
Type: one_of(none,create,run)
Output options.
Example:-
output_mode: none
MFIT
Type: dict_record
options to pass to mfit_script.
Example:-
MFIT:
output_mode: none
output_mode
Type: one_of(none,create,run)
Output options.
Example:-
output_mode: none
MCOMP
Type: dict_record
options to pass to mcomp script.
Example:-
MCOMP:
output_mode: none
dot_size: 12
output_mode
Type: one_of(none,create,run)
Output options.
Example:-
output_mode: none
dot_size
Type: int
Size of dots appearing in scatter plots
Example:-
dot_size: 12