125  Using the RADAR5 Delay differential equation Solver (ADVAN16 and ADVAN17)

Author

Robert J. Bauer

Published

May 1, 2019

The RADAR5 delay differential equation solver ADVAN16 (or ADVAN17 if there are equilibrium compartments), are now available in NONMEM 7.5 alpha. Consider the example ..\examples\dde\epod.ctl. Notice ADVAN16 is selected in the $SUB record. Note that there are variables with names of type AP_x_y, defined in the $DES record. These are “Past” equations, that may be merely constant with time, or, may be a function of time T. AP_x_y is the past equation for state A(x), time delay Tauy. So you may have more than one state variable, and more than one time delay in your system. The differential equations will have variables with names of type AD_x_y, to indicate state A(x) delayed with time Tauy. The various TAU values may be defined in $PK, either as constants, or associated with thetas and etas as values to be estimated.

To execute the example, you must add the –dde option:

nmfe75 rad.ctl rad.res –prdefault -dde

With the -dde option added, the nmfe75 script submits the control stream to the ddexpand utility, so that some pre-processing can be performed on the control stream, before it is sent to NMTRAN. The processed control stream will be rad.ctl_dde, which you can inspect after execution, and note the additional lines of code added to your control stream, if you are curious.

The example ..\examples\dde\rad.ctl contains a past equation that does depend on time:

AP_1_1 = AA * EXP(BB * T)

The T will be replaced with T-TAU, with the TAU being the one that is appropriate, for that past equation.

Example logistic7c.ctl performs a population analysis, but notice that ITS and IMP are used to estimate the parameters. While FOCE can also be used, it tends to be several fold slower.

Example dloidr.ctl performs a single subject analysis.

1 Customizing RADAR5U

The ..\pr\RADAR5U.f90 routine offers additional control. Please read ..\guides\manrad5-v2.pdf for details about the parameter settings, and optional routines that may be incorporated.

To use RADAR5u.f90, make a copy of it in your run directory, and rename it, such as RADAR5U2.f90. Make the modifications, and then reference it in the $SUBR record:

$SUBR … OTHER=RADAR5U2.f90

Some parameters of interest include those controlled by $SIZES record:

  • PAST_SIZE=4000 by default, which determines the resolution of the delay equation storage
  • MAXNRDS=PC by default, but can be set to actual number of delay compartments used to save memory.

These parameters can be set with $SIZES in the control stream file:

$SIZES MAXNRDS=2 PAST_SIZE=6000

2 PASTZERO: Shifting the past-to-present transition

Sometimes you may wish to have the equations transition from the past to the present other than at time T=0. In this case, set the reserved variable PASTZERO to a non-zero (including negative) value:

$DES
PASTZERO = -10.0

For example, suppose you wanted to have 30 additional doses (for a total of 31) every 8 hours, followed by records sampling the decline in concentration after the last dose. Suppose also that you wanted the time of sampling begin at TIME=0, therefore the beginning of the dose would be at -240.0 hours (see example simpledii16_2):

CID TIME AMT RATE II ADDL CMT EVID MDV DV
100 -240 100 0 8 30 1 1 1 0
100 -1.00E-06 0 0 0 0 1 0 0 1
100 0 0 0 0 0 1 0 0 1
100 1 0 0 0 0 1 0 0 1
100 2 0 0 0 0 1 0 0 1
100 3 0 0 0 0 1 0 0 1
100 4 0 0 0 0 1 0 0 1
100 5 0 0 0 0 1 0 0 1
100 6 0 0 0 0 1 0 0 1

When using ADVAN16 and ADVAN17, the past would be any time before the first dose, so it would be -240.0 hours as well. In $DES, you specify this using the reserved variable PASTZERO:

$DES
PASTZERO = -240.0