Dear all,
I have a problem regarding delay differential equations (DDEs) in NONMEM. So
far, I have been unable to find a way of successfully using DDEs in NONMEM,
due to there being no in-built DDE solver (as far as I know). To me, it
seems that the problem is that there is no way of recalling the value of the
dependant variable at an earlier time point within the $DES block (u(t-T),
where T is some fixed value, possibly to be estimated). I think that the
problem is not a simple one to solve as NONMEM uses an adaptive step size
when performing the integration, so even if there was a table output of the
past values of the dependant variable, the value at the exact time (u(t-T))
might not exist.
Has anybody been able to successfully implement DDEs in NONMEM? I would
really appreciate some help with this.
Note: I am talking about DDEs in a general sense, I know that certain
specific cases of DDEs can be solved in NONMEM (ref: Modelling of delays in
PKPD, classical approaches and a tutorial for delay differential equations,
G Koch, W. Krzyzanski, J. J. Perez-Ruixo, Johannes schropp, JPKPD).
Many thanks,
Jon Moss, PhD
Modeller
BAST Inc Limited
Loughborough Innovation Centre
Charnwood Wing
Holywell Park
Ashby Road
Loughborough, LE11 3AQ, UK
Tel: +44 (0)1509 222908
DDEs in NONMEM
2 messages
2 people
Latest: Mar 07, 2016
Dear Jon,
Thera are two aspects of DDEs that make them different from ODEs: presence of
delays states and need to define a past (history of the states).
Implementation of DDEs in software that does not have a DDE solver but has an
ODE one is (in general) not a trivial task, but it is possible. The idea is to
convert a system of DDEs to a system of ODEs. This can be done for any DDE
system with fine number of delays that needs to be solved on over a finite time
interval 0<t<tend. The technique to apply is methods of steps. The methods of
steps is particularly efficient for category 2.5 DDEs examples of which you
found in the tutorial by Koch et al you cited. Bob Bauer implemented the
method of steps in S-ADAPT which allows this program to solve arbitrary DDEs
with non-constant past (Bauer et al., Computer Methods and Programs in
Biomedicine 111:715-734 (2013).doi: 10.1016/j.cmpb.2013.05.026). A brief
introduction for solving of DDEs by the method of steps has been published by
Perez-Ruixo (J. Pharmacokin. Pharmacodyn. 32: 767-793 (2005)). The methods of
steps has one serious limitation (among others), the number of ODEs is roughly
speaking determined by the number of steps needed to reach tend. This number
(for a system with one delay Tdel) is the product of the number of DEs in your
model and the ratio tend/Tdel. This generally introduces of hundreds of ODES
even for small 3-4 compartment DDE models. Coding manually this many equations
provides a challenge. I believe the current version of NONMEM allows to code
for such large dimensional models. One will need also a large number of ALAGs.
Because of these challenges, it takes an experience NONMEM user to correctly
apply the methods of steps, and I DO NOT RECOMMEND IT. NONMEM should have a DDE
solver not to make NONMEM users suffer if they want to apply DDEs.
Please contact me directly if you want to apply the methods of steps in NONMEM.
I have done it for several lifespan based indirect response models.
Regards,
Wojciech
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Jonathan Moss
Sent: Monday, March 07, 2016 9:34 AM
To: [email protected]
Subject: [NMusers] DDEs in NONMEM
Dear all,
I have a problem regarding delay differential equations (DDEs) in NONMEM. So
far, I have been unable to find a way of successfully using DDEs in NONMEM, due
to there being no in-built DDE solver (as far as I know). To me, it seems that
the problem is that there is no way of recalling the value of the dependant
variable at an earlier time point within the $DES block (u(t-T), where T is
some fixed value, possibly to be estimated). I think that the problem is not a
simple one to solve as NONMEM uses an adaptive step size when performing the
integration, so even if there was a table output of the past values of the
dependant variable, the value at the exact time (u(t-T)) might not exist...
Has anybody been able to successfully implement DDEs in NONMEM? I would really
appreciate some help with this.
Note: I am talking about DDEs in a general sense, I know that certain specific
cases of DDEs can be solved in NONMEM (ref: Modelling of delays in PKPD,
classical approaches and a tutorial for delay differential equations, G Koch,
W. Krzyzanski, J. J. Perez-Ruixo, Johannes schropp, JPKPD).
Many thanks,
Jon Moss, PhD
Modeller
BAST Inc Limited
Loughborough Innovation Centre
Charnwood Wing
Holywell Park
Ashby Road
Loughborough, LE11 3AQ, UK
Tel: +44 (0)1509 222908