:orphan:

.. The content of this file was generated
.. automatically by the popy.conf.fio.rstdoc_writer module
.. at 09 Mar 2022, 08:35:58


.. _msim_spec:



.. _msim-method_options_spec:

METHOD_OPTIONS
**************

Type: :term:`dict_record <dict_record>`

method options for msim_script

Example:-

.. code-block:: pyml

    METHOD_OPTIONS:
        py_module: msim
        rand_seed: 12345
        float_format: default


.. _msim-method_options-py_module_spec:

py_module
=========

Type: :term:`one_of(msim) <one_of>`

Python module required to process this script file

Example:-

.. code-block:: pyml

    py_module: msim


.. _msim-method_options-rand_seed_spec:

rand_seed
=========

Type: :term:`int <int>` / :term:`auto <auto>`

Option to set seed to make run result
reproducible -e.g. when debugging.

Example:-

.. code-block:: pyml

    rand_seed: 12345


.. _msim-method_options-float_format_spec:

float_format
============

Type: :term:`str <str>`

Format string for numerical output

Example:-

.. code-block:: pyml

    float_format: default


.. _msim-parallel_spec:

PARALLEL
********

Type: :term:`one_of_record <one_of_record>`

one of many possible servers

Example:-

.. code-block:: pyml

    PARALLEL:
        SINGLE: {}


.. _msim-parallel-single_spec:

SINGLE
======

Type: :term:`dict_record <dict_record>`

single process server spec.

Example:-

.. code-block:: pyml

    SINGLE: {}


.. _msim-parallel-mpi_workers_spec:

MPI_WORKERS
===========

Type: :term:`dict_record <dict_record>`

MPI local server spec.

Example:-

.. code-block:: pyml

    MPI_WORKERS:
        n_workers: auto


.. _msim-parallel-mpi_workers-n_workers_spec:

n_workers
---------

Type: :term:`int <int>` / :term:`auto <auto>`

Number of workers to use on this machine, defaults to number of processors, but could be more or fewer.

Example:-

.. code-block:: pyml

    n_workers: auto


.. _msim-description_spec:

DESCRIPTION
***********

Type: :term:`dict_record <dict_record>`

Description fields for script.

Example:-

.. code-block:: pyml

    DESCRIPTION:
        name: example
        title: A PKPD model
        author: A.N. Other
        abstract: |
        keywords: []


.. _msim-description-name_spec:

name
====

Type: :term:`str <str>`

Unique name used to distinguish script

Example:-

.. code-block:: pyml

    name: example


.. _msim-description-title_spec:

title
=====

Type: :term:`str <str>`

A longer text string that could serve as a title

Example:-

.. code-block:: pyml

    title: A PKPD model


.. _msim-description-author_spec:

author
======

Type: :term:`str <str>`

Author of the model

Example:-

.. code-block:: pyml

    author: A.N. Other


.. _msim-description-abstract_spec:

abstract
========

Type: :term:`verbatim <verbatim>`

Abstract paragraph describing model

Example:-

.. code-block:: pyml

    abstract: |


.. _msim-description-keywords_spec:

keywords
========

Type: :term:`list <list>`

Keywords list used to categorise models.

Example:-

.. code-block:: pyml

    keywords: []


.. _msim-file_paths_spec:

FILE_PATHS
**********

Type: :term:`dict_record <dict_record>`

file paths for pop_msim

Example:-

.. code-block:: pyml

    FILE_PATHS:
        input_data_file: input.csv
        output_folder: auto
        temp_folder: auto
        log_folder: auto
        output_file_ext: ['svg']
        input_solution_file: solution.pyml


.. _msim-file_paths-input_data_file_spec:

input_data_file
===============

Type: :term:`input_file <input_file>`

path to input comma separated value file in popy data format

Example:-

.. code-block:: pyml

    input_data_file: input.csv


.. _msim-file_paths-output_folder_spec:

output_folder
=============

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Output folder - results of computation stored here

Example:-

.. code-block:: pyml

    output_folder: auto


.. _msim-file_paths-temp_folder_spec:

temp_folder
===========

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Temp folder - temporary files stored here

Example:-

.. code-block:: pyml

    temp_folder: auto


.. _msim-file_paths-log_folder_spec:

log_folder
==========

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Log folder - log files stored here

Example:-

.. code-block:: pyml

    log_folder: auto


.. _msim-file_paths-output_file_ext_spec:

output_file_ext
===============

Type: :term:`list_of(pdf,png,svg) <list_of>`

Output file extension - determines graphical output file format.

Example:-

.. code-block:: pyml

    output_file_ext: ['svg']


.. _msim-file_paths-input_solution_file_spec:

input_solution_file
===================

Type: :term:`input_file <input_file>` / :term:`none <none>`

Solution containing f[X] values from a previous run.

Example:-

.. code-block:: pyml

    input_solution_file: solution.pyml


.. _msim-data_fields_spec:

DATA_FIELDS
***********

Type: :term:`dict_record <dict_record>`

data fields for popy.dat.fields object

Example:-

.. code-block:: pyml

    DATA_FIELDS:
        type_field: TYPE
        id_field: ID
        time_field: TIME


.. _msim-data_fields-type_field_spec:

type_field
==========

Type: :term:`str <str>`

Field name in data file that contains row type info, e.g. obs/dose etc

Example:-

.. code-block:: pyml

    type_field: TYPE


.. _msim-data_fields-id_field_spec:

id_field
========

Type: :term:`str <str>`

Field name in data file that contains identity string for each data row e.g. obs/dose etc

Example:-

.. code-block:: pyml

    id_field: ID


.. _msim-data_fields-time_field_spec:

time_field
==========

Type: :term:`str <str>`

Field name in data file that contains time or event for each data row

Example:-

.. code-block:: pyml

    time_field: TIME


.. _msim-preprocess_spec:

PREPROCESS
**********

Type: :term:`verbatim <verbatim>`

Code that preprocesses the input data.
Use this to filter rows and create derived covariates.

Example:-

.. code-block:: pyml

    PREPROCESS: |


.. _msim-effects_spec:

EFFECTS
*******

Type: :term:`repeat_verb_record <repeat_verb_record>`

EFFECT params to define hierarchical population model

Example:-

.. code-block:: pyml

    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])


.. _msim-model_params_spec:

MODEL_PARAMS
************

Type: :term:`verbatim <verbatim>`

Defines the mapping from c[X], f[X] and r[X] variables to individual model m[X] parameters.

Example:-

.. code-block:: pyml

    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]


.. _msim-states_spec:

STATES
******

Type: :term:`verbatim <verbatim>`

Optional section for setting initial values of s[X] variables
can also set slabel[X] text labels.

Example:-

.. code-block:: pyml

    STATES: |


.. _msim-derivatives_spec:

DERIVATIVES
***********

Type: :term:`verbatim <verbatim>`

Define how the covariates and effects determine flows
between compartments.

Example:-

.. code-block:: pyml

    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]


.. _msim-predictions_spec:

PREDICTIONS
***********

Type: :term:`verbatim <verbatim>`

Define the likelihoods computed by comparing p[X] vs c[X].

Example:-

.. code-block:: pyml

    PREDICTIONS: |
        p[DV_CENTRAL_pred] = s[CENTRAL]/m[V1]
        var = m[ANOISE]**2 + m[PNOISE]**2 * p[DV_CENTRAL_pred]**2
        c[DV_CENTRAL_sim] ~ norm(p[DV_CENTRAL_pred], var)


.. _msim-ode_solver_spec:

ODE_SOLVER
**********

Type: :term:`one_of_record <one_of_record>`

one of many possible solvers

Example:-

.. code-block:: pyml

    ODE_SOLVER:
        SCIPY_ODEINT:
            atol: 1e-06
            rtol: 1e-06
            max_nsteps: 10000000
            use_supersections: True
            use_jacobian: False
            use_sens: False
            use_tcrit: False


.. _msim-ode_solver-no_solver_spec:

NO_SOLVER
=========

Type: :term:`dict_record <dict_record>`

Null method for blank derivatives.

Example:-

.. code-block:: pyml

    NO_SOLVER: {}


.. _msim-ode_solver-analytic_spec:

ANALYTIC
========

Type: :term:`dict_record <dict_record>`

Analytic method for solving ODE

Example:-

.. code-block:: pyml

    ANALYTIC:
        use_supersections: auto
        use_sens: True


.. _msim-ode_solver-analytic-use_supersections_spec:

use_supersections
-----------------

Type: :term:`bool <bool>` / :term:`auto <auto>`

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:-

.. code-block:: pyml

    use_supersections: auto


.. _msim-ode_solver-analytic-use_sens_spec:

use_sens
--------

Type: :term:`bool <bool>`

Option to use sensitivity equations in ode solver.

Example:-

.. code-block:: pyml

    use_sens: True


.. _msim-ode_solver-scipy_odeint_spec:

SCIPY_ODEINT
============

Type: :term:`dict_record <dict_record>`

odeint solver record

Example:-

.. code-block:: pyml

    SCIPY_ODEINT:
        atol: 1e-06
        rtol: 1e-06
        max_nsteps: 10000000
        use_supersections: auto
        use_jacobian: False
        use_sens: True
        use_tcrit: False


.. _msim-ode_solver-scipy_odeint-atol_spec:

atol
----

Type: :term:`float <float>`

Absolute tolerance of ode solver.

Example:-

.. code-block:: pyml

    atol: 1e-06


.. _msim-ode_solver-scipy_odeint-rtol_spec:

rtol
----

Type: :term:`float <float>`

Relative tolerance of ode solver.

Example:-

.. code-block:: pyml

    rtol: 1e-06


.. _msim-ode_solver-scipy_odeint-max_nsteps_spec:

max_nsteps
----------

Type: :term:`int <int>`

Maximum number of steps allowed in ode solver.

Example:-

.. code-block:: pyml

    max_nsteps: 10000000


.. _msim-ode_solver-scipy_odeint-use_supersections_spec:

use_supersections
-----------------

Type: :term:`bool <bool>` / :term:`auto <auto>`

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:-

.. code-block:: pyml

    use_supersections: auto


.. _msim-ode_solver-scipy_odeint-use_jacobian_spec:

use_jacobian
------------

Type: :term:`bool <bool>`

Option to use jacobian in ode solver.

Example:-

.. code-block:: pyml

    use_jacobian: False


.. _msim-ode_solver-scipy_odeint-use_sens_spec:

use_sens
--------

Type: :term:`bool <bool>`

Option to use sensitivity equations in ode solver.

Example:-

.. code-block:: pyml

    use_sens: True


.. _msim-ode_solver-scipy_odeint-use_tcrit_spec:

use_tcrit
---------

Type: :term:`bool <bool>`

Option to set lsoda tcrit to start and end of subsection. Note this is an experimental option.

Example:-

.. code-block:: pyml

    use_tcrit: False


.. _msim-ode_solver-cppode_spec:

CPPODE
======

Type: :term:`dict_record <dict_record>`

C++ version of original cvode c library.

Example:-

.. code-block:: pyml

    CPPODE:
        atol: 1e-06
        rtol: 1e-06
        max_nsteps: 10000000
        use_supersections: auto
        use_sens: True


.. _msim-ode_solver-cppode-atol_spec:

atol
----

Type: :term:`float <float>`

Absolute tolerance of ode solver.

Example:-

.. code-block:: pyml

    atol: 1e-06


.. _msim-ode_solver-cppode-rtol_spec:

rtol
----

Type: :term:`float <float>`

Relative tolerance of ode solver.

Example:-

.. code-block:: pyml

    rtol: 1e-06


.. _msim-ode_solver-cppode-max_nsteps_spec:

max_nsteps
----------

Type: :term:`int <int>`

Maximum number of steps allowed in ode solver.

Example:-

.. code-block:: pyml

    max_nsteps: 10000000


.. _msim-ode_solver-cppode-use_supersections_spec:

use_supersections
-----------------

Type: :term:`bool <bool>` / :term:`auto <auto>`

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:-

.. code-block:: pyml

    use_supersections: auto


.. _msim-ode_solver-cppode-use_sens_spec:

use_sens
--------

Type: :term:`bool <bool>`

Option to use sensitivity equations in ode solver.

Example:-

.. code-block:: pyml

    use_sens: True


.. _msim-ode_solver-cpplsoda_spec:

CPPLSODA
========

Type: :term:`dict_record <dict_record>`

C++ version of original cvode c library.

Example:-

.. code-block:: pyml

    CPPLSODA:
        atol: 1e-06
        rtol: 1e-06
        max_nsteps: 10000000
        use_supersections: auto
        use_sens: True
        hmin: 1e-12


.. _msim-ode_solver-cpplsoda-atol_spec:

atol
----

Type: :term:`float <float>`

Absolute tolerance of ode solver.

Example:-

.. code-block:: pyml

    atol: 1e-06


.. _msim-ode_solver-cpplsoda-rtol_spec:

rtol
----

Type: :term:`float <float>`

Relative tolerance of ode solver.

Example:-

.. code-block:: pyml

    rtol: 1e-06


.. _msim-ode_solver-cpplsoda-max_nsteps_spec:

max_nsteps
----------

Type: :term:`int <int>`

Maximum number of steps allowed in ode solver.

Example:-

.. code-block:: pyml

    max_nsteps: 10000000


.. _msim-ode_solver-cpplsoda-use_supersections_spec:

use_supersections
-----------------

Type: :term:`bool <bool>` / :term:`auto <auto>`

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:-

.. code-block:: pyml

    use_supersections: auto


.. _msim-ode_solver-cpplsoda-use_sens_spec:

use_sens
--------

Type: :term:`bool <bool>`

Option to use sensitivity equations in ode solver.

Example:-

.. code-block:: pyml

    use_sens: True


.. _msim-ode_solver-cpplsoda-hmin_spec:

hmin
----

Type: :term:`float <float>`

Minimum step size of ode solver.

Example:-

.. code-block:: pyml

    hmin: 1e-12


.. _msim-output_options_spec:

OUTPUT_OPTIONS
**************

Type: :term:`dict_record <dict_record>`

Output options for msim_script

Example:-

.. code-block:: pyml

    OUTPUT_OPTIONS:
        sim_time_step: -1.0
        n_pop_samples: 100


.. _msim-output_options-sim_time_step_spec:

sim_time_step
=============

Type: :term:`float <float>`

Size of time step when creating smooth curve predictions
note setting this to a negative value, results in
simulated predictions for each individual 
ONLY at time points in the original data set.

Example:-

.. code-block:: pyml

    sim_time_step: -1.0


.. _msim-output_options-n_pop_samples_spec:

n_pop_samples
=============

Type: :term:`int <int>`

Number of new populations to sample.

Example:-

.. code-block:: pyml

    n_pop_samples: 100


.. _msim-output_scripts_spec:

OUTPUT_SCRIPTS
**************

Type: :term:`dict_record <dict_record>`

scripts to output for further processing

Example:-

.. code-block:: pyml

    OUTPUT_SCRIPTS:
        VPC:
            output_mode: none
            vpc_list: ['COMB_QUANT_SIM_VPC']
            y_var_src_list: ['sim', 'orig']
            y_var_list: ['DV_CENTRAL_sim', 'DV_CENTRAL']
            y_var_norm_list: ['DV_CENTRAL_pred', 'DV_CENTRAL_pred']
            y_var_label_list: ['Drug conc. (units)', 'Drug conc. (units)']
            x_var: TIME
            split_field: none
            share_axes: False
            y_scale: linear


.. _msim-output_scripts-vpc_spec:

VPC
===

Type: :term:`dict_record <dict_record>`

Options to pass to vpc_script.

Example:-

.. code-block:: pyml

    VPC:
        output_mode: none
        vpc_list: ['COMB_QUANT_SIM_VPC']
        y_var_src_list: ['sim', 'orig']
        y_var_list: ['DV_CENTRAL_sim', 'DV_CENTRAL']
        y_var_norm_list: ['DV_CENTRAL_pred', 'DV_CENTRAL_pred']
        y_var_label_list: ['Drug conc. (units)', 'Drug conc. (units)']
        x_var: TIME
        split_field: none
        share_axes: False
        y_scale: linear


.. _msim-output_scripts-vpc-output_mode_spec:

output_mode
-----------

Type: :term:`one_of(none,create,run) <one_of>`

Output options.

Example:-

.. code-block:: pyml

    output_mode: none


.. _msim-output_scripts-vpc-vpc_list_spec:

vpc_list
--------

Type: :term:`list(str) <list>`

List of vpc types to generate in popy_vpc script.

Example:-

.. code-block:: pyml

    vpc_list: ['COMB_QUANT_SIM_VPC']


.. _msim-output_scripts-vpc-y_var_src_list_spec:

y_var_src_list
--------------

Type: :term:`list(str) <list>`

Source of data has to be either sim or orig

Example:-

.. code-block:: pyml

    y_var_src_list: ['sim', 'orig']


.. _msim-output_scripts-vpc-y_var_list_spec:

y_var_list
----------

Type: :term:`list(str) <list>`

List of y variable names to be plotted on graph.

Example:-

.. code-block:: pyml

    y_var_list: ['DV_CENTRAL_sim', 'DV_CENTRAL']


.. _msim-output_scripts-vpc-y_var_norm_list_spec:

y_var_norm_list
---------------

Type: :term:`list(str) <list>`

List of y variable names to normalise y_var_list.

Example:-

.. code-block:: pyml

    y_var_norm_list: ['DV_CENTRAL_pred', 'DV_CENTRAL_pred']


.. _msim-output_scripts-vpc-y_var_label_list_spec:

y_var_label_list
----------------

Type: :term:`list(str) <list>`

List of y variable labels to be plotted on graph.

Example:-

.. code-block:: pyml

    y_var_label_list: ['Drug conc. (units)', 'Drug conc. (units)']


.. _msim-output_scripts-vpc-x_var_spec:

x_var
-----

Type: :term:`str <str>`

x axis variable name.

Example:-

.. code-block:: pyml

    x_var: TIME


.. _msim-output_scripts-vpc-split_field_spec:

split_field
-----------

Type: :term:`str <str>`

field in c[X] data use each value to split data.

Example:-

.. code-block:: pyml

    split_field: none


.. _msim-output_scripts-vpc-share_axes_spec:

share_axes
----------

Type: :term:`bool <bool>`

Option to share axes between individuals when plotting
graphical data

Example:-

.. code-block:: pyml

    share_axes: False


.. _msim-output_scripts-vpc-y_scale_spec:

y_scale
-------

Type: :term:`one_of(linear,log) <one_of>`

y axis scale - can be either 'linear' or 'log'.

Example:-

.. code-block:: pyml

    y_scale: linear



