2. Schedule
9.15: MONOLIX 4: presentation & demos, Marc Lavielle (Inria, POPIX)
10.15: Lixoft, status & future plans, Jérôme Kalifa (Lixoft)
10.45: Pause
11.00: New challenges for MONOLIX
1. An overview of POPIX and DDMoRe activities, Marc Lavielle (Inria, POPIX)
2. New challenges in oncology, Benjamin Ribba (Inria, NUMED)
12.15: Buffet
13.45: MONOLIX Guidance Committee meeting
16.30: End of the MONOLIX Day
3. Some new features in MONOLIX 4
New graphics
New MLXTRAN
full project programming
complex PK models
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
4. Some new features in MONOLIX 4
New graphics
New MLXTRAN
full project programming
complex PK models
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
5. Some new features in MONOLIX 4
New graphics
New MLXTRAN
complex PK models
full project programming
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
6. MLXTRAN for PK model
Example 1: oral administration, 1cpt, first order absorption
PK model The data
ID TIME AMT CONC
1 0 100 .
1 0.5 . 0.15
1 2 . 0.71
1 3 . 0.97
1 6 . 1.77
1 12 . 3.64
1 24 . 4.09
1 36 . 3.36
1 48 . 2.83
1 72 . 2.18
1 96 . 1.40
1 120 . 1.32
7. MLXTRAN for PK model
Example 1: oral administration, 1cpt, first order absorption
PK model The data MLXTRAN
Full ODE
ID TIME AMT CONC $INPUT
1 0 100 . psi = {ka, V, Cl}
1 0.5 . 0.15
1 2 . 0.71
1 3 . 0.97 $PK
1 6 . 1.77 compartment(amount=Ad)
1 12 . 3.64 iv(dpt=1, cmt=1)
1 24 . 4.09
1 36 . 3.36
1 48 . 2.83 $EQUATION
1 72 . 2.18 ddt_Ad = - ka*Ad
1 96 . 1.40
ddt_Ac = ka*Ad - k*Ac
1 120 . 1.32
Cc = Ac/V
$OUTPUT
output = Cc
8. MLXTRAN for PK model
Example 1: oral administration, 1cpt, first order absorption
PK model The data MLXTRAN MLXTRAN
Full ODE Built-in functions
ID TIME AMT CONC $INPUT $INPUT
1 0 100 . psi = {ka, V, Cl}
1 0.5 . 0.15
psi = {ka, V, Cl}
1 2 . 0.71
1 3 . 0.97 $PK $PK
1 6 . 1.77 compartment(amount=Ad) compartment(amount=Ac)
1 12 . 3.64 iv(dpt=1, cmt=1)
1 24 . 4.09 absorption(ka)
1 36 . 3.36 elimination(k=Cl/V)
1 48 . 2.83 $EQUATION Cc = Ac/V
1 72 . 2.18 ddt_Ad = - ka*Ad
1 96 . 1.40
ddt_Ac = ka*Ad - k*Ac
1 120 . 1.32
Cc = Ac/V $OUTPUT
output = Cc
$OUTPUT
output = Cc
9. MLXTRAN for PK model
Example 1: oral administration, 1cpt, first order absorption
PK model The data MLXTRAN MLXTRAN
Full ODE Built-in functions
ID TIME AMT CONC $INPUT $INPUT
1 0 100 . psi = {ka, V, Cl}
1 0.5 . 0.15
psi = {ka, V, Cl}
1 2 . 0.71
1 3 . 0.97 $PK $PK
1 6 . 1.77 compartment(amount=Ad) Cc = pkmodel(ka, V, Cl)
1 12 . 3.64 iv(dpt=1, cmt=1)
1 24 . 4.09
1 36 . 3.36 $OUTPUT
1 48 . 2.83 $EQUATION output = Cc
1 72 . 2.18 ddt_Ad = - ka*Ad
1 96 . 1.40
ddt_Ac = ka*Ad - k*Ac
1 120 . 1.32
Cc = Ac/V
$OUTPUT
output = Cc
10. MLXTRAN for PK model
Example 2: oral 1cpt, sequential zero order – first order absorptions
PK model The data MLXTRAN
Built-in functions
$INPUT
ID TIME AMT CONC psi = {Fr, Tk0, ka, V, Cl}
1 0 100 .
1 0.5 . 0.15
1 2 . 0.71
1 3 . 0.97
$PK
1 6 . 1.77 compartment(amount=Ac)
1 12 . 3.64
1 24 . 4.09 absorption(Tk0, p=Fr)
1 36 . 3.36 absorption(ka, Tlag=Tk0, p=1-Fr)
1 48 . 2.83
1 72 . 2.18 elimination(k=Cl/V)
1 96 . 1.40
1 120 . 1.32
Cc = Ac/V
$OUTPUT
output = Cc
11. MLXTRAN for PK model
Example 3: IV bolus 2cpt, Michaelis Menten elimination
PK model MLXTRAN
Built-in functions
$INPUT
psi = {k12, k21, V, Vm, Km}
$PK
compartment(cmt=1, amount=Ac)
iv(dpt=1, cmt=1)
peripheral(k12, k21)
elimination(cmt=1, Vm, Km)
Cc = Ac/V
$OUTPUT
output = Cc
12. MLXTRAN for PK model
Example 3: IV bolus 2cpt, Michaelis Menten elimination
PK model MLXTRAN MLXTRAN
Built-in functions Mixed ODE/Built-in functions
$INPUT
$INPUT
psi = {k12, k21, V, Vm, Km}
psi = {k12, k21, V, Vm, Km}
$PK
$PK
compartment(cmt=1, amount=Ac)
compartment(cmt=1, amount=Ac)
iv(dpt=1, cmt=1)
iv(dpt=1, cmt=1)
peripheral(k12, k21)
peripheral(k12, k21)
elimination(cmt=1, Vm, Km)
$EQUATION
Cc = Ac/V
ddt_Ac = -Vm*Ac/(V*Km + Ac)
Cc = Ac/V
$OUTPUT $OUTPUT
output = Cc output = Cc
13. MLXTRAN for PK model
Example 3: IV bolus 2cpt, Michaelis Menten elimination
PK model MLXTRAN MLXTRAN
Built-in functions Mixed ODE/Built-in functions
$INPUT $INPUT
psi = {k12, k21, V, Vm, Km} psi = {k12, k21, V, Vm, Km}
$PK $PK
Cc = pkmodel(k12 , k21, V, Vm, Km) compartment(cmt=1, amount=Ac)
iv(dpt=1, cmt=1)
peripheral(k12, k21)
$OUTPUT
output = Cc $EQUATION
ddt_Ac = -Vm*Ac/(V*Km + Ac)
Cc = Ac/V
$OUTPUT
output = Cc
14. MLXTRAN for PK model
Example 4: multiple administrations & multiple compartments
PK model
17. Some new features in MONOLIX 4
New graphics
New MLXTRAN
complex PK models
full project programming
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
18. Full MLXTRAN for PK/PD model
Model Coding Language
$DATA
path="%MLXPROJECT%/",
file="warfarin_data.txt",
headers={ID, TIME, DOSE, Y, YTYPE, COV, SEX},
$VARIABLE
wt,
lwt = log(wt/70) [use=cov]
sex [use=cov, type=cat]
$INDIVIDUAL
default={distribution=logNormal, iiv=yes},
Tlag, ka, V={covariate=lwt}, Cl,
Imax={distribution=logitNormal, iiv=no}, C50, Rin, kout
$STRUCTURAL_MODEL
file="mlxt:turnover2_mlxt",
path="%MLXPROJECT%/libraryMLXTRAN",
output={Cc, E}
$OBSERVATIONS
Concentration = {type=continuous, prediction=Cc, error=comb1},
Effect = {type=continuous, prediction=E, error=constant}
19. Full MLXTRAN for PK/PD model
Model Coding Language Task Execution Language
$DATA
path="%MLXPROJECT%/", $TASKS
file="warfarin_data.txt", globalSettings={
headers={ID, TIME, DOSE, Y, YTYPE, COV, SEX}, settingsAlgorithms="%MLXPROJECT%/pkpd_algo.xmlx" ,
settingsGraphics="%MLXPROJECT%/pkpd_graphics.xmlx",
$VARIABLE resultFolder="%MLXPROJECT%/pkpd_project" },
wt,
lwt = log(wt/70) [use=cov] estimatePopulationParameters(
sex [use=cov, type=cat] initialValues={
POP_V = 10,
$INDIVIDUAL POP_Cl = 0.1,
default={distribution=logNormal, iiv=yes}, POP_Imax = 0.5 }),
Tlag, ka, V={covariate=lwt}, Cl,
Imax={distribution=logitNormal, iiv=no}, C50, Rin, kout estimateFisherInformationMatrix(
method={ linearization} ),
$STRUCTURAL_MODEL
file="mlxt:turnover2_mlxt", estimateIndividualParameters(
path="%MLXPROJECT%/libraryMLXTRAN", method={ conditionalMean, conditionalMode} ),
output={Cc, E}
estimateLogLikelihood(
$OBSERVATIONS method={linearization, importanceSampling} )
Concentration = {type=continuous, prediction=Cc, error=comb1},
Effect = {type=continuous, prediction=E, error=constant}
20. Some new features in MONOLIX 4
New graphics
New MLXTRAN
complex PK models
full project programming
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
21. MLXTRAN for Time-To-Event model
Example 1
constant hazard model
$INPUT
psi = Hbase
$OBSERVATION
adverseEvent = {type=event, hazard=Hbase/365)
$OUTPUT
output = adverseEvent
22. MLXTRAN for Time-To-Event model
Example 1 Example 2
constant hazard model Joint PK-RTTE model
$INPUT $INPUT
psi = Hbase psi = {ka, V, Cl, gamma}
$PK
$OBSERVATION Cc = pkmodel(ka, V, Cl)
adverseEvent = {type=event, hazard=Hbase/365)
$OBSERVATION
$OUTPUT Hemorrhaging= {type=event, hazard=gamma*Cc)
output = adverseEvent
$OUTPUT
output = {Cc, Hemorrhaging}
23. Full MLXTRAN for joint PK-RTTE model
Model Coding Language
$DATA
path="%MLXPROJECT%/",
file="pkrtte_data.txt",
headers={ID,TIME,DOSE,Y,YTYPE,CENS},
$INDIVIDUAL
default={ distribution = logNormal, iiv = yes },
ka, V, Cl, gamma
$STRUCTURAL_MODEL
file="mlxt:pkrtte_mlxt",
path="%MLXPROJECT%/libraryMLXTRAN",
output={Cc, Hemorrhaging }
$OBSERVATIONS
Concentration = { type=continuous, prediction=Cc, error=comb1},
Hemorrhaging = { type=event}
24. Full MLXTRAN for joint PK-RTTE model
Model Coding Language Task Execution Language
$DATA $TASKS
path="%MLXPROJECT%/", globalSettings={
file="pkrtte_data.txt", settingsAlgorithms="%MLXPROJECT%/pkrtte_algo.xmlx" ,
headers={ID,TIME,DOSE,Y,YTYPE,CENS}, settingsGraphics="%MLXPROJECT%/pkrtte_graphics.xmlx",
resultFolder="%MLXPROJECT%/pkrtte_project" },
$INDIVIDUAL
default={ distribution = logNormal, iiv = yes }, estimatePopulationParameters(
ka, V, Cl, gamma initialValues={
POP_ka = 1,
$STRUCTURAL_MODEL POP_V = 10,
file="mlxt:pkrtte_mlxt", POP_Cl = 0.1,
path="%MLXPROJECT%/libraryMLXTRAN", POP_gamma = 0.005 }),
output={Cc, Hemorrhaging }
estimateFisherInformationMatrix(
$OBSERVATIONS method={ stochasticApproximation} ),
Concentration = { type=continuous, prediction=Cc, error=comb1},
Hemorrhaging = { type=event} estimateIndividualParameters(
method={ conditionalMode } ),
25. Some new features in MONOLIX 4
New graphics
New MLXTRAN
full project programming
complex PK models
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
26. Some new features in MONOLIX 4
New graphics
New MLXTRAN
full project programming
complex PK models
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
27. Some new features in MONOLIX 4
New graphics
New MLXTRAN
full project programming
complex PK models
(repeated) time-to-event models
Workflows
Convergence assessment
Batch mode and scripts
28. Monolix Batch Modes
Running a single Monolix project through a shell with a simple command line
Using the Standalone version of Monolix
Under linux Under windows
monolix.sh –nowin –p myproject.mlxtran –f run monolix.bat –nowin –p myproject.mlxtran –f run
Using the Matlab Version of Monolix
matlab –wait –nosplash –nodesktop –r “monolix(„-nowin‟,‟-p‟,‟myproject.mlxtran‟,‟-f‟,‟run‟,‟-destroy‟),exit”
29. Monolix Batch Modes
Use PSMLX as a command line helper
Help user to run Monolix on numerous projects stored into a directory
perl toolsRunner.pl –tool=execute –config=myconfig.ini –input-directories=/home/gandalf/myprojects_dir/
; myconfig.ini
[path]
; matlab path
matlab=/opt/matlab
; monolix path
monolix=/opt/Monolix-4.1.0-matlab2009a-linux64/matlab/
[monolix]
; monolix version (here we do not use standalone)
standalone=false
[program-generic-options]
; number of instances of monolix run in same time
thread=4