Monolix-4 3 3-UsersGuide
Monolix-4 3 3-UsersGuide
Version 4.3.3
September 2014
S
T M H
I M P O R T A N C E S A M P L I N G
C M M
H C
A S
S A
S I M U L A T E D A N N E A L I N G
I M
C
M E T R O P O L I S
M
Monolixr (MOdèles NOn LInéaires à effets miXtes) is a platform of reference for model-
based drug development. It combines the most advanced algorithms with unique ease of use.
Pharmacometricians of preclinical and clinical groups can rely on Monolix for popula-
tion analysis and to model PK/PD and other complex biochemical and physiological processes.
Monolix is an easy, fast and powerful tool for parameter estimation in non-linear mixed effect
models, model diagnosis and assessment, and advanced graphical representation.
Monolix is the result of a ten years research program in statistics and modeling, led by
INRIA (Institut National de la Recherche en Informatique et Automatique) on non-linear mixed
effect models for advanced population analysis, PK/PD, pre-clinical and clinical trial modeling
& simulation.
1 Introduction 8
1.1 The objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Using Monolix 43
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 The theophylline example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 The main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 The “Data and Model” frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 The data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 The model function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.3 The covariate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.4 Creating and transforming covariates . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3.5 Distribution of the individual parameters . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.6 The covariance model of the random effects . . . . . . . . . . . . . . . . . . . . . . 52
3.3.7 The observations model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 The “Initialization” frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3
CONTENTS
3.4.1 Check initial fixed effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.2 Use the last estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5 The “Algorithm” frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6 The “Results” frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.7 Executing tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.7.1 Estimation of the population parameters . . . . . . . . . . . . . . . . . . . . . . . . 57
3.7.2 Estimation of the standard errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.7.3 Estimation of the individual parameters . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.4 Estimation of the log-likelihood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.5 Computing results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.7.6 Running several algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7.7 Algorithms convergence assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8 Plots and results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.8.1 The graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.8.2 The tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.8.3 The graphics menu bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.8.4 Main interface Graphics Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.8.5 Stratify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.8.6 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.9 Testing hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.10 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.11 Publishing the outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.12 The results folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.13 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.13.1 The population parameters estimation . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.13.2 The individual parameters estimation . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.13.3 The log-likelihood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.13.4 The results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.13.5 Predefined scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4 Advanced features 93
4.1 Libraries of models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.2 Pharmacokinetic and pharmacodynamic data . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3 Using priors on a fixed effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4 Categorical covariate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5 Model with censored data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.5.1 Modeling BLQ data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.5.2 Modeling interval censored data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.6 Model with inter-occasion variability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4 Monolix 4.3.3
CONTENTS
4.7 Discrete data models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7.1 ordered categorical data models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7.2 count data models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.7.3 discrete Markov models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.7.4 hidden Markov models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.7.5 repeated time to event models (RTTE) . . . . . . . . . . . . . . . . . . . . . . . . 103
4.7.6 joint modelling of continuous and discrete outputs . . . . . . . . . . . . . . . . . . 104
4.8 Complex residual error models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.8.1 autocorrelated residual errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.8.2 residual errors for bounded data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.9 Complex PK models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.9.1 Complex administrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.9.2 Steady-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.10 Mixture models and model mixtures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.10.1 Mixture models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.10.2 Model mixtures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.11 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.12 Using Monolix in Matlab command line or scripts . . . . . . . . . . . . . . . . . . . . . 109
4.13 Full script projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.14 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5 Monolix 4.3.3
CONTENTS
6.3 Combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.4 Extensive coverage through the demo projects . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.5 Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
C Preferences 171
C.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6 Monolix 4.3.3
CONTENTS
C.2 Graphic settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
C.2.1 Categorized Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
C.2.2 Covariates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
C.2.3 Parameters distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
C.2.4 Individual fits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
C.2.5 Joint distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
C.2.6 Predictions vs observations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
C.2.7 Residuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
C.2.8 Spaghetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
C.2.9 Prediction distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
C.2.10 VPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
C.2.11 NPC - BLQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
C.2.12 Time to event (Kaplan-Meier) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
C.2.13 Transition probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
C.2.14 Prior distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.2.15 Individual contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.2.16 Convergence of SAEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.3 Session related settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.3.1 session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.3.2 project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
C.3.3 gui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
7 Monolix 4.3.3
Chapter 1
Introduction
2. Model selection
3. Easy description of pharmacometric models (PK, PK-PD, discrete data) with the Mlxtran
language
5. Data simulation.
8
The objectives
Monolix handles a broad spectrum of models including models defined with differential equa-
tions, left censored data, discrete data models, repeated time to events, hidden Markov models,
mixture models,. . .
Theoretical analysis of the algorithms used in this software can be found in [9, 10, 13, 14, 1].
Several application of SAEM in agronomy [19], animal breeding [12] and PKPD analysis [4, 17,
23, 25, 27, 28, 3, 29] have been published by several members of the Monolix group and other
authors. Several applications to PKPD analysis and several extensions to complex models were
also proposed during the last PAGE (Population Approach Group in Europe) meetings ([2, 16, 15,
20, 22, 24, 26, 8, 18, 7] as well as a comparison of estimation algorithms [11], (http://www.page-
meeting.org).
The aim of the present User Guide is to help a Monolix beginner to discover the software
abilities. Chapter 2 contains the installation guide, Chapter 3 explains how to use Monolix
and its graphical interface. Advanced Features and examples are detailed in Chapter 4. And the
use of the software without the graphical interface and batch mode is described in Chapter 5.
The statistical models handled by Monolix are given in Appendix A and a list of visual
preferences for result graphics is given in Appendix C.
The user guide does not cover Mlxtran programming in details, and is therefore completed
by two additional documents:
9 Monolix 4.3.3
Chapter 2
The Monolix packages can be downloaded through the download manager hosted at
http://download.lixoft.com. The download manager is available for users provided with an
access key. Different Monolix packages are available, depending on the Matlab version and
of the operating system. Monolix currently supports Windows XP/Vista/Seven 32bits, Linux
(all common distributions) 32/64 bits, Mac OS X 10.6 or higher.
• Matlab versions:
• Standalone versions:
10
Downloading packages
– Linux (32 bits)
– Linux (64 bits)
– Windows (32 bits)
– Windows (64 bits)
– Mac OS X 10.6 or higher
11 Monolix 4.3.3
Installation
2.2 Installation
2.2.1 Prerequisites
perl is required to run perlScripts and the validation suite; it is not required otherwise.
Linux specifics
• You need uudecode to uncompress, and you need install_name_tool to configure the
Monolix package (these are generally provided within the system).
• Make sure you have gcc/g++/make installed or install them by installing the command-line
tools of Xcode.
The 32 bits standalone version of Monolix runs fine on Windows 7 64bits. You will need
to install the 64 bits Windows version of Monolix in any of these situations:
• If you simply prefer to use a 64bits version of standalone Monolix , although in practice
this should not have an impact on the performance.
12 Monolix 4.3.3
Installation
#> sh Monolix-4.3.3-matlab2010bSP1-linux32.bin
or
#> sh Monolix-4.3.3-standalone2008b-linux32.bin
or
#> sh Monolix-4.3.3-matlab2010a-linux64.bin
or
#> sh Monolix-4.3.3-matlab2010bSP1-linux64.bin
or
#> sh Monolix-4.3.3-standalone2008b-linux64.bin
– you can specify the target installation directory by giving the path as argument
– a directory containing Monolix will be created in the directory installation path
• Windows
– Matlab inter-active mode: the installer is a self-extractable archive. Run the following
command:
#> sh Monolix-4.3.3-R2010b.bin
– Standalone mode: Double click on Monolix-4.3.3s.pkg and follow installer instruc-
tions.
13 Monolix 4.3.3
Installation
2.2.3 Directory structure
• the personal user directory containing the Monolix workspace and documentation
(/Path/To/.../lixoft)
Installation directory
Monolix.....................................................Monolix root directory
monolix433...........................................Monolix version directory
bin............................................................tools directory
config.....................................................configuration files
graphics..........................................graphics configurations
listOfGraphics...................graphics predefined configurations
project .............. graphics default configurations for Mlxtran
settings..............................graphics default configurations
scenario ............................................... predefined scenarii
system ..................................... Monolix system configuration
factory ................................................... Mlxtran C++ API
jar ............................................................... Java library
lib ...............................................................C++ library
matlab ................................................Monolix main program
libraries ............................................. libraries of models
mlxCore ................Monolix core: all algorithms (SAEM, FIM, ...)
mlxDelegate ........glue to present Monolix project (HMI, batch, ...)
mlxIO ................input / output components (read .mat, .xmlx, ...)
mlxMath .....................................misc mathematical functions
mlxTools ....................................... some tools (mat to xmlx)
mlxUseful .............................................generic components
perlScripts ......................................................Perl scripts
resources ......................................... documentation and demos
mlxeditor .............. documentation and demos for Mlxtran editor
monolix ........................ documentation and demos for Monolix
config .............................reference for configuration files
demos .............................................................. demos
doc ...................................................... documentation
14 Monolix 4.3.3
Installation
User directory
The user directory is created after the first launch of Monolix. This directory contains the
basic configuration of Monolix, documentation, demos, log files, license file, ...
lixoft.......................................................Lixoft tools directory
monolix.................................................Monolix root directory
config.....................................................configuration files
license.................................................................licenses
monolix433........................................Monolix version directory
demos ..................................................... modifiable demos
log ................................................................. log files
modules........................................compiled Mlxtran modules
perlScripts ...................................................Perl scripts
tmp ......................................................... temporary files
– Matlab version
∗ start Matlab
∗ go to directory ’<install path>/matlab’ and type monolix.
– Standalone version: go to ’<install path>/bin’ and type ./Monolix.sh.
• Windows
– Matlab version
∗ start Matlab
∗ go to directory <install path>\matlab’ and type monolix.
– Standalone version: go to ’<install path>\bin’ and type Monolix.bat.
– Matlab version
∗ start Matlab
∗ go to directory ’<install path>/matlab’ and type monolix.
– Standalone version: go to the Applications folder of your computer (or where you
have placed the executable), double click on Monolix-4.3.3s.app
15 Monolix 4.3.3
Installation
2.2.5 Installation use cases
Desktop
Monolix is installed on the computer of the user and the user has a personal activation key (see
Section 2.2.6 Desktop license). After the installation or during the first startup of Monolix a
popup titled ’Lixoft Activate’ appears and asks the activation key. When the activation procedure
is finished, Monolix will be configured (typically a directory ‘/Path/To/.../lixot/monolix’
is created in the user home directory) and launched.
The user accesses to Monolix through a shared directory (via CIFS, Network drive, NFS, ...).
The user runs Monolix directly, no activation is required. Nevertheless, when a user runs
Monolix a license token is taken.
If all license tokens are used (too many users run Monolix in the same time), a popup titled
’Lixoft activate’ appears and the user is supposed to wait until at least one token is released.
16 Monolix 4.3.3
Installation
The user accesses to Monolix using a remote desktop application.
The user runs Monolix directly, no activation is required. Nevertheless, when a user runs
Monolix a license token is taken.
If all license tokens are used (too many users run Monolix in the same time), a popup titled
’Lixoft activate’ appears and the user is supposed to wait until at least one token is released.
With desktop licenses Monolix is installed on a remote server, the user accesses to Monolix
using a remote desktop application and has a personal activation key (see Section 2.2.6 Desktop
license).
During the first startup of Monolix a popup title ‘Lixoft Activate’ appears and asks the acti-
vation key. When the activation procedure is finished, Monolix will be configured (typically a
directory ‘/Path/To/.../lixot/monolix’ is created in the user home directory) and launched.
Each cluster node accesses to Monolix through a shared directory (via CIFS, Network drive,
NFS, ...).
The user runs Monolix directly, no activation is required. Nevertheless, when a user runs
Monolix a license token is taken (there is no limit of runs on cluster nodes).
If all license tokens are used (too many users run Monolix in the same time), a popup titled
’Lixoft activate’ appears and the user is supposed to wait until at least one token is released.
17 Monolix 4.3.3
Installation
During this installation it is not necessary to activate Monolix when the popup titled ’Lixoft
activate’ appears (just close the popup). The license file (obtained previously) is supposed copied
in the directory
of each node.
18 Monolix 4.3.3
Installation
2.2.6 License
Monolix licenses can be of the following types:
• Individual license - named user. The named user can install and run Monolix on a
predetermined number of different computers.
• Floating license - concurrent access. The license is hosted by a license server, and Monolix
can either run on a server or individual workstations.
Remark: the former license management tool uses a license file (license.ini); this type of
license is deprecated since Monolix version 4.1.3.
Desktop license
The activation key (provided by Lixoft ) must be entered in the dialog box titled ‘Lixoft
license activation’ (‘With activation key’ tab). This dialog box only appears when no license is
available on the user’s computer or when the license expires.
Floating license
The use of a floating license requires to set up a license server. In this case there are two
installation strategies for Monolix users:
• install Monolix on each user’s computer and copy the license file obtained as described
below into the directory:
After the installation process, when the ’Lixoft activate window’ appears just close the window
(do not enter the activation key of the floating license). Then, start the RLM server, located at:
19 Monolix 4.3.3
Installation
• <monolix install path>/tools/rlm/rlm{.exe} for the Matlab version of Monolix ,
At this step there is no license available yet; the IT manager should use the RLM web server to
download the license by following the procedure below:
1. In the web browser, type <IP>:5054, where <IP> is the IP address of the computer hosting
the RLM server (e.g. 192.168.46.248:5054).
Notice that the RLM server opens two ports : 5053 and 5054. The first port (5053) is a
service port used for the transactions of licenses. The second port (5054) is the RLM web
server port used to access to the RLM configuration through a web browser.
It is possible that one or both ports may have been used by another application.
• If the web server port (5054) is not available you can launch RLM server with a new
port by using the program option -ws (e.g: rlm -ws 5055) in this case, the access
to RLM configuration through a web browser is done using the address <IP>:<NEW
PORT> (e.g. 192.168.46.248:5055).
• If the server port (5053) is not available, a file config.conf has to be created in the
rlm directory and has to contain the following information:
HOST <IP> <MAC ADDRESS> <NEW PORT>
e.g.
HOST 192.168.46.245 a8c0f82e 5060
20 Monolix 4.3.3
Installation
21 Monolix 4.3.3
Installation
3. Enter the RLM activation url : activate.lixoft.net. And click on Next button.
If the rlm server does not have Internet access, the license has to be created by Lixoft .
Send a mail to [email protected] with the following informations:
22 Monolix 4.3.3
Installation
Lixoft will send in return a ’.lic’ file which has to be copied in the directory
Fill the ISV input with the string ’lixoft’ (without the quotes) and the License activation
key with the activation key provided by Lixoft (key format is xxxx-xxxx-xxxx-xxxx)
23 Monolix 4.3.3
Installation
5. Enter (at maximum) the number of bought licenses, then click on Next button
Notice, the number of licenses cannot exceed the number of bought licenses.
24 Monolix 4.3.3
Installation
In the field named License file to create write the full path to license file
<monolix install path>/config/system/access/myfloat.lic for the Matlab version
of Monolix
or <monolix install path>/bin/Monolix_mcr/runtime/config/system/access for the
standalone version.
e.g: if the Monolix (matlab version) installation directory is /media/share/monolix the
input field name License file to create should contain
/media/share/monolix/config/access/myfloat.lic
• If Monolix is installed on a shared space (i.e. each node of the cluster has an access
to this directory), copy the license file into the directory
<monolix install path>/config/system/access/ for the Matlab version of Monolix
or <monolix install path>/bin/Monolix_mcr/runtime/config/system/access for
the standalone version.
Make sure that the Monolix directory is accessible from each cluster node.
25 Monolix 4.3.3
Installation
Example
26 Monolix 4.3.3
Installation
7. Stop the server manually and restart it from the directory (or use option -c)
Now RLM is running with the provided license. This is verified in the web interface by
clicking on status button.
27 Monolix 4.3.3
Installation
...
ISV lixoft port=<your ISV port>
...
28 Monolix 4.3.3
Installation
Roaming license
RLM has the ability to allow a floating license to roam to a system which will subsequently be
disconnected from the network for a short period of time. The resulting license can be used for the
number of days specified when the license was set to roam, and is checked back in automatically
at the end of this. In addition the user can return the roamed license back to license pool early
if this is desired.
See License activate tools (which can be launched from the Monolix interface, in tools
menu)
This feature is enabled on demand. An extra activation key will be provided by Lixoft and the
procedure to get the roaming license feature is identical to the installation of a floating license. To
enable this feature, the file system.xmlx (stored in directory <monolix install path>/config/
-Matlab version- or <monolix install path>/bin/Monolix_mcr/runtime/config/ -standalone
version of Monolix - must be modified by setting to "on" the roaming option:
29 Monolix 4.3.3
ChangeLog
2.3 ChangeLog
30 Monolix 4.3.3
ChangeLog
31 - bug fix : License Manager : when a license already existed ( and was
not expired ) , the licence Manager Interface did not download a
new license file
32 - bug fix : License Manager : when a license file from < USERPATH >/
lixoft / monolix / license was copied on itself the content of the
file was erased
33 - bug fix : Matlab 2013 compatibility produced a loss of performances
34
35 Monolix 4.3.1 (2014 -03)
36 Bugs Fixes :
37 - bug fix : Matlab 2013 compatibility
38 - bug fix : the ’ TASKS ’ section of the Monolix project was not
correctly parsed when graphicSetting or algorithmSetting
contained ’_a ’ , ’_b ’ , ’_c ’ which are tokens for the error model
39 - bug fix : Analyical Solution : pkmodel ( ka ,V , Cl ) failed when ka =1 , Cl
=1 and V =1
40 - bug fix : tte graphics better grid adjustement
41 - bug fix : cond . mode estimation in presence of mixtures and other
covariates were biased
42 - bug fix : fisher information matrix estimation could fail when only
one parameter were estimated
43 - bug fix : SAEM failed when using variances set as " fixed " and
covariate dependent variances .
44 - bug fix : problem preparing results in presence of priors with MAP
45 - bug fix : simulation with estimator uncertainty failed in presence
of correlations between individual parameters
46
47
48 Enhancements :
49 - add an option ’-- log - file ’ to specify the location of the log file
50 - results
51 - population parameter names where changed to be more consistent
with other Lixoft tools like mlXplore
52 - tables with estimations are now separated in :
53 - estimations . txt population parameters , standard errors ( s . e )
and relative standard errors ( r . s . e )
54 - fim_lin . txt Fisher information matrix estimated by
linearisation
55 - fim_sa . txt Fisher information matrix estimated by stochastic
approximation
56 - tables with estimations includes now also the effects for
reference categories ( fixed to zero ) .
57
58
59 Monolix 4.3 (2014 -02)
60 Bugs Fixes :
61 - bug fix : when using estimators uncertainty , the correlations were
only simulated in 0 ,1 ( instead of -1 ,1) .
31 Monolix 4.3.3
ChangeLog
62 - bug fix : predictions calculations can take too much time ( even hang
) in presence of RTTE data
63 - bug fix : error when removing covariates from the project
64 - bug fix : error when all the observations of one subject are null in
combined2 ( Fisher information matrix estimation )
65
66 Enhancements :
67 - GUI
68 - addition : monolix remembers now the last options selected in
simulation interface
69 - addition : checkbox for the user to choose among saving the
paths as relative or absolute addresses
70 - Algo
71 - Tables of population parameters and fisher after storing of
results
72 - Graphics
73 - new setting in RTTE graphic : accuracy of grid
74 - stratify saved in graphics with projects
75 - settings ( axes , labels ) saved in projects , and stored while
using the graphics
76 - export of graphics data
77 - MLXTran
78 - analytical solutions : ODE replaced by analytical solution when
keywords ( as pkmodel , compartment , ...) are used . This
improves the processing time .
79 - DDE solver
80 - distribution functions ( Student , Log - Normal ...)
81 - ODE initial values can depend on time
82
83 Monolix 4.2.1 (2013 -02 -15)
84 Bugs Fixes :
85 - MLXTRAN Project : in STRUCTURAL_MODEL section resolved problem
with path relative to % MLXPROJECT %
86 - mlxEditor , mlxPerlScript : under Suse Linux OS , conflict with
libstdc ++ and Qt librairies installed on the OS .
87 - Graphics : Kaplan Meier
88 - mean normalization
89 - survival curve : case of censured data
90 - simulations where wrong in presence of correlation between
individual parameters
91 - MLXTRAN Model :
92 - Events could be close at a numerical epsilon for the solver
, but not for the solver driver
93 Rarely , it resulted into an explicit integration failure ,
returning " NaN "
94 - For the simulation of RTTE models , the ordering of the
output names had to be alphabetical
32 Monolix 4.3.3
ChangeLog
95 - Not declaring all regression variables that where selected
from the data set crashed the application .
96 - Declaring some PK without actual doses within the data set
raised an error .
97 - Using the deprecated syntax with several lagged
compartments returned " NaN "
98 - Algorithms
99 - Error when some subjects had no doses in conditinal mode
computation
100 - GUI
101 - " Display the data " button did not update the information
when the dataset was changed after running algorithms
102 - Convergence assessment GUI failed when there was only one
individual parameter
103 - structural models with several dots (.) were not compiled
when clicking in the compile button in the Model
selection GUI
104 - projects with more outputs in structural model than
observations in dataset caused an error when it was
loaded
105 - the editor was not saved in the preference file
106 - Convergence assessment graphics did not handled
correctly when there was not variance on some
parameters or their covariate dependence
107
108 Enhancements :
109 - add possibility to configure the compiler ( used to create
Structural Model plugins ) through the file ’ system . xmlx ’
110 - user API :
111 - it is now possible to use matlab function " ver " to know
Monolix version and Monolix API version
112 - mlxEditor :
113 - allow multiple files selection on open file dialog box
114 - add ’ Find and replace ’
115 - set tabs movable
116 - MLXTRAN Model :
117 - Continuous observations can be declared within the model .
118 - Macro for a depot absorption , with a target ODE component .
119 - Permutation kernel for mcmc included
120
121 Other :
122 - Licensing system : ’. ini ’ files desactivated ( only the ’. lic ’
files are allowed )
123 - residual error models in main interface are now displayed with
their full name ( those used in MLXTRAN project and model )
124 --------------
125
126 Monolix 4.2.0 (2012 -11 -26)
33 Monolix 4.3.3
ChangeLog
127
128 Bugs Fixes :
129 - MLXTRAN Project : in OBSERVATION section when a prediction has
the same name as an individual parameter the project parses
fail
130 - PerlScript : bug with parameter ’-- use - matlab = false ’ was taken
as ’ true ’
131 - Identity line works in observations vs predictions graphic
132 - Prediction distribution : percentiles are correctly displayed
133 - Color when stratify in covariables graphic
134 - Problem with prior ( by default prior is Variance and not
Standard Deviation , this implies a syntax error (
stan dardDevia tion <-> variance )
135 - Wrong data file for the demonstration project
r t t e W e i b u l l C o u n t _ p ro j e c t . mlxtran
136 - " Display the data " button did not work
137 - bug when unchecking and checking " random effects " variability
in simulation interface
138
139 Enhancements :
140 - Interval censoring for continous data
141 - Extended priors on fixed effects
142 - Mlxtran model and Mlxtran project editor
143 - Perl script HMI
144 - Autosave
145 - Multiple covariate definitions
146 - Add batch - mode demo
147 - Add a doc package and a rlm server package ( floating license
server )
148 - Graphic
149 - BLQ graphic : possibility to choose its own interval of
censored data
150 - Reorganisation of panel for the list of graphics
151 - Background color for each graphic in preferences
152 - When split , limits are the same for all axes
153 - Obs . vs Pred . , observations can be relied by individual
154 - Optimal bandwidth setting for parameter distribution
155 - CvSaem graphic : choice of axes number
156 - Interval - censored data and maximum number of events for time - to
- event and drop - out data models
157 - Markov chain for categorical data
158 - Continuous - time Markov process for categorical data
159 - probit and normal cdf for Mlxtran model
160 - New user API including simulation - estimation , convergence
assessment and simulations tools
161 - Possibility to define new covariates as transformation of
already defined ones
162
34 Monolix 4.3.3
ChangeLog
163 New graphics :
164 - Posterior and prior functions for bayesian
165 - Individual contribution for the LL
166 - Transition probabilities
167 - Kaplan - Meier survival function
168
169 New tables :
170 - Individual contribution to log - likelihood
171 - Covariates summary
172 --------------
173
174 Monolix 4.1.4 (2012 -07 -16)
175
176 Bugs Fixes :
177 - Saving preferences from tools menu failed .
178 - Display remaining time ( license ) correctly .
179 - Problem with license activation file path .
180 - Add license agreement into Linux installer .
181 - The horizontal slider in " Check initial fixed effects "
interface did not appear for some number of individual
parameters .
182
183 Enhancements :
184 - Windows 64 RC .
185 - Management of the maximum number of threads for MLXTran models
( can be set from the preference tools : MonolixGUI - > Tools - >
Preference )
186 - License activate : inform user to not set activation key
187 if the license is a floating license .
188 - Documentation :
189 * Installation guide : Windows 64 bits .
190 * User Guide : Cluster section revised .
191 * Model MLxTRAN : list of keywords of the language .
192
193
194 --------------
195
196 Monolix 4.1.3 - sp2 (2012 -05 -29)
197
198 Enhancements :
199 - system . xmlx : possibility to hide Lixoft Activate display .
200 - Lixoft Activate : add the possibility to send an email with
encoded computer information to create license @Lixoft .
201 - Lixoft Activate : manage " cannot connect to url " error by
asking user to go on a web site or tosend an email .
202
203 Bugs Fixes :
204 - IOV Problem with R2010bSP1
35 Monolix 4.3.3
ChangeLog
205 - perlScripts : bug in the management of the configuration file
for [ program - execute - options ] and run on a cluster .
206 - add ’ rlmutil . exe ’ for windows packages ( forgotten in previous
packages ) .
207 - problem floating license .
208 - warnings for occasions without dose were removed .
209 - when the last Individual / Occasion had no dose , Monolix crashed .
210 - When there were syntax errors in the structural model , monolix
said that it could not find the file instead of giving the
MLXTRAN message
211 - NaN observations are now mentionned as error when algorithms
are launched .
212 - Update documentation : in batch mode section , there is a bad
path .
213
214
215 --------------
216
217 Monolix 4.1.3 - sp1 (2012 -05 -21)
218
219 Bug Fixes :
220 - GUI :
221 * Check Initial Fixed Effects interface crashed when creating
covariate and parameter s sliders for some sizes
222
223 --------------
224
225 Monolix 4.1.3 (2012 -05 -02)
226
227 New Features :
228 - MLXTran model : allows negative categories
229 - License management : uses RLM as license provider
230 - Compiler manager : adds the possibility to choose the embedded
compiler
231 - The Monolix and Matlab versions are now stored in the algorithm
result files
232
233 Bug Fixes :
234 - MLXTRAN project :
235 - continuous transformation can take a mathematical
expression
236 - problem with structural model path
237 - MLXTRAN model :
238 - Under Linux 64 bits , due to library conflicts with Matlab
R2010b and following versions , the multi - threaded
239 loading of the model description for the project
occasionally fails
36 Monolix 4.3.3
ChangeLog
240 - The last table variable only is recorded , overwriting the
first one
241 - Graphics :
242 - log / linear works on all graphics
243 - when log - log scale is set for " observed versus predicted " ,
the diagonal line is not displayed anymore
244 - GUI :
245 - editor call did not work
246 - Algorithms :
247 * bug for individuals without some type of observations and
with IOV computing conditional mode
248 * bug when there were continuous outputs after discrete
outputs
249 * Fisher Information Matrix by Stochastic Appoximation does
now handle the case better when there is
250 no parameter to estimate in the residual error
251 - Session :
252 * when the directory monolixData / monolix < version > is renamed
during an active Monolix session , stopping
253 Monolix caused an exit of Matlab .
254
255
256 --------------
257
258 Monolix 4.1.2: (2012 -03 -05)
259
260 --------------
261
262 New Features :
263 - PerlScripts : possibility to save the results in the project
directory instead of the output directory
264 - In system . xmlx : automatically creates a directory hierarchy
for " monolixData " path
265
266 Enhancements :
267 - MLXTran ( structural model ) multi - threading processing
enhancement
268
269 Bug Fixes :
270 - Batch Processing failed when a very large number of projects
were launched
271 - MDV column : when MDV =2 only the regression variables were taken
into account
272 - Fixed a bug in graphics saving
273 - Fixed error when an empty result folder was timestamped
274 - Simulation of categorical data , whenever no category 0 is
defined
37 Monolix 4.3.3
ChangeLog
275 - Fixed take into account UserPath defined in ’ system . xmlx ’ for
the preference file saving
276
277
278 --------------
279
280 Monolix 4.1.1: (2012 -02 -13)
281
282 --------------
283
284 New Features :
285 - timestamped backup
286 - preferences interface
287 - tools menu for activating license and preferences
288 - option for locking structural model modifications
289 - Project - MLXTRAN grammar modification : initialization of
parameter is written now as beta_ { pi , cov } , pop_ { pi } , omega_ {
pi } , ...
290 - save graphics as png / ps / jpg / bmp or tiff
291 - selection of graphics / tables to be saved
292
293 Bug Fixes :
294 - Project - MLXTran : user can define the result folder
295 - LoQ difference between 3.2 and 4.1
296 - statistical test for error model and covariate model
297 - xmlx loading from 3.2 to 4.1
298 - correlation ( levelName consistence with IOV ) + parser error
299 - observation model ( prediction = observation name )
300 - path for MONOLIX user profile can include special characters
301
302
303
304 --------------
305
306 Monolix 4.1.0: (2012 -01 -23)
307
308 --------------
309
310 psmlx :
311 - compatible with the mlxtran format of projects
312 - available on Windows OS
313
314 mlxtran :
315 - new syntax
316 - PK macros
317 - RTTE models
318
319 license :
38 Monolix 4.3.3
ChangeLog
320 - interface to install the license file
321
322 Interface :
323 - setting for axes ’ limits
324 - information for the observation model
325 - shortcut for model libraries
326
327 File system :
328 - improved handling of special characters for filepaths
329
330 Demos :
331 - updated for the new mlxtran syntax
332 - dispatch of the model library for demos
333
334 Known Bugs :
335 - under Windows OS , user directory cannot contain special
characters other than spaces
336
337
338
339 --------------
340
341 Monolix 4.0.1: (2011 -10 -27)
342
343 --------------
344
345 psmlx :
346 - use - matlab option didn ’ t work in command line mode
347 - multi - threading : multhreading didn ’ t work
348 - take into account the p . coded files
349
350 mlxtran
351 - problem with FIM options : both linearization and
s t o c h a s t i c A p p r o x i m a t i o n appeared after a save with
s t o c h a s t i c A p p r o x i m a t i o n option set
352 - avoid the unloading of project when settings files does not
exist : default settings are loaded
353 license :
354 - multi write database didn ’ t work well in multi - threading mode
355
356 Interface :
357 - save lists
358 - configuration panel
359 - launching some graphics alone is now possible
360 - graphics were closed when " Use last estimates " were used
361 - when monolix was launched twice without loading or creating a
project , two toolbars were created
362
39 Monolix 4.3.3
ChangeLog
363 Algorithm and simulations :
364 - simulation works now with dataset without EVID column and with
MDV column
365
366 Results :
367 - the graphics fit now to the paper in . ps files
368 - xLabels were wrong for some graphics when several regression
variables were present
369 - some graphics crashed when launched after some hypotheses
tests were done
370 - Visual studio redistribuable problem
40 Monolix 4.3.3
Troubleshooting
2.4 Troubleshooting
2.4.1 Downloading Monolix
Problem: My web browser claims that the Monolix download website has insufficient reputa-
tion and suggests to stop the download.
Solution: Some browsers like Google Chrome and Internet Explorer may ask whether to keep
or remove the Monolix archive just after download because of the insufficient reputation of
the Monolix download website, simply because it is not referenced, as opposed to the Lixoft
website. Please ignore the warning and choose to keep the file. You can use a MD5 tool to verify
that the downloaded file is not corrupted.
Solution: Some antivirus may consider the Monolix archive as risky and put it in quar-
antine or remove it. This is due to the fact that Monolix embeds a compiler for the Mlxtran
language. Two solutions are available:
To restore the file from quarantine, please refer to the documentation of your antivirus software.
For the most common examples:
• Avast Antivirus 7:
– Open Avast
– Choose Maintenance, then Virus Chest
You should see the downloaded file among the quarantined files. Execute the Restore action;
the archive will be restored into the directory used for downloading. Click on the archive (ignore
a possible “malware” warning, again related to the fact that Monolix embers a compiler.), and
installation will start.
41 Monolix 4.3.3
Troubleshooting
2.4.2 Running Monolix
Problem: When launching the standalone version, my antivirus tells me that the file
mlxinitializer.exe is risky.
Solution: If your antivirus apparently removed the file mlxinitializer.exe, check if it was
actually put on Quarantine, or removed. If it is in Quarantine, please restore it by following the
same instructions as provided above. If the file was removed you will need to reinstall Monolix
.
You should be able to add this file to your antivirus Trusted Zone or Trusted files.
• Avast 7: This software may start Monolix in a SandBox, i.e in a zone where the antivirus
avoids any modification of the system or the files. He will ask you what to do at each run.
Select Run normally.
You can also add mlxinitializer.exe to the exclusions in its Auto-Sandbox settings:
option Additional Protection/AutoSandbox and then click on Settings button.
42 Monolix 4.3.3
Chapter 3
Using Monolix
3.1 Introduction
In order to use Monolix, your problem must be described as a Monolix project. A project
specifies
• the dataset to use
• the structural model
• the statistical model, which includes
– covariate model for individual parameters
– covariance model for random effects
– observation model
• the tasks to run, their settings and initial values
The dataset is an ASCII file containing all the data for your study (see Section 3.3.1 for a
brief description) and the structural model is a function explaining the theoretical model be-
hind your data. It can be easily described using the Mlxtran language (see the document
modelMLXTRANtutorial.pdf in Monolix documentation folder), or as a Matlab function for
a Matlab version of Monolix.
A mathematical description of the statistical models handled by the software can be found in
Appendix A.
All these informations can be set in the Monolix main window.
In this chapter, we will describe the main window and its different sections, using a simple
example.
43
The main window
In this case subject i receives a dose Di per kilo at time 0 and serum concentrations (yij ) are
measured at times (tij ). Serum concentration is modeled by a first-order one compartment model.
Then, Cl
Di kai − V i tij −ka t
yij = e i −e i ij
+ aεij (3.1)
Vi kai − Cli
where kai is the absorption rate constants of subject i, Vi is the volume per kilo of subject i and
Cli is the clearance per kilo of subject i. These three parameters are nonnegative real numbers
and are assumed to be log-normally distributed. Here,
Here, “AMT” (amount per kilo) holds for “D/w”, “T” is the time and “DV” (dependant variable)
holds for “y”.
44 Monolix 4.3.3
The main window
The project can be created from scratch by clicking on
Project->New in menu or modifying a previously loaded one
(Project->Load).
It is then possible to save it with the menu Project->Save
in any of three formats: as a Mlxtran project (ASCII file
with extension .mlxtran, recommended and default for new
projects), as a binary Matlab (.mat) file or as a XML (.xmlx)
file.
Once the project is chosen, the different sections of the interface become visible. Those sections
facilitate the project definition.
All the menu options also appear and the toolbar buttons become enabled.
45 Monolix 4.3.3
The “Data and Model” frame
• about Monolix
• quit Monolix
In our example, the project file theophylline_project.mlxtran is included in the Demos so you
can load it or create a new one from scratch.
- To create a new project to analyze the theophylline data, use the button
and follow the instructions below.
1. the ID of the subjects (can be any string or number, not necessarily ordered),
4. the covariates,
. theophylline example:
To select the theophylline dataset use the button The data . A new window is opened
• Select the data file theophylline_data.txt. The dialog box to select the dataset can be
opened with the button Data file .
46 Monolix 4.3.3
The “Data and Model” frame
• If Monolix does not recognize the different columns you can choose one of the column
delimiters from comma (“,”), semicolon (“;”) , space (“ ”), tab (“\t”):
• Since the file has a header in the first line (ID AMT T DV WEIGHT SEX), Monolix will
use the recognized columns by default. You can choose other headers for each column by
yourself. Use Use header button whenever it is desired that Monolix uses the header
from the file, instead of the current one.
• Check that Monolix has recognized the keywords (ID, AMT, T, DV) and translated them
to (ID, AMT, TIME, Y).
• The headers WEIGHT and SEX are not recognized and set to IGNORE. Nevertheless, you can
consider the weight as a continuous covariate by selecting the label COV for this column
and the gender as a categorical covariate by selecting the label CAT for this column.
47 Monolix 4.3.3
The “Data and Model” frame
• LIMIT for interval-censored data. It gives the lower limit while
Y gives the upper limit
48 Monolix 4.3.3
The “Data and Model” frame
Note: Monolix includes now its own editor for Mlxtran projects and models. Set the editor
to ‘mlxEditor’ if you want to use it.
. theophylline example:
We use the first order oral absorption with one compartment model function
(oral1_1cpt_kaVCl) from the PK library which has 1 design variable (time), 3 param-
eters (ka , V , Cl) and 1 output (concentration).
Important: When a project is created (or loaded), there are two ways to change the structural
model:
• by clicking on the button The structural model .
. theophylline example:
Let us assume that no covariates are used in the model:
log(kai ) = µ1 + ηka,i
log(Vi ) = µ2 + ηV,i ,
log(Cli ) = µ3 + ηCl,i
Consider now that the log-volume is a linear function of the weight and that the log-clearance
depends on the gender.
log(kai ) = µ1 + ηka,i
log(Vi ) = µ2 + βW,V wi + ηV,i ,
log(Cli ) = µ3 + βS,Cl 1si =M + ηCl,i ,
Here, the reference group are the female and the population parameters are
log(Clpop,F ) = µ3
log(Clpop,M ) = µ3 + βS,Cl .
49 Monolix 4.3.3
The “Data and Model” frame
3.3.4 Creating and transforming covariates
Some times, it is needed to use some transformed version of the original covariates. It can be
done in the window opened when clicking on the button transform :
. theophylline example:
Consider for example, a log-transformation of the weight, centered by the mean:
50 Monolix 4.3.3
The “Data and Model” frame
The new covariate is added to the list at the left so you can use them like the original ones and
define their transformations.
It is also possible to remove the new covariates or the transformations from the original covariates
with the button Remove .
It is important to note that, the new covariates will be of the same type (continuous or categorical)
than those from which they are function of, and that new categorical covariates can only be
function of original (not transformed) categorical covariates.
Note: It is recommended to set the name of the modified or newly created covariates before
creating new ones.
51 Monolix 4.3.3
The “Data and Model” frame
3.3.5 Distribution of the individual parameters
The default distribution of the individual parameters are defined by the structural model, but it
is possible to change it in the Monolix window by clicking on the buttons below Distribution
of the individual parameters to
Assume now that the absorption rate does not vary between subjects
and that clearance and volume are correlated. Then, ∆ should be set to
You can also assume different variances in the groups defined by a categorical covariate (click on
the button Cat.var. ).
Assume for example that the variance of the volume depends
on the gender
Remark: In the different groups, the random effects have dif-
ferent variances but the same correlations. In this example, the
correlation between Volume and Clearance is the same for male and
female.
52 Monolix 4.3.3
The “Initialization” frame
3.3.7 The observations model
The observations model can be defined in the structural model function (for discrete data:
count, categorical, RTTE, etc) or it can be a residual error model (for continuous data).
The observation model section shows, for each observation, the vari-
ables name and their type following the structural model definition. If
the observation name is not set in the structural model (for continuous
observations, it can be given the prediction name instead, see Mlxtran
models description) then it can be defined by the user using the interface.
For the continuous observations, we consider the general form y = f + g e where e is a sequence
of independent random variables normally distributed with mean 0 and variance 1.
Some extensions assume that there is a transformation t such that t(y) = t(f ) + g e. It is also
possible to assume that the residual errors are correlated. Here are some examples of error
models:
const: constant error model y = f + a e
prop: proportional error model y = f + b f e
comb1: combined error model y = f + (a + b f )e
comb2: combined error model y = f + a e1 + b f e2
propc: proportional error model + power y = f + b f c e
comb1c: combined error model + power y = f + (a + b f c )e
comb2c: combined error model + power y = f + a e1 + b f c e2
exp: exponential error model t(y) = log(y) and y = f ea e
logit: logit error model t(y) = log(y/(1 − y))
band(A,B): extended logit error model t(y) = log((y − A)/(B − y))
Select the checkbox r if you want to consider autocorrelation on the residual errors.
You can also constrain the second parameter b in comb1 and comb1c
error models to be positive by checking b>0
53 Monolix 4.3.3
The “Algorithm” frame
You can also switch between to estimate standard deviations or
variances
The fits obtained with the initial fixed effects are displayed for continuous observations. It can
be useful in case of complex models (e.g. defined with differential equations), in order to find
some “good” initial values. You can change the values of the parameters with the buttons + and
- and see how the fits change.
• Seed: The default value of the seed used for the random numbers generator is 123456.
This seed can be randomly generated with the New seed button.
54 Monolix 4.3.3
The “Results” frame
• Number of iterations: There are two stages in the population parameters estimation
algorithm. Use K1 and K2 to define the number of iterations for each one.
If auto is selected, then algorithm will determine automat-
ically if it can jump from one stage to the other or if it can
finish the estimation process. In this case, the numbers K1 and
K2 will represent the maximum number of iterations for each
stage. Here, these numbers will not exceed 500 and 200.
• Number of chains: When the dataset is small, just a few of subjects for instance, repli-
cating the dataset can improve the precision of the estimation. The number of (Markov)
chains specifies how many times the dataset need to be replicated.
For instance, in the theophylline example there are only 12 subjects in the dataset. Setting
to 50 the minimum number of subjects, Monolix choose to use 5 Markov chains.
• Monte-Carlo Sizes: It can be specified the number of simulated samples used to compute
Prediction distribution graphic, the NPDEs (Normalized Prediction Distribution Errors)
and the VPCs (Visual Predictive Checks), the log-likelihood estimation when the Impor-
tance Sampling algorithm is used (see Section 3.7.4)
• Display: The number of iterations between two updates of the convergence graphics
produced by the algorithm (e.g. SAEM convergence window when estimating population
parameters).
• The Results folder is the folder where all the results are stored.
55 Monolix 4.3.3
Executing tasks
– Project name: the result folder is determined automatically from the name of the
project as “<project folder>/<project name>/”.
– User defined name: the name and the directory of the results folder are defined by
the user.
• Standard errors: Which algorithm to use when computing Fisher Information Matrix and
standard errors. Can be by Linearization (using a linear approximation of the model)
or by Stochastic Approximation (the observed Fisher Information Matrix of the exact
model is estimated by stochastic approximation).
• Individual parameters: says if the Conditional modes and/or Conditional means and
standard deviations should be computed when estimating the individual parameters
• Log-likelihood: says which algorithms to use when estimating the log-likelihood. Can
be by Linearization (using a linear approximation of the model) and/or by Importance
Sampling (the log-likelihood of the exact model is estimated by Monte-Carlo).
• Graphics: Use List button to choose the list of graphics to produce when the results are
computed.
56 Monolix 4.3.3
Executing tasks
The final estimations for our example, and the convergence graphics for this exemple are:
We clearly see on these graphics that the trajectory of (θk ) is much more random during the
first stage than during the second stage. The number of iterations used for the SAEM algorithm
were K1 = 173 and K2 = 120.
Remark 1: This figure shows that, despite a very poor initial guess, SAEM algorithm converges
57 Monolix 4.3.3
Executing tasks
in very few iterations to the neighborhood of the solution. Thus, in this example, a good
estimation of the parameters can be obtained with very few iterations of SAEM (try for instance
with K1 = K2 = 20 and any initial guess...). Also simulated annealing is not necessary for this
project.
However it is not always the case. One can see in the figure below that the choice of the
first number K1 of iterations is crucial. In this example, the total number of iterations is
K1 + K2 = 100, with K1 = 50 on the left and K1 = 1 on the right. The second example shows
that K1 = 1 iterations is not enough to reach the neighborhood of the solution. Then, because of
the averaging during the K2 next iterations, SAEM will require many more iterations to converge
than in the first example.
Remark 2: The individual parameters of each subject are “roughly” estimated during the last
iterations of SAEM (by estimating the conditional means E(φi |y; θ̂)). These “rough” estimates
are used for the results if the individual parameters are not better estimated later.
Computes Fisher information matrix and so the standard errors of the different estimators and
their correlation. There are two different algorithms: by linearization where the structural
model is linearized, and so the full statistical model is approximated by a gaussian model, or by
58 Monolix 4.3.3
Executing tasks
Stochastic approximation where the exact model is used, and the Fisher information matrix
(F.I.M) is approximated stochastically (slower but more precise).
The final estimations are displayed in the command Matlab window together with the popula-
59 Monolix 4.3.3
Executing tasks
tion parameters:
1. the estimated fixed effects, their standard-errors, the absolute and relative p-values obtained
from the Wald test (only for the coefficients of the covariates),
4. the estimated correlation matrix of the random effects if the covariance matrix is not
diagonal,
5. the correlation matrix of the fixed effect estimates, with the smallest and largest eigenvalues,
6. the correlation matrix of the variance components estimates, with the smallest and largest
eigenvalues,
60 Monolix 4.3.3
Executing tasks
. theophylline example:
Remark: The Wald test indicates here that βW,V and βS,Cl are not significantly different
from 0: we can consider that the log-volume is not a linear function of the log-weight, and that
the clearance of the males and females are not significatively different (of course any statistical
inference with only 12 subjects can be dubious. . . ).
61 Monolix 4.3.3
Executing tasks
If the option Estimate the cond. means and s.d. is selected, the conditional means and
standard deviations are estimated by MCMC. For each parameter, the mean of these quantities
over all the subjects is displayed together with a rmcmc interval.
Two files indiv_parameters.txt and indiv_eta.txt are created with the estimated individual
parameters and random effects in table format. Also, if there were defined priors on some
fixed effects, and it was selected prior distribution method for some of them, a new file called
simulatedPopParams.txt is created simulations using their posterior distribution laws.
. theophylline example:
In our example, the two different estimates of the log-likelihood are computed.
The value of the two estimated −2× log-likelihoods, the standard error of the Monte-Carlo
estimate, The AIC and the BIC are displayed in the command Matlab window:
62 Monolix 4.3.3
Executing tasks
The Monte-Carlo estimator converges to the observed log-likelihood when the size of the Monte-
Carlo increases. The sequence of estimates, as a function of the Monte-Carlo size, is displayed
as a Figure:
63 Monolix 4.3.3
Executing tasks
3.7.6 Running several algorithms
With the button Run , you can executes successively several tasks. The list of tasks to run is
called “scenario” or “workflow”. You can define your own scenario by checking the corresponding
checkboxes at the left of the Run button.
For example, define the following workflow
in order to:
If you just want to compute the population parameters with their standard errors, define the
workflow:
You can enter the number of runs, or replicates, the parameters to generate initial values and
the intervals where those values should be (uniformly) simulated. Click on Run to execute the
tool.
64 Monolix 4.3.3
Executing tasks
Remarks:
65 Monolix 4.3.3
Plots and results
Also, a .mat file is produced with all the results used for those graphics. Press Last Results
button to reproduce the last result graphics if you already have ran the tool for the current
project, and Cancel to close the interface.
• display the observed data y as a function of the regression variable (e.g. time for a PK
applications): .
• Produce several graphics and tables from the results of the algorithms:
You can select which figures to show in menu Graphics->List or button List in the
interface (see Section 3.8.4) and which figures and/or tables to save (Section 3.8.6)
You can also produce one specific graphic.
Note: By default the new projects do not save the graphics and do not produce the tables.
If you want Monolix to create some table, you must select it in menu Graphics->Output to
save.
Monolix allows to change some visual preferences determining the way the graphics are shown
(set of line colors and styles, markers, etc). It is also possible to specify the format where the
graphics should be saved. Section 4.14 shows how you can set some preferences with an interface
and Appendix C gives an overview of all the parameters that can be set and how.
• Reduced: Graphics rapid to create, good to have a first view of the goodness of the fits.
66 Monolix 4.3.3
Plots and results
• Simulation: Graphics requiring simulations, so the can take some time to be produced.
Includes some Visual Predictive Checks (VPC) graphics.
Reduced :
67 Monolix 4.3.3
Plots and results
68 Monolix 4.3.3
Plots and results
69 Monolix 4.3.3
Plots and results
Simulations :
70 Monolix 4.3.3
Plots and results
71 Monolix 4.3.3
Plots and results
Others :
72 Monolix 4.3.3
Plots and results
73 Monolix 4.3.3
Plots and results
3.8.2 The tables
Monolix can produce five kinds of ASCII table files:
• Observation times contains the regression variables, the individual predictions, the pop-
ulation predictions, the weighted population residuals, the weighted individual residuals
and the NPDE, for all the observation times in the dataset.
• Fine-grid times contains the regression variables, the individual predictions, the popu-
lation predictions in a fine (regular) grid.
• All times contains the regression variables, the individual predictions, the population
predictions for a possibly larger set of times in the dataset, including observation times,
lines where MDV column is set to 2.
• Covariates summary contains a summary of all the covariates defined in the project.
The first three tables can include new columns according to the table definition in the structural
model as described in Section 4.11.
• It is possible to save, close or print the figure and, in Windows, to copy and paste it to any
other document.
• The Axes menu proposes to use semi-log or log-log scale plots. Settings option gives the
opportunity to choose labels and to change the scale of graphics. It is also possible to use
the same axis limits for the different plots of the same graphic.
• The Stratify menu opens the stratify window, see Section 3.8.5 below.
• The Settings menu opens a new window with the settings of the current graphic.
74 Monolix 4.3.3
Plots and results
to produce.
• List
• Settings
• Outputs to save
List
This menu allows to manage the list of graphics to display.
Three options are available :
• Load
Allows to load already defined lists. Those lists are divided in two section: Monolix
predefined lists and user defined lists.
The chosen list determines the figures that will be opened next time the results graphics
are launched (button ).
• New
Allows to define and save a list.
75 Monolix 4.3.3
Plots and results
This option opens a window that allows to create a list and then either to export to a
.xmlx file or to use in the current project.
To define the list, it should be selected which graphics to show for each output (checkboxes
at the left, each column represents an output) and how many times (at the right).
It is possible to launch a single graphic by clicking on the corresponding button.
76 Monolix 4.3.3
Plots and results
To export the defined list, use the Save button. The list should be saved in the proposed
folder to be used by Monolix.
In order to use the defined list in the current project, click on the button OK.
• Save
Saves project’s graphic list
77 Monolix 4.3.3
Plots and results
• Remove
Remove an user defined list.
Settings
Allows to handle predefined graphic configurations : load, save and remove.
• Load
Allows to load already defined configurations. Those configurations are divided in two
section: Monolix predefined configurations and user defined configurations.
The opened graphics are automatically updated when a configuration is loaded.
• Save
Allows to save a current configuration. The saved file will be included to the Load list.
78 Monolix 4.3.3
Plots and results
• Remove
Remove an user defined configuration.
3.8.5 Stratify
The Stratify menu allows to create and use covariates for stratification purposes. It is possible
to select a categorical covariate for splitting, filtering or coloring the dataset. Also, in the bottom
section, it can be defined a time filter
79 Monolix 4.3.3
Plots and results
3.8.6 Settings
Each graphic has its own settings, which can be accessed by Settings menu. The most common
types of options are described below.
Display options
Most of the graphical components can be made visible or hidden, allowing the user to focus on
the desired information.
For some graphics, it is possible to select which plots to show.
Prediction Distribution with two different configurations
Stratify options
Some graphics can be stratified using the filters issued from the Stratify interface mentioned in
Section 3.8.5. It is possible to activate the splits, filters, and/or colors for groups of individuals
and also to filter observations for some time interval (the first regression variable is used if no
time column exists).
80 Monolix 4.3.3
Plots and results
Residuals with 2 kinds of residuals with scatter plots (predictions) and QQ-plot chosen
81 Monolix 4.3.3
Plots and results
82 Monolix 4.3.3
Plots and results
83 Monolix 4.3.3
Plots and results
Saving graphics
It is possible to choose which graphics to save. Clicking on Outputs to save in Graphics menu,
a window is opened :
Computations options
The user can modify some parameters required to compute the information to be represented.
This allows him to tune the graphics.
84 Monolix 4.3.3
Testing hypotheses
Share
Some options are identical for several graphics and can be set
independently from one graphic to the other. The button Share
allows to set the current values to all the graphics sharing those
options. The following table describes links between the different
graphics. The three columns contain respectively the shared op-
tions, the Share button name, and the concerned graphics.
85 Monolix 4.3.3
Testing hypotheses
• tests the covariate model for the fixed effects,
The button allows to define the matrix A0 and A1 that define the covariate model under
hypotheses H0 and H1 . Consider as an example that we want to test whether the clearance of
a subject is function of his weight. Thus, assuming that the absorption rate and the volume are
not function of any covariate under both hypotheses, we want to test model H1 against model
H0 defined as follows:
The other parameters used for the model and the algorithm are those defined in the main
Monolix window.
The maximum likelihood estimate and the likelihood are computed under both hypotheses. For
both hypotheses, the AIC and BIC criteria are displayed, together with the deviance (−2 × log `(y; θ)).
b
The brackets contain the s.e. of these statistics. The Likelihood Ratio Test (LRT) is performed
and the level of significance (p-value) is displayed. Here, the log-likelihood is estimated using a
Monte-Carlo Importance Sampling algorithm. The Monte-Carlo size is defined as the “LL” size
in the Monolix window.
. theophylline example:
Here, AIC, BIC and the LRT agree with the Wald test to conclude that β(W EIGHT,Cl) is not
significant (then, there is no significant effect of the weight on the clearance).
The button allows to define the structure of the covariance matrix Ω0 and Ω1 of the random
effects under hypothesis H0 and H1 .
The button allows to define the residual variance models under hypothesis H0 and H1 .
A file is generated for each test with the estimations for each hypothesis test and the comparison
results.
86 Monolix 4.3.3
Simulation
3.10 Simulation
Use the button to open the simulation interface in order to create one or several simulated
datasets.
87 Monolix 4.3.3
Publishing the outputs
3.11 Publishing the outputs
Beware: this feature is not available with the stand-alone version of Monolix.
Use the button to generate a report on your project, including figures and results.
Use the edit button to modify the Matlab script which se-
lects the different procedures that will be executed.
You can generate your report as a html, doc, xml or latex file
and all the files will be saved in the results folder.
• project.mat and project.xmlx contain the project respectively in .mat and .xmlx. Thus,
this project can be reloaded with the button and running the SAEM algorithm with
the button will reproduce the same results.
88 Monolix 4.3.3
The results folder
r
(E φi |y; θ̂ , 1 ≤ i ≤ N ) with the conditional standard deviations ( Var φi |y; θ̂ , 1 ≤ i ≤
N ) and the covariates.
• A new file indiv_eta.txt that contains the estimated random effects is generated:
the con-
ditional modes (m(ηi |y; θ̂), 1 ≤ i ≤ N ) and/or the conditional expectation (E ηi |y; θ̂ , 1 ≤
r
i ≤ N ) with the conditional standard deviations ( Var ηi |y; θ̂ , 1 ≤ i ≤ N ) and the co-
variates.
• the value of the (-2)log-likelihood together with AIC, BIC are added at the bottom of the
file pop_parameters.txt.
The last three algorithms complete the results.mat file with their own results, adding fields
like
se_fixed : the standard-errors of the estimated fixed effects
pv_fixed : the p-values for the estimated fixed effects
(for the log-parameters in the case of log-normal distributions)
se_random : the standard-errors of the diagonal elements of this estimated covariance matrix
se_g_abc : the standard-errors of the estimated parameters of the error model
logl : the estimated log-likelihood
condmode_param : the individual conditional mode of the parameters arg maxψ P(ψ|y)
condexp_param : the individual conditional expectation of the parameters E(ψ|y)
condsd_param : the individual conditional standard errors of the parameters
5. With the results ( ) button:
Produced ASCII table files if the corresponding tables were selected (see Section 3.8.2):
89 Monolix 4.3.3
The results folder
– results.ps includes a selection of graphics: spaghetti-plots, residuals, observation
vs. predictions, etc.
– individual_fits.ps includes the individual fits for all subjects, plotted in several
pages.
– One file for each graphic and several files for individual fits graphic, according to
the number of subjects in the dataset.
5. Other files:
• The hypothesis tests (buttons , , ) generate files with each test results.
• Simulated files
• One .zip file for each run containing the corresponding results if timestamping has been
activated (see Section 4.14).
Note: The graphics are saved like they are produced, i.e using current graphics settings (see
Section 3.8.4) and window size. You can change the settings and set the figure container size
before re-run the Results. Or you can modify the graphic window itself and save it with the
menu Save As.
90 Monolix 4.3.3
Settings
3.13 Settings
3.13.1 The population parameters estimation
K0 is the number of burning iterations, K1 and K2 the numbers
of SAEM iterations. If auto is checked, K1 and K2 are automati-
cally adjusted.
The sequence of stepsizes (γk ) decreases as 1/k aj , j = 1, 2. If
a1 = 0 and a2 = 1, then γk = 1 during the first K1 iterations and
γk = 1/(k − K1 − 1) during the next K2 iterations.
lK1 , lK2 and rK2 define the stopping rules when auto is checked.
The number of iterations K1 increases with lK1 ; K2 increases with
lK2 and decreases with rK2 .
The default number of Markov chains is L = 1.
m1 , m2 , m3 and m4 are the numbers of transitions of the four
different kernels used in the MCMC algorithm. The default value
of m2 is 0. Indeed this transition is recommended only in some
specific cases, when the observed kinetics are very different (i.e.
viral kinetics of responders, non responders, rebounders, ...).
When Simulated Annealing is checked, the temperature de-
creases as τ1k and τ2k . Note that you can use τj > 1 to force the
estimated variance(s) to increase from a small initial value to the
estimated value. Then, τ2k > 1 can be used if you want to obtain fits
as good as possible and τ1k > 1 if you want to obtain inter-subject
variability as small as possible.
91 Monolix 4.3.3
Settings
3.13.3 The log-likelihood
You can set the Monte-Carlo sizes used for the VPC and NPDE
(default value is 500) and for Prediction distribution (default is 100).
You can also set the grid size used for graphics and tables using
continuous grids (like individual fits and prediction distribution).
92 Monolix 4.3.3
Chapter 4
Advanced features
The different features of Monolix 4.3.3 are illustrated with several examples available in the
Demos folder.
• PK library: 1cpt, 2cpt and 3cpts PK models; linear and nonlinear eliminations; single
dose, multiple dose or steady-state designs.
• PKe0 library: PK models (1cpt and 2cpt) with an effect compartment (to be used with
a PD model).
• Discrete library: some basic models for count data, ordered categorical data, and re-
peated time to event (RTTE) models.
To use one of these models, click on the button structural model, or right-click on the list of
currently selected models to open the Model List window. Select the library with the button
Monolix Library and select one model from the list.
Of course, you can create your own libraries. If you use the Matlab version of Monolix, you
can write new models with Matlab or Mlxtran. If you use the standalone version, you should
write your models with Mlxtran. See modelMLXTRANtutorial.pdf for more details.
93
Using priors on a fixed effect
warfarin: warfarin_PKPD1_project, warfarin_PKPD2a_project,
warfarin_PKPD2b_project, warfarin_PKPD3_project, warfarin_PKPD4_project
• The observation column of the dataset contains both pharmacokinetic and pharmacody-
namic observations. The YTYPE column indicates the type of each observation (1=PK and
2=PD),
• If you are using .m models of the library, the output of the fP K function is an input of the
function fP D :
1. Choose first the fP K function and choose the corresponding error model gP K .
2. Then use the + button to add the second model fP D and choose the corresponding
error model gP D . It is possible to remove the selected model from the Monolix
window using the - button. A right click on the list, after selecting the name of the
model, allows to change this model,
• If you write your own model using Mlxtran, you need to define two outputs (one to fit
the data defined with YTYPE=1 and one to fit the data defined with YTYPE=2).
Examples: warfarin_PKPD2b_project, warfarin_PKPD3_project,
warfarin_PKPD4_project
• Set the initial values for the fixed effects and the variance of random effects as usual, Set
the initial values of the two error models,
• The button displays the spaghetti plots for both types of observations in two figures.
• The button displays the chosen result figures and tables (see Section 3.8.4) for each
output.
94 Monolix 4.3.3
Categorical covariate model
Assuming θ to be the chosen fixed effect
θ = t(Z)
• priors with same distribution than the corresponding individual parameter if θ is an inter-
cept. For instance, if V is set as log-normal distributed, then the M.A.P of
θ = intercept of V
PDsim1_data was generated using β = 0 while PDsim2_data was generated generated using
β = 0.4.
• PDsim3_data:
log(C50i ) = log(C50pop ) + ηC50,i
where V ar(C50i ) = (0.1)2 if SEXi = 0 and V ar(C50i ) = (0.3)2 if SEXi = 1.
95 Monolix 4.3.3
Model with censored data
phenobarbital2_project illustrates how to transform a categorical covariate.
Mixed effects models with BLQ data are described Section A.5.
As an illustration, we will consider a censored version of the theophylline data.
The data files theophylline_cens1_data.txt and theophylline_cens2_data.txt are the same
as the original data file theophylline_data.txt used in the previous section but with several
left-censored observations (yij ). The limit of quantification (LOQij ) can be the same for all the
patients (see theophylline_cens1_data.txt) or it can vary from one patient to another, and
even from one observation time to another (see theophylline_cens2_data.txt) . In the data
set which includes BLQ data, the censored observations are replaced with the LOQ values and
a new column CENS is added with a binary variable equal to 1 if the observation is censored and
0 otherwise.
In the Data Information window, this new column is referenced with the CENS header.
Then, Monolix can be used as usual. The button displays the same figures as the usual
MCMC-SAEM with points associated to a censored observation displayed differently.
96 Monolix 4.3.3
Model with inter-occasion variability
4.5.2 Modeling interval censored data
Examples
censored_data: censored_project
In order to handle right-censored data, the column CENS can take −1 as value to tell that
(cens)
yij ≥ LOQij where LOQij is the value given in the dataset on the corresponding line of
column Y.
To give both limits of interval censored data, a new column LIMIT is needed to specify the lower
limit while the Y value gives the upper limit. For this, the CENS column must be 1.
For instance, assume that we have the following dataset
(1) ID TIME AMT Y YTYPE LIMIT CENS
(2) 1 0 50.00 . . . .
(3) 1 0 . 90 2 . -1
(4) 1 0.5 . 2 1 . 1
(5) 1 1 . 2 1 1 1
.. .. .. .. .. .. ..
. . . . . . .
(2)
Line (3) says that the observation of type Y T Y P E = 2 at time 0 is right-censored (y11 ≥ 90),
(1)
line (4) says that the first observation of type Y T Y P E = 1 is left-censored (y11 ≤ 2), and line
(1)
(5) says that the observation is interval censored (y12 ∈ (1, 2)) because of the existence of a
numerical value in column Limit
Example 1: iov1_project
A cross-over study was simulated. The data set iov1a_data.txt contains the column OCC and
two categorical covariates, TREAT for treatment and SEX. Since the first time for each occasion is
0, Monolix guesses that there is no “overlapping” between the occasions.
97 Monolix 4.3.3
Model with inter-occasion variability
Here, the treatment (A or B) changes with the occasion. Thus, TREAT is a covariate that will
appear in the IOV window as well as OCC. Furthermore, the sequence of treatments is not the
same for all the subjects (A-B for some patients and B-A for the other ones). Thus, the treatment
sequence (denoted S-TREAT) can be considered as a new covariate (this does not change with the
occasion). Monolix automatically creates this new categorical covariate and displays it in the
main Monolix window.
On the other hand, S-OCC is not created as a new categorical covariate because all the subjects
have the same sequence 1-2 in this example.
SAEM estimates the two covariance matrices and the coefficient of the different covariates:
98 Monolix 4.3.3
Model with inter-occasion variability
Example 2: iov2_project
We use the same simulated data as in the previous example (iov1_data.txt). Here, the occa-
sions are defined with EVID=4 and the initial times for each occasion are arbitrary.
Example 3: iov3_project
Data with several occasions without wash-out was simulated. Here, the occasions are defined
with the column OCC. Without EVID=4 and with increasing times, Monolix guesses that there
is some “overlapping” between the occasions
Important: Overlapping between occasions can only be handled with a model defined by a sys-
tem of differential equations using Mlxtran. Analytic solution of the PK model (i.e. Matlab
models of the PK library) cannot be used in this situations.
Example 4: iov4_project
There is an additional level of inter-occasion variability. Data was simulated with the following
covariance structure:
0 0 0 1 0 0 1 0 0
(1) (2)
IIV = 0 1 0 , IOV = 0 0 0 , IOV = 0 1 0
0 0 1 0 0 1 0 0 0
Running population parameter estimations, you will see that, for each variability level, the
estimated variances are closed to 0 for those parameters that where simulated without variability
at that levels.
Note: When there is OCC column or EVID= 4, it is not possible to use the simulation interface,
nor hypothesis tests on covariance models.
99 Monolix 4.3.3
Discrete data models
4.7 Discrete data models
Examples
discrete data: categorical1_project, categorical2_project, count1_project,
count2_project, markov1a_project, markov1b_project, markov2_project,
hmm0_project, hmm1_project, rtteExpo_project,
warfarin: warfarin_cat1_project, warfarin_cat2_project
Mixed effects models for discrete data are described in Section A.7.
All the Mlxtran models shown in this section are also stored in the discreteLibrary folder.
Either Mlxtran or Matlab (if you are using the Matlab version of Monolix) can be used
to create models for discrete data. The output of the model should be the log-likelihood.
Example 1: categorical1_project
Its Mlxtran model is categorical1_mlxt.txt:
INPUT:
parameter = {th1, th2, th3}
regresor = {PER, DOSE}
OBSERVATION: 1
P (Y = 0) =
1 + e−θ1
level = {
type = categorical 1
P (Y ≤ 1) =
categories = {0, 1, 2, 3} 1 + e−θ1 −θ2
logit(P(level<=0)) = th1 1
P (Y ≤ 2) =
logit(P(level<=1)) = th1 + th2 1 + e−θ1 −θ2 −θ3
logit(P(level<=2)) = th1 + th2 + th3
}
OUTPUT:
output = level
Example 2: categorical2_project
Its Mlxtran model is categorical2_mlxt.txt:
INPUT:
parameter = {th1, th2, th3, th4, th5}
regresor = {PER, DOSE}
OBSERVATION: 1
P (Y = 0) =
1 + e−θ1 −θ4 P ER−θ5 DOSE
level = {
type = categorical 1
P (Y ≤ 1) =
categories = {0, 1, 2, 3} 1 + e−θ1 −θ4 P ER−θ5 DOSE−θ2
logit(P(level<=0)) = th1 + th4*PER + th5*DOSE 1
P (Y ≤ 2) =
logit(P(level<=1)) = th1 + th4*PER + th5*DOSE + th2 1 + e−θ1 −θ4 P ER−θ5 DOSE−θ2 −θ3
logit(P(level<=2)) = th1 + th4*PER + th5*DOSE + th2 + th3
}
OUTPUT:
output = level
INPUT:
parameter = lambda
OBSERVATION: e−λ λk
Y = { type = count, P (Y = k) =
k!
log(P(Y=k)) = -lambda + k*log(lambda) - factln(k) }
OUTPUT:
output = Y
Example 2: count2_project
INPUT:
parameter = {delta, lambda}
OBSERVATION:
Y = {
k
type = count
Γ(k + 1/δ) 1 λ
P (Y = k) = (1 + δλ)− δ
k! Γ(1/δ) λ + 1/δ
h1 = 1/(1+lambda*delta)
llam = log(h1)/delta
lh2 = log(1-h1)
lg1 = gammaln(k+1/delta)
lg2 = gammaln(1/delta)
log(P(Y=k)) = aux
}
OUTPUT:
output = Y
• Let p`mi = P (zij = m|zi,j−1 = `) and Πi = (p`mi ) be the transition matrix of the Markov
Chain zi .
Example 1: hmm1_project
The model hmm1_mlx.m assumes a HMM with M = 2 states
Here, M = 2,
p11 p12
Π =
p21 p22
1
p11 = ; p12 = 1 − p11
1 + e−β1
1
p21 = −β
; p22 = 1 − p21
1 + e 1 +β2
and 2 Poisson distributions
if z = 1 , y ∼ Poisson(λ1 )
if z = 2 , y ∼ Poisson(λ2 )
Example 2: hmm0_project
Here, we use the same conditional distributions for (yij ) but the (zij ) are sequences of independent
random variables (Markov chain with memory 0).
1
p1 = ; p2 = 1 − p1
1 + e−β
h(t) = Hbase
In the data file rtte_data.txt, we use EVENT=1,2,... for the observed events and EVENT=0 for
the censored event:
INPUT:
parameter = Te
OBSERVATION:
Event = {type=event, hazard=1/Te}
OUTPUT:
output = Event
Example 1: warfarin_cat1_project
An immediate response model is used in this example:
DESCRIPTION: First order oral absorption with a lag-time, and ordered categorical data
INPUT:
parameter = {Tlag, ka, V, Cl, th1, th2, th3}
PK:
Cc= pkmodel(Tlag,ka,V,Cl)
OBSERVATION:
Level = {
type=categorical
OUTPUT:
output = {Cc, Level}
Example 2: warfarin_cat2_project
We use the same model as previously with an additional effect compartment
DESCRIPTION: First order oral absorption with a lag-time, effect compartment,
and ordered categorical data
INPUT:
parameter = {Tlag, ka, V, Cl, ke0, th1, th2, th3}
EQUATION:
{Cc,Ce}= pkmodel(Tlag,ka,V,Cl,ke0)
OBSERVATION:
Level = {
type=categorical
categories={1,2,3}
logit(P(Level<=1)) = -th1 + th2*Ce
logit(P(Level<=2)) = -th1 + th2*Ce + th3
}
OUTPUT:
output = {Cc, Level}
Residual error models are described in Section A.3 and their use with Monolix is described in
Section 3.3.7.
INPUT:
parameter = {F, ka, V, CL}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Version 1 using PK macros
PK:
compartment(amount=Ac)
absorption(adm=1, ka, p=F)
iv(adm=2)
elimination(k=CL/V)
Cc=Ac/V
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Version 2 using PK macros and ODEs
;PK:
;compartment(cmt=1, amount=Ad)
;compartment(cmt=2, amount=Ac)
;iv(adm=1, cmt=1, p=F)
;iv(adm=2, cmt=2)
;EQUATION:
;k=CL/V
;ddt_Ad = -ka*Ad
;ddt_Ac = ka*Ad - k*Ac
;Cc=Ac/V
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OUTPUT:
output = Cc
Example 2: admin2_project
The data file admin2_data.txt contains real PK data. This example is a combination of 3 oral
and 1 infusion administrations. Then the model takes into account the 3 bioavailabilities.
The Mlxtran model is admin2_mlxt.txt.
4.9.2 Steady-state
Example: ss1_project
The data file ss1_data.txt contains real PK data. This example is a combination of single dose
and steady-state.
Mlxtran models do not handle steady state administrations, and PK library models only
handles this kind of doses, when all the subjects have exactly one steady doses. That is why,
Monolix adds some doses artificially as an approximation of the steady state, converting the
doses to the multiple doses case, but ensuring that no doses are added before a previous dose,
event or observation of each subject. You can define the maximum number of doses that should
be added in the preferences file (see Appendix C).
Note: Steady-state doses are treated like if there were a new occasion with EVID= 4. That
means that it is possible to add inter-occasion variability and that it will not be possible to use
the simulation interface nor the hypothesis test on covariance model.
See PKmixt_project as an illustrative example: PK data were simulated using a one compart-
ment model and assuming two categories for the volume (β = 0.5). In this simulated example,
the column GROUP contains the labels (i.e. the groups), but the column GROUP is set to IGNORE.
Project PKgroup_project uses the same data file and the same model, but using the known
categorical covariate (setting GROUP to CAT). Then, a comparison of the results provided with
these two projects can be used to validate the proposed methodology for mixtures.
Similar exercises can easily be done with the examples provided for categorical covariates in
Section 4.4.
• BSMM assumes no inter-individual variabilities for the proportions of each group (ı.e. the
probabilities to belong to the different groups)
4.11 Tables
The button can generate some tables (see Section 3.8.2)) containing several informations:
predictions, residuals,. . . .
It is possible to include several additional columns in those tables by appending a table keyword
in section OUTPUT: at the end of the Mlxtran script file as explained in Mlxtran models
documentation.
For each variable set in table, a column will be created with the values of those variables for
each estimator of the individual parameters.
For instance, if you want to include the volume and the clearance used to compute the predictions,
append the line
table={V,Cl}
to the section OUTPUT: of the Mlxtran model.
• Users under floating licenses must be aware that a token is reserved from first use of
Monolix commands, and it must be freed manually. For that, you can close Matlab or
call
» clear classes;
As explained in Chapter 3, Monolix requires a project and for that we provide the class
MonolixProject.
You can create one from any Monolix project file
» aMonolixProject = MonolixProject(’Path/to/myProject.mlxtran’);
or you can load a new one if the object is already created
» aMonolixProject = MonolixProject(’Path/to/myProject1.mlxtran’);
» ...
» aMonolixProject.load(’Path/to/myProject2.mlxtran’);
Once the project created, the class MonolixProject proposes methods to:
• 1) define a scenario / workflow:
• 5) manage objects:
For further details on the MonolixProject class, or to see the list of available methods, type
» doc MonolixProject
or,
» help MonolixProject
In order to have more information about a given method and its arguments, type
» help MonolixProject/method
Important: The old functions proposed to user to create its own scripts are deprecated and
they will be removed in a future version. In order to adapt their scripts to Monolix evolution,
the function ver should be used to know the Monolix version from Matlab command line:
» v=ver(’monolix’);
» v.Version
For older versions of Monolix, Matlab function ver will return empty ([]).
Is it also possible to know if Matlab version is compatible with the Monolix package that has
been installed. For instance
» if mlxIsMatlabCompatible();error(’Wrong Matlab version’);end
DESCRIPTION:
warfarin_PK_project.mlxtran
DATA:
path = "%MLXPROJECT%/",
file ="warfarin_data.txt",
headers = {ID,TIME,DOSE,Y,YTYPE,COV,COV,CAT},
columnDelimiter = "\t"
VARIABLES:
age [use=cov],
sex [use=cov, type=cat],
wt,
t_wt = log(wt/70) [use=cov]
INDIVIDUAL:
Cl = {distribution=logNormal, covariate=t_wt, iiv=yes},
V = {distribution=logNormal, covariate=t_wt, iiv=yes},
ka = {distribution=logNormal, iiv=yes},
tlag = {distribution=logNormal, iiv=yes}
STRUCTURAL_MODEL:
file = "oral1_1cpt_TlagkaVCl",
path = "%MLXPATH%/libraries/PKLibrary",
output = {Cc}
OBSERVATIONS:
concentration = {type=continuous, prediction=Cc, error=combined1}
.
.
.
In the case that the two configuration files are missing, a warning will appear when loading the
project and Monolix will use the defaults settings. For description on how to write your own
Mlxtran projects, see ProjectMLXTRAN.pdf.
The XML-like format (.xmlx extension) is composed by only one file containing all the project
information
<monolix>
<project name="warfarin_PK_project.xml">
<covariateDefinitionList>
<covariateDefinition columnName="wt" name="t_wt" transformation="log(cov/70)" type="continuous"/>
<covariateDefinition columnName="age" type="continuous"/>
<covariateDefinition columnName="sex" type="categorical">
<groupList>
<group name="0" reference="true" values="0"/>
<group name="1" values="1"/>
</groupList>
</covariateDefinition>
</covariateDefinitionList>
<settings>
<tasks>
<scenario computeResults="reduced" estimateFisherInformationMatrix="true"
estimateIndividualParameters="true" estimateLogLikelihood="false" estimatePopulationParameters="true"/>
<individualParameterAlgorithms conditionalDistribution="false" conditionalMode="true"/>
<logLikelihoodAlgorithms importantSampling="true" linearization="true"/>
<fisherInformationMatrixAlgorithms linearization="true"/>
</tasks>
<options>
<estimateVariances value="true"/>
<showStandardErrorsInPercents value="true"/>
<resultFolder uri="%MLXPROJECT%/warfarin_PK_project" value="automatic"/>
</options>
.
.
.
</project>
</monolix>
• log files
• module directory (i.e. the directory containing the structural built from Mlxtran script
files)
and also:
• historic_size: size of the historic list for project files, and structural models.
• editor: text editor used to edit Mlxtran models. It could be set also with · · · button
in ModelList interface (see Section 3.3.2).
• modelFilter: select the default filter for the structural model: use m, mlxtran or none to
filter on .m files, Mlxtran files or to not filter at all.
Others settings allows to define installation preferences and are stored in the file system.xmlx
which is located in config on the Monolix installation folder (‘/Path/To/runtime/config’).
This file is shared by all the users and administration rights may be needed to modify it.
They include:
• userPath : select the default path of the ’monolixData’ directory. The path is set by
default to ’%USERPROFILE%’ under Windows or ’$HOME’ under Linux. If this setting is
changed, make sure to keep a user-specific path.
• compiler : under Linux OS, it is possible to choose the embedded compiler of Monolix
(this setting is located in the file ’system.xmlx’). Set the argument embed to true, if the
embedded compiler has been chosen.
Note: Both preference files are read when Monolix is open, so in order to Monolix to take
the changes into account, it must be reopened. If you use Monolix from Matlab command
line, then you should do
» clear classes
5.1 Introduction
PerlMLX is a helper tool that can be used to run
PerlMLX can be executed on Windows and Linux platforms (Matlab and standalone ver-
sion of Monolix are supported) and it can launch multiple runs simultaneously (which can
reduce drastically processing time).
All these features make PerlMLX a very efficient tool for mass processing.
PerlMLX is provided with a simple HMI but some users may prefer the command-line in-
terface (users working on clusters will have to use this command-line interface since clusters are
not managed by the HMI).
Note: PerlMLX relies on Perl scripts (hence its name !) which supposes of course that Perl
has been installed on the platform.
• Section 5.2 lists the environment variables that shall be set for PerlMLX to run (nothing
mandatory in fact but the definition of environment variables can me the scripts easier to
write)
116
Environment variables
• Section 5.5 describes how to launch Monolix without PerlMLX (the so called "Batch
mode")
These environment variables can be set with the shell commands below:
• Linux:
• Inputs control: used to define either the project files or the directories (containing the
project files) on which Monolix shall be run.
– If Directory is selected the user can enter via the text edit (or with the help of the
Browse Directory button) the directory(ies) which shall be processed. All the poject
files contained in the selected directory(ies) and its sub-directories will be processed.
– If File is selected user can enter via the text edit (or with the help of the Browse
File button) the Mlxtran or XMLX projects that shall be processed.
Whatever is the input selection mode, only the directories / files appended to the list
(through button Append directory / file to list) will be processed. Press button
See directories / files list to control this list (items can be discarded from the list
via Delete element button).
• Working directory: directory where all intermediate and temporary files are stored.
• Perl Script file: directory where the Perl script toolsRunner.pl can be found.
Note: Button Test PERL installation can be used to verify that perl command can be
accessed through the HMI. When this button is pressed a call to ‘perl -v’ (perl version)
is done. If this call is unsuccessfull the STD OUT / STD ERR will be painted in yellow (perl
version will be displayed in a white background otherwise). User can then use the Set
PERL directory button to select the directory where Perl is installed.
• Matlab control: combo Use MATLAB shall be set to NO on standalone versions and YE on
Matlab verions (path to Matlab installation shall then be entered)
Note: path to Matlab installation is something like ‘Path/To/MATLAB/R2012a’. What is
important is tha a subdirectory ‘bin’ where ‘matlab.exe’ can be found exists under this
path.
• Threads control: enter the number of threads that can be opened. On multiprocessor
machines this control can be used to force PerlMLX to use the maximum processing
power (or on the contrary limited resources !).
Note: it is possible to save and restore configuration via File menu, actions Export / import
mlxPerlScript Cfg
Note: light green and light red are used to distinguish between valid and invalid directories
/ files names.
User shall press the Launch Simulation button (in the Launcher group box at the bottom
of the HMI) to start the simulation. This group box can be docked and will show in the text
edit:
This illustrates an execution of Monolix on all XMLX and Mlxtran projects present in the
directory ‘$MONOLIXDATA/work/Demos’
$MONOLIX/bin/Monolix.sh [–nowin] \
-p <project> \
-f [run|saem|fim|ll|graphics]
• with the Matlab version of Monolix (the command has to be launched from the matlab
directory of the installation of Monolix , i.e. <monolix install path>/matlab)
matlab -wait \
-nosplash \
-nodesktop \
-r "monolix(’-nowin’, \
’-p’,’<project>’, \
’-f’,’[run|saem|fim|ll|graphics]’, \
’-destroy’ \
),exit"
• -f run|saem|fim|ll|graphics
5.5.3 Example
Run the standalone version of Monolix on the project PDsim1_project.mlxtran:
$MONOLIX/bin/Monolix.sh \
–nowin \
–p $MONOLIXDATA/demos/categorical_covariates/PDsim1_script.mlxtran -f run
5.6.3 Example
Setting up a configuration file
The following configuration file enables a cluster mode (e.g. Torque, PBS, GridEngine). A
task is submitted to the cluster using the command ’qsub’ which runs a script on a cluster mode.
[path]
; use a Matlab version of Monolix
; Matlab path
matlab=/opt/matlab/
; Monolix directory
monolix=/opt/Monolix-4.3.3-standalone-linux32
[monolix]
;do not use standalone version
standalone=false
[program-generic-options]
; one thread: on a cluster multi-threading is not necessary:
; the cluster uses a queue to dispatch program
; execution on the nodes
thread=1
[program-execute-options]
; PerlMLX needs a temporary directory to store intermediate files
workingDirectory=/tmp
; Specifics options to run Monolix on a cluster
; qsub is generally the program to submit a process on a cluster
; Typically qsub uses a script as the process to run; the script-embed option
; allows to create a shell script containing the Monolix command
command-prefix=qsub -V -u gandalf
script-embed=true
where MONOLIX and MONOLIXDATA are environment variables defined as explained in Section 5.2.
Validation suite
6.1 Introduction
The validation suite is the highest level of the tests, and is provided on request. It consists in
a set of project runs, whose results are compared with references results. A customer can also
add his own projects in the suite. A more detailed documentation on the testing strategy and
the development processes is also available on request.
The process of the validation suite consists in taking a set of projects with predefined scenarii
and to launch them with Monolix . The result files are then compared with the reference files.
Due to the Matlab kernel, slight numerical differences can appear between two Matlab versions
for a same project. This is why the validation suite is launched for each operating system and
each Matlab version with different references. It must be executed in batch mode, i.e. via a
command line, without a graphical interface.
6.2 Prerequisites
The informations below are required to run the validation suite in batch mode:
• directory path of Monolix,
• directory path of Matlab (does not apply to standalone Monolix)
• directory path of references files
A Perl installation is also required to run the validation suite.
6.3 Combinations
As described above, several sets of references results are required to cover platform variabilities.
The combinations are listed as follows.
129
Extensive coverage through the demo projects
Monolix version Matlab version Operating system
Install.exe 2008b Windows 32 bits
R2010a-Install.exe 2010a Windows 32 bits
R2010b-Install.exe 2010bSP1 Windows 32 bits
R2010b-Install.exe 2011a Windows 32 bits
R2010b-Install.exe 2011b Windows 32 bits
R2010b-Install.exe 2012a Windows 32 bits
standalone2008b-linux32.sh 2008b Linux 32 bits
matlab2010a-linux32.sh 2010a Linux 32 bits
matlab2010bSP1-linux32.sh 2010bSP1 Linux 32 bits
matlab2010bSP1-linux32.sh 2011a Linux 32 bits
matlab2010bSP1-linux32.sh 2011b Linux 32 bits
matlab2010bSP1-linux32.sh 2012a Linux 32 bits
standalone2008b-linux64.sh 2008b Linux 64 bits
matlab2010a-linux64.sh 2010a Linux 64 bits
matlab2010bSP1-linux64.sh 2010bSP1 Linux 64 bits
matlab2010bSP1-linux64.sh 2011a Linux 64 bits
matlab2010bSP1-linux64.sh 2011b Linux 64 bits
matlab2010bSP1-linux64.sh 2012a Linux 64 bits
Examples
Here we set the environment variable
• ‘MONOLIXSTD’ to ‘/opt/Monolix.4.3.3-standalone-linux32’,
• ‘MONOLIX’ to ‘/opt/Monolix.4.3.3-matlab2010bSP1-linux32’,
• ‘VALIDATIONSUITE’ to ‘/home/gandalf/validationSuite’
This illustrates an execution of Monolix on all XMLX and Mlxtran projects present in the
directory ‘$VALIDATIONSUITE/reference/lin32/2008b’. If the validation is successful, the user
should get
In the validation fails, it can be useful to store the output directory using the option ’keep-output’:
gandalf#> perl validationSuite.pl --use-matlab=true --keep-output=true \
--reference-directory=$VALIDATIONSUITE/reference/lin32/2010b \
--monolix-path=$MONOLIX/matlab \
--output-directory=/home/gandalf/output
--matlab-path=$MATLAB
The display shows the fields in the results which are not equal to reference results, and indicates
the order of errors.
• relative error
During the comparison, the absolute error is used. In the case where this error is too large
(> 10−3 ), the relative error is used.
Software plugins
7.1 Introduction
Monolix can be extended with the following plug-ins:
• DatXPlore is a graphical and interactive software for the exploration and visualization
of data.
• MlxPlore is a graphical and interactive software for the exploration and visualization
of complex pharmacometric models. It also includes the ability to study the statistical
variability of the models, and to model and study complex administrations designs.
Both DatXPlore and MlxPlore are available as standalone software, however they make a
powerful combination with Monolix , sharing data and models.
7.2 DatXPlore
DatXPlore opens an interface to choose and set the type of the dataset columns
135
DatXPlore
The DatXPlore graphical user interface then allows to view and manipulate data. Please refer
to the DatXPlore documentation to learn about its features.
• set the time grid (by default the grid is set by using the values of the data set)
• select the subjects which will be used to set the administration design
MlxPlore is then executed. Please refer to the MlxPlore documentation to learn about its
features.
Here,
• the regression variables, or design variables, (xij ) are assumed to be known, xij ∈ Rnx ,
ηi ∼i.i.d. N (0, Ω)
• the residual errors (εij ) are random variables with mean zero and variance 1,
• the residual error model is defined by the function g and some parameters ξ.
139
Individual parameters model
Here, the parameters of the model are θ = (µ, Ω, ξ). We will denote `(y; θ) the likelihood of the
observations y = (yij ; 1 ≤ i ≤ n , 1 ≤ j ≤ ni ) and p(y, ψ; θ) the likelihood of the complete data
(y, ψ) = (yij , ψi ; 1 ≤ i ≤ n , 1 ≤ j ≤ ni ). Thus,
Z
`(y; θ) = p(y, ψ; θ) dψ.
Let us see now the statistical model used in Monolix 4.3.3 more in details.
ψi = h(ϕi ) (A.3)
ϕi = Ci µ + ηi (A.4)
• assuming that ψi,` takes its values in (0, 1), we can use a logit transformation h` (u) =
1/(1 + e−u ), or a probit transformation h` (u) = Φ(u).
• assuming that ψi,` takes its values in (A, B), we can define h` (u) = A + (B − A)/(1 + e−u ),
or h` (u) = A + (B − A)Φ(u).
In the following, we will use either the parameters ψi or the Gaussian transformed parameters
ϕi = h−1 (ψi ).
The model can address continuous and/or categorical covariates.
Then,
log(CLi )
ϕi =
log(Vi )
log(CLpop )
log(Vpop )
1 0 Wi? A?i
0
+ ηi,1
= βCL,W
0 1 0 0 Wi? ηi,2
βCL,A
βV,W
= Ci µ + ηi
log(CLi ) = log(CLpop,k ) + ηi
log(CLpop,k ) = log(CLpop,k? ) + βk
where βk? = 0.
The variance of the random effects can also depend on this categorical covariate:
ηi ∼ N (0, Ωk ) if Gi = k
Remark: It is assumed in Monolix 4.3.3 that the correlation matrix of the random effect is
the same for all the groups. In other words, only the variances of the random effects can differ
from one group to another.
Monolix
Choice of the transformation is described in Section 3.3.5.
Selection of the covariate model is described in Section 3.3.3.
Examples with categorical covariates are given in Section 4.4.
• a combined error model with power assumes that g = a + b f c and ξ = (a, b, c),
• ...
Furthermore, all these error models can be applied to some transformation of the data:
For example:
t(y) = log(y)
y = f egε
• the logit error model can be extended if we assume that A < y < B:
It is possible with Monolix to assume that the residual errors (εij ) are correlated:
Here, we assume that 0 ≤ ρ < 1 and that for any i, (xi,j , 1 ≤ j ≤ ni ) is an increasing sequence
of regression scalar variables.
(2)
This is useful, for example, for PKPD models in which the input of the PD model xij is the
(1)
concentration, that is the output of the PK model f1 (xij , ψi ).
Monolix
How to handle models with multiple outputs is described in Section 4.2.
Several examples are provided using the warfarin data:
warfarin_PKPD1_project, warfarin_PKPD2_project, warfarin_PKPD3_project,
warfarin_PKPD4_project.
• log-normal
• logit-normal
• probit-normal
Monolix
How to use priors on fixed effects is described in Section Section 4.3.
The data-set
One of the first thing that the software does is to define the line type. Indeed, a line can be:
- a dose-line: a line that contains information about the dose’s regimen
- a title-line: it is the first line of the data-set which can be used to define column-names
(see following paragraph)
147
General description
Combinations are possible and a line can be both a dose-line and a regression-line (in other
words it is possible to define in a same line a dose regimen and the regression values). But
a line cannot be both a dose-line and a response-line. In other words two lines will be
necessary to define a dose-regimen and a measure at the same time-stamp.
The title-line is the first line of the data-set. It is free and can be used to specify column-names.
It is important to understand the difference between column-names and a column-types: as al-
ready stated the column-names are totally free but the column-types shall belong to a list of
pre-defined keywords. They are used to identify the column’s role.
For instance, fourth column of the sample data-set contains measurement information and will
then have column-type Y. A name (CONC) has been entered to indicate that the measurement
corresponds to a concentration.
Note: string ‘.’ will not be interpreted as a repetition of the previous line. As a consequence
the data-set B.1 generates two subject-occasions:
Table B.1: A data-set that defines two subject-occasions: subject ‘John’ and subject ‘.’
Note: string ‘.’ will not be interpreted as a repetition of the previous line. As a consequence
the data-set B.2 generates three subject-occasions:
ID OCC ...
John Occ1 ...
John Occ2 ...
John . ...
IMPORTANT NOTE: Occasions are ordered lexicographically. For instance the data-set
B.3 defines subject ‘John’ with four occasions:
ID OCC ...
John 1 ...
John 2 ...
John 3 ...
John 10 ...
John 11 ...
- a double: xx.yy
- using hours, minutes format with optional AM/PM tag: hh:mm [AM/PM]
- using hours, minutes seconds format with optional AM/PM tag: hh:mm:ss [AM/PM]
Note: String ‘.’ will not be interpreted as a repetition of the previous line. It will throw an
exception as any non-compliance with formats listed here-above.
Note: When there is no column-type TIME, the column-type DATE is used to time-stamp data
(see next section).
If there is neither TIME nor DATE column-type, first regression-column (i.e. first column with
column-type X) will be used to time-stamp data.
If there is neither TIME, nor DATE/REGRESSION column-type, an exception is thrown since it is
then impossible to time-stamp data.
- using month, day, year format (two or four digits): mm-dd-yy / mm-dd-yyyy
- using day, month, year format (two or four digits): dd-mm-yy / dd-mm-yyyy
- using month, day, year format (two or four digits): mm-dd-yy / mm-dd-yyyy
- using year, day, month format (two or four digits): yy-dd-mm / yyyy-dd-mm
Note: day month year separator shall be either string ‘/’ or string ‘-’. It is possible to mix
separators between lines but the use of another separator will raise an exception.
Note: year, day month shall be integers (an exception is thrown if it is impossible to convert to
int string between two separators).
Note: string ‘.’ will not be interpreted as a repetition of the previous line but will throw an
exception as any non-compliance with formats listed here-above.
Note: when year is coded with two digits then it is interpreted as 20xx. For instance, using
format DAT2, 12/07/41 is interpreted as december the 7th 2041.
When a dose-column contains a double value dAmount with dAmount 6= 0 then it will be consid-
ered as a dose-line (i.e. a line containing dose information). If dAmount = 0 then it will be
interpreted as a dose-line if the response-column (i.e. the content of column with column-type
Y, see section B.2.6) contains either 0 or string ‘.’.
Note: when a line contains both dose and response information (see section B.2.6) dose infor-
mation is not taken into acount. For instance if the line content is
TIME ID AMT Y
12.1 Tom 1.1 12.6
then response Y is set to 12.6 at time 12.1 but no dose is added ! Of course it is possible to
specify a response and a dose at same time but lines shall be duplicated. With:
TIME ID AMT Y
12.1 Tom . 12.6
12.1 Tom 1.1 .
a response Y is set to 12.6 at time 12.1 and a dose amount 1.1 is also set at time 12.1.
For dose-lines, this column shall contain only strings that can be converted to int (an exception
will be thrown otherwise).
They are used to associate a compartment to the dose.
For dose-lines, this column behaves exactly like column ADM_TYPE. For reponse-lines, this
column behaves exactly as YTYPE.
This column can contain any string to specify the administration’s type.
Note: string ‘.’ will not be interpreted as repetition of previous column but as a type of ad-
ministration.
The column’s content is meaningful only for dose-lines and format shall be for such lines:
- any double value. 0 is interpreted as ‘.’. A negative value denotes an oral administration.
The first added dose will have wash-out, thus for clarity an EVID colum has been included in
the previous example. But of course it is possible to specify a steady-state even if there is no
EVID column in the data-set.
However an II column is mandatory to specify the period between the five added doses to reach
steady-state. The absence of this column will throw an exception (see hereunder for the com-
plete list of exceptions).
Format restrictions:
- a data-set shall not contain more than one column with column-type SS (an exception
will be thrown otherwise).
- a data-set shall not contain more than one column with column-type II (an exception
will be thrown otherwise).
- when a data-set contains a column with column-type SS and no column with column-type
II then an exception is thrown.
- when a data-set contains a column with column-type II and no column with column-type
SS or ADDL then a SS column is created with:
- when a data-set contains a column with column-type II and no column with column-type
SS but a column with column-type ADDL then a SS column is created with:
- the column is meaningful only for dose-lines. Its format shall be (for all lines including
reponse-lines for which SS information is not applicable) :
but ADDL and II (interdose-interval) can also be used to specify the same information in a
single line
- ADDL shall only contain positive (or null) integers or ‘.’ (which will be replaced by 0).
Non-compliance will throw an exception
- when there is an ADDL column there shall exist an II (interdose interval) column. Non-
compliance will throw an exception
- for dose-lines with ADDL strictly positive, the interdose-interval shall be striclty pos-
itive (non-compliance will throw an exception).
ADDL is the number of times the dose shall be repeated and column II contains the dose
repetition interval. With following notations:
there will be (nADDL +1) doses of damount at times tDose , tDose +iDose , tDose +2iDose , ... ,
tDose +nADDL iDose
Note: concerning wash-outs for repeated dose: if a dose has wash-out (EVID=4) and a repetition
is required, duplicated doses will have wash-out set to false. Following table illustrates this point:
Continuous covariate columns shall contain either strings that can be converted to double or ‘.’
(an exception will be thrown otherwise).
There shall be one covariate defined per subject-occasion and an exception will be thrown
Note: String ‘.’ can be used to prevent multiple definitions of a covariate for a subject-occasion
(it is interpreted as an absence of definition).
Several valid and problematic schemes are given in the following tables:
It is possible to enter in a CAT column any string and ‘.’ has no special meaning.
There shall be one categorical covariable defined per subject-occasion and an exception will
be thrown:
Note: as string ‘.’ has no peculiar interpretation, following scheme will throw an exception:
The regression-columns (i.e. columns with column-type X) shall contain either strings that
can be converted to double or ‘.’ (non-compliance will raise an exception).
Within a given subject-occasion, string ‘.’ will be interpolated (nearest neighbor interpola-
tion is used) for dose-lines only (N.B.: if there is an EVID column dose-lines correspond to
EVID = 1 or EVID = 4)
NOTE: An exception is raised when within a subject-occasion there are two different values
for a regression at the same time.
- X(5) = 1 (from direct reading of input file even if the line does not correspond to a dose)
- X(20) = -6 (from direct reading of input file even though the line does not correspond to
a dose)
- X(30) = NaN (regression is undefined in the input file but since it is not a dose-line, no
interpolation is realized)
Response-column (i.e. column with column-type Y) shall contain double value or string ‘.’.
Any other value will raise an exception.
When there is no EVID or MDV column (see hereunder), a line is considered as a response-line
if it contains:
Note: when non null double value are both present in dose-column and response-column, an
exception is thrown (as already state a line can not be a dose-line and a response-line).
For response-lines, YTYPE identifies the response type or name with ‘.’ not interpreted as a
repetition or previous line but as the name of a reponse. For instance with:
Possible values are -1, 1, 0 (string ‘.’ will be interpreted as 0) and an exception will be
thrown if any other value is used.
- CENS = 1 means that the value in response-column (yobserved , the content of the column
with column-type Y) is an upper limit ⇔ true observation y verifies y < yobserved
- CENS = 0 means the the value in response-column corresponds to a valid observation (no
interval associated)
- CENS = -1 means that the value in response-column (yobserved ) is a lower bound ⇔ true
observation y verifies y > yobserved
If a data-set contains a column with column-type LIMIT, it shall contain a column with
column-type CENS (an exception is thrown otherwise).
Column LIMIT shall contain either a string that can be converted to a double or ‘.’ (non
compliance will raise an exception).
- when column LIMIT contains a string that can be converted to a double and CENS = 1,
then value ylimit in column LIMIT is interpreted as the lower bound of the observation
interval ⇔ with yobserved the value in the response-column (the content of the column
with column-type Y), true observation y verifies ylimit < y < yobserved
- when column LIMIT contains a string that can be converted to a double and CENS = -1,
then value ylimit in column LIMIT is interpreted as the upper bound of the observation
interval ⇔ with yobserved the value in the response-column, true observation y verifies
ylimit > y > yobserved
Note: when a line is tagged (EVID = 0 or ‘.’) and the observation contained in column Y
cannot be converted to a double value, an exception is thrown. Indeed since EVID = 0 indicates
that the line is a response-line there is a contradiction if the content of Y cannot be converted
to a double.
Note: when a line is tagged (EVID = 1, EVID = 4) with a string in dose-column (i.e. content of
the colum with column-type AMT) which cannot be converted to a double an exception is thrown
(same rationale that in preceding note).
MDV shall contain only integers belonging to interval [0; 2]. Non-compliance will raise an ex-
ception.
When there are multiple MDV columns, a synthetic value MDVsynth is computed as:
When a line is tagged MDV = 1 then the value in column Y will not be taken into account (the
value in dose-column - if any valid value is present - will be taken into account).
When a line is tagged MDV = 2 then the value in response-column is not taken into acvount (the
value in dose-column, if present, will be taken into account). The values in regressions-columns
are taken into account.
An exception is also thrown when MDV = 0 and EVID = 1 (same reason as previously).
Preferences
This appendix provides the details of Monolix preferences. The preferences are defined in the
preferences.xmlx file. The file is loaded when Monolix is started.
C.1 General
The user can modify the data to customize his own preferences.
2. Modify the chosen fields, then save and restart Monolix if the software is opened.
Note :To restore default settings, just delete the file and restart.
This chapter describes the correspondences between the file data and preferences in Monolix.
1. matrix - value corresponds to the number of rows and vector contains all the elements of
the matrix.
2. list of chars - <charList> tag contains a set of tags <char> which have chars as value.
171
Graphic settings
C.2.1 Categorized Data
Data Description Type
fill_cat_color Color of theoretical distribution line matrix
fill_out_color Outliers color matrix
fill_CI Color of confidence intervals matrix
line_LineStyle Lines style value
line_LineWidth Lines width value
line_Color Lines color matrix
bins_Color Color of bins limit lines matrix
figure_background Color of figure background matrix
C.2.2 Covariates
Data Description Type
data_Color Data colors matrix
data_Marker Data markers List of characters
data_MarkerSize Size of data markers value
spline_LineStyle Line style of spline value
spline_LineWidth Line width of spline value
spline_Color Line color of spline matrix
regression_LineStyle Style of regression line value
regression_LineWidth Width of regression line value
regression_Color Color of regression line matrix
line_LineStyle Lines style value
line_LineWidth Lines width value
line_Color Lines color matrix
figure_background Color of figure background matrix
For fill_shading setting, a 2 × 3 matrix is necessary, that corresponds to the two limit colors
used to fill the areas.
For bar_Color setting, a 2 × 3 matrix is necessary, that corresponds to the two likelihoods.
C.3.3 gui
datasetSelection
Field Description Type
nbShownColumns number of columns to show value
nbRows number of rows to show (maximum 10) value
[1] Allassonnière, S., Kuhn, E., and Trouvé, A. Construction of Bayesian deformable
models via stochastic approximation algorithm: A convergence study. Bernoulli (to appear)
(2010).
[2] Bertrand, J., Comets, E., and Mentré, F. Detecting a gene effect in pharmacokinetic
models: comparison of different methods (poster). PAGE, Brugge (2006).
[3] Chan, P.and Jacqmin, P., Lavielle, M., McFadyen, L., and Weatherley,
B. The use of the SAEM algorithm in MONOLIX software for estimation of popula-
tion pharmacokinetic-pharmacodynamic-viral dynamics parameters of maraviroc in asymp-
tomatic HIV subjects. Journal of Pharmacokinetics and Pharmacodynamics (to appear)
(2010).
[4] Comets, E., Verstuyft, C., Lavielle, M., Jaillon, P., Becquemont, L., and
Mentre, F. Modelling the influence of MDR1 polymorphism on digoxin pharmacokinetic
parameters. European Journal of Clinical Pharmacology 63 (2007), 437–449.
[5] Davidian, M., and Giltinan, D. Nonlinear Models for Repeated Measurement Data.
Chapman and Hall, 1995.
[6] Davidian, M., and Giltinan, D. Nonlinear models for repeated measurements: An
overview and update. JABES 8 (2003), 387–419.
[7] Delattre, M., Del Moral, P., and Lavielle, M. The SAEM algorithm in MONOLIX
for non-linear mixed effects models with stochastic differential equations (poster). PAGE,
Berlin (2010).
[8] Delattre, M., Savic, R., Miller, R., Karlsson, M., and Lavielle, M. Estima-
tion of mixed hidden Markov models with SAEM. Application to daily seizures data. (oral
presentation). PAGE, Berlin (2010).
[9] Delyon, B., Lavielle, M., and Moulines, E. Convergence of a stochastic approxima-
tion version of the EM algorithm. Ann. Statist. 27, 1 (1999), 94–128.
[10] Donnet, S., and Samson, A. Estimation of parameters in incomplete data models defined
by dynamical systems. Journ. of Stat. and Plan. Infer. 50 (2007), 2381–2398.
181
BIBLIOGRAPHY
[11] Girard, P., and Mentré, F. A comparison of estimation methods in nonlinear mixed
effects models using a blind analysis (oral presentation). PAGE, Pamplona (2005).
[12] Jaffrézic, F., Meza, C., Foulley, J., and Lavielle, M. The SAEM algorithm for
the analysis of nonlinear traits in genetic studies. Genetics Selection Evolution 38 (2006),
583–600.
[13] Kuhn, E., and Lavielle, M. Coupling a stochastic approximation version of EM with a
MCMC procedure. ESAIM P&S 8 (2004), 115–131.
[14] Kuhn, E., and Lavielle, M. Maximum likelihood estimation in nonlinear mixed effects
models. Computational Statistics and Data Analysis 49, 4 (2005), 1020–1038.
[15] Lavielle, M., and Kuhn, E. Maximum likelihood estimation in nonlinear mixed effects
models (oral communication). PAGE, Verona (2003).
[16] Lavielle, M., and Mentré, F. Estimation of population pharmacokinetic parameters
of saquinavir in HIV patients and covariate analysis with MONOLIX (poster). PAGE,
Pamplona (2005).
[17] Lavielle, M., and Mentré, F. Estimation of population pharmacokinetic parameters of
saquinavir in HIV patients with the MONOLIX software. Journal of Pharmacokinetics and
Pharmacodynamics 34, 2 (2007), 229–249.
[18] Lavielle, M., Mesa, H., Chatel, K., and Vermeulen, A. Mixture models and model
mixtures with MONOLIX (oral presentation). PAGE, Berlin (2010).
[19] Makowski, D., and Lavielle, M. Using SAEM to estimate parameters of models of
response to applied fertilizer. Jour. of Agr., Bio, and Env. Stat. 11, 1 (2006), 45–60.
[20] Panhard, X., and Samson, A. Extension of the SAEM algorithm for the estimation of
inter-occasion variability: application to the population pharmacokinetics of nelfinavir and
its metabolite m8 (poster). PAGE, Brugge (2006).
[21] Pinheiro, J. C., and Bates, D. M. Mixed-Effects Models in S and S-PLUS. Springer,
New York, 2000.
[22] Samson, A., Lavielle, M., and Mentré, F. Approximation EM algorithm in nonlinear
mixed effects models: an evaluation by simulation (oral communication). PAGE, Uppsala
(2004).
[23] Samson, A., Lavielle, M., and Mentré, F. Extension of the SAEM algorithm to
left-censored data in nonlinear mixed-effects model: application to HIV dynamics model.
Computational Statistics and Data Analysis 51 (2006), 1562–1574.
[24] Samson, A., Lavielle, M., and Mentré, F. The SAEM algorithm for non-linear mixed
models with left-censored data and differential systems: application to the joint modeling
of hiv viral load and cd4 dynamics under treatment (oral presentation). PAGE, Brugge
(2006).
[26] Samson, A., Panhard, X., Lavielle, M., and Mentré, F. Generalisation of the SAEM
algorithm to nonlinear mixed effects model defined by differential equations: application to
HIV viral dynamic models (poster). PAGE, Pamplona (2005).
[27] Savic, R., and Lavielle, M. A new SAEM algorithm: Performance in population models
for count data. Journal of Pharmacokinetics and Pharmacodynamics 36 (2009), 367–379.
[28] Savic, R., Mentre, F., and Lavielle, M. Implementation and evaluation of an SAEM
algorithm for longitudinal ordered categorical data with an illustration in pharmacometrics.
The AAPS Journal (to appear) (2010).
[29] Snoeck, E., Chanu, P., Lavielle, M., Jacqmin, P., Jonsson, N., Jorga, K., Gog-
gin, T., Jumbe, S., and Frey, N. Hepatitis C viral dynamics explaining breakthrough,
relapse or response after chronic treatment. Clinical Pharmacology and Therapeutics (AAPS
Outstanding Manuscript Award in Modeling and Simulation) 87 (2010), 706–713.