To use PREDPP a number of PREDPP subroutines must be linked with the NONMEM subroutines. This is described in detail in Guide III. Briefly, the PREDPP subroutines consist of four varieties:
(1) |
routines supplied by the NONMEM Project Group (e.g. PRED), each of whose presence in a NONMEM-PREDPP load module is independent of the choice of the pharmacokinetic model |
(2) |
routines supplied by the user (i.e. PK and ERROR), each of which must be present in a NONMEM-PREDPP load modudule. |
(3) |
routines supplied by the NONMEM Project Group (e.g. ADVAN1, TRANS1), each of whose presence in a NONMEM-PREDPP load module depends on the choice of the pharmacokinetic model and the set of basic parameters |
(4) |
routines supplied by the user (e.g. DES), each of whose presence in a NONMEM-PREDPP load module depends on the choice of the pharmacokinetic model (these are described in Chapter VI). |
Subroutines of category (1) are collected together in a file on the NONMEM distribution medium. Subroutines of categories (3) are collected together in another file. Each file has the same format, which is described in Guide III. The routines in each file have headers to help identify them. The header consists of the letters CD followed by the routine name. For example, PRED has the header CDPRED. However, with the category (3) file certain routines are grouped together under a single header. This grouping is done because the routines of a group will always be present together in a NONMEM-PREDPP load module. These groups have headers: CDDGEAR1 CDLSODI1 CDMMPHI CDREXPON CDRRXPON CDRXSUBS CDZSPOW1 CDZSPOW2.
Subroutines of category (1) are: PRED, PREDI, CHECK, SADVAN, SSS, INFN. The user can substitute a user-written routine for the INFN found on the distribution medium; see section VI.A. Another subroutine of category 1 is a subroutine whose header is CDSSS0. Its formal, i.e. entry, name is SSS, and it may be substituted for the regular SSS routine when there are no steady-state doses in the data set (i.e. no nonzero steady-state data items appearing in dose event records). The advantage in doing this is mainly to save space in computer memory if space is a problem.
Subroutines of category (3) constitute the PREDPP Library. Their use is described in the next section.
With every NONMEM-PREDPP load module two subroutines are required, ADVAN and TRANS. Choices for each are found in the PREDPP Library. Some choices for ADVAN require additional subroutines from the Library, as well as certain user-supplied subroutines described in chapter VI.
Choices for ADVAN are named ADVAN1, ADVAN2, etc. These are informal names; the formal name for each routine is ADVAN since this is the entry name used in the calling program in PREDPP. The headers for these routines on the NONMEM distribution medium use these informal names. Similarly, choices for TRANS are informally named TRANS1, TRANS2, etc., and these names are used in the headers.
In addition to an ADVAN and TRANS subroutine, a NONMEM-PREDPP load module may require an SS subroutine. The SS routine computes steady-state kinetics. If the computation of steady-state kinetics is specified in the data set, then an SS routine is required in the load module. Otherwise, an SS routine is still required, unless SSS0 is used (see section VII.A). There is an almost one-to-one correspondence between ADVAN and SS subroutines. So, for example, if the user chooses ADVAN3, then usually, SS3 is also chosen. However, SS6 may also be chosen. The SS6 subroutine computes steady-state kinetics in a very general way and may be used with any choice of ADVAN (other than ADVAN9 with which only SS9 can be used), but it must be used with ADVAN6, ADVAN8 and ADVAN10. However, when ADVAN6, ADVAN8, or ADVAN10 is not used, there is no particular advantage in using SS6. Some SS routines also require additional subroutines from the Library, as well as certain user-supplied subroutines.
In the next subsections characterisics of each of the various ADVAN routines are tabled, including definitions of the various TRANS routines. With each ADVAN, the additional PK parameters that are allowed with the ADVAN are listed, along with a numbering of these parameters. The numbering is relevent to the use of the one-dimensional format for the IDEF array (see section III.G) which is described in Appendix III. This numbering can be ignored if the two-dimensional format is used. Absorption lag times are listed, but they are not numbered because they cannot be used when the one-dimensional format is also used.
To compute the kinetic equations for a kinetic model, PREDPP - but more precisely, the chosen ADVAN - uses an internal set of parameters. For a linear kinetic model these parameters are the microconstants, i.e. rate constants, of the model. If the model is a general linear model, the MODEL subroutine specifies a numbering of these parameters (see section VI.B). The kinetic equations for a general nonlinear kinetic model PREDPP essentially consist of the differential-algebraic equations given by the user in the DES and AES routines to describe the model (see sections VI.C and VI.E). The parameters of these equations comprise the internal set of parameters; they are numbered according to the numbering used in the DES and AES routines.
There are only certain TRANS routines from the PREDPP Library that may be used with each choice of an ADVAN routine. (However, a user-supplied TRANS routine may be used; see section III.M.) It can be seen in the following subsections that with an ADVAN implementing a general linear or general nonlinear model, the only TRANS subroutine that may be used is TRANS1. In this case the set of basic PK parameters for TRANS1 is the same as the set of internal parameters, and TRANS1 translates each basic parameter into itself. The numbering of these basic parameters is the same as the numbering of the internal parameters.
Compartments:
Maximum number of basic PK parameters: 2 TRANS subroutines that may be used:
Additional PK Parameters:
Steady-state subroutines: SS1 or SS6 Other required user or Library routines: none See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
The Laplacian method is not supported with SS6. |
Compartments:
Maximum number of basic PK parameters: 3 TRANS subroutines that may be used:
Additional PK Parameters:
Steady-state subroutines: SS2 or SS6 Other required user or Library routines: none See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
The Laplacian method is not supported with SS2 or SS6. |
Compartments:
Maximum number of basic PK parameters: 4 TRANS subroutines that may be used:
Additional PK Parameters:
Steady-state subroutine: SS3 or SS6 Other required user or Library routines: none See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
The Laplacian method is not supported with SS3 or SS6. |
with First Order Absorption
Compartments:
Maximum number of basic PK parameters: 5 TRANS subroutines that may be used:
Additional PK Parameters:
Steady-state subroutine: SS4 or SS6 Other required user or library routines: none See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
The Laplacian method is not supported with SS4 or SS6. |
Compartment attributes and rate constant definition set by subroutine MODEL.
TRANS subroutines that may be used: TRANS1
Additional PK parameters:
where among the n compartments, D1, D2, ..., DN are those into which doses are allowed.
Steady-state subroutine: SS5 or SS6
Other required user or library routines:
User: MODEL Library: REXPON, RXSUBS See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
ADVAN5 and SS5 may be used when the eigenvalues of the rate constant matrix are complex, e.g. with a physiolgical-based pharmacokinetic flow model. If the eigenvalues are known to be real (which is true for many pharmacokinetic systems), then it is more efficient to use ADVAN7 and SS7. |
2. |
ADVAN5 and SS5 are based on a method involving the matrix exponential. The algorithm is described in "Contributions to the computation of the matrix exponential" by K.C. Ng. Report 212 of the Center for Pure and Applied Mathematics, University of California, Berkeley (1984). See also "A recurrence among the elements of functions of triangular matrices" by B.N. Parlett. Linear Algebra and Its Applications 14, 117-121 (1976). |
3. |
The double precision versions of ADVAN5 and SS5 call REXPON, which uses double precision complex arithmetic. Double precision complex arithmetic is not part of the ANSI FORTRAN 77 standard. Therefore, REXPON may not be compilable. It is compilable by the Berkeley Unix compilers and by the IBM VS compiler for the IBM mainframe computers. If double precision complex arithmetic is not compilable, then the user might try to use the double precision versions of ADVAN6 (or ADVAN8) and SS6. If double precision complex arithmetic is not compilable, and if the eigenvalues of the rate constant matrix are known to be real, then the user should use ADVAN7 and SS7. |
4. |
The single and double precision source code versions of ADVAN5 and SS5 involve the use of single and double precision complex arithmetic, respectively. Some compiler-machine configurations, (e.g. the Berkeley Unix compilers on VAX machines) do not generate native code implementing complex arithmetic statements on floating point hardware. ADVAN5 and SS5 run much more slowly when this type of configuration is used. If a compiler-machine configuration does not generate native code, then it may be more efficient to use ADVAN6 and SS6. |
5. |
The Laplacian method is not supported with ADVAN5 or SS5. |
Compartment attributes and rate constant definition set by subroutine MODEL.
TRANS subroutines that may be used: TRANS1
Additional PK parameters:
where among the n compartments, D1, D2, ..., DN are those into which doses are allowed.
Steady-state subroutine: SS5 or SS6
Other required user or library routines:
User: MODEL, DES, TOL Library: DVERK1, FCN1 See Note 2 regarding use of SS6
Notes:
1. |
ADVAN6 should be used when the system of differential equations is known to be nonstiff. Otherwise, ADVAN8 might be more efficient. |
2. |
If SS6 is used, the user-supplied subroutine TOL is required, and the Library routines ZSPOW1, FCN1, and FCN2, are also required. (When SS6 is used with any ADVAN other than ADVAN6, the user-supplied routine DES is also required, but it can be a "dummy routine" when there are no steady-state infusions.) |
3. |
The Laplacian method is not supported with ADVAN6 or SS6. |
4. |
If a rate parameter, duration parameter, or absorption
lag time parameter is modeled with an
|
5. |
There is a limit on the number of times the differential equations are computed during any one integration over a state interval. NONMEM may terminate when this limit is reached, in which case an appropriate message appears. The limit is generous, but may be changed; contact the NONMEM Project Group. |
Compartment attributes and rate constant definition set by subroutine MODEL.
TRANS subroutines that may be used: TRANS1
Additional PK parameters:
where among the n compartments, D1, D2, ..., DN are those into which doses are allowed.
Steady-state subroutine: SS7 or SS6
Other required user or library routines:
User: MODEL Library: RRXPON, RXSUBS See Note 2 under ADVAN6 regarding use of SS6
Notes:
1. |
ADVAN7 and SS7 may be used when the eigenvalues of the rate constant matrix are known to be real (which is true for many pharmacokinetic systems). It is more efficient to use ADVAN7 than ADVAN5 in this case. |
2. |
ADVAN7 and SS7 are based on a method involving the matrix exponential. The algorithm is a modification of that described in "Contributions to the computation of the matrix exponential" by K.C. Ng. Report 212 of the Center for Pure and Applied Mathematics, University of California, Berkeley (1984). See also "A recurrence among the elements of functions of triangular matrices" by B.N. Parlett. Linear Algebra and Its Applications 14, 117-121 (1976). |
3. |
The Laplacian method is not supported with ADVAN7 or SS7. |
Compartment attributes and rate constant definition set by subroutine MODEL.
TRANS subroutines that may be used: TRANS1
Additional PK parameters:
where among the n compartments, D1, D2, ..., DN are those into which doses are allowed.
Steady-state subroutine: SS6
Other required user or library routines:
User: MODEL, DES, TOL Library: DGEAR1, FCN1, FCN3, LUELM1, LUDAT1 See Note 2 regarding use of SS6
Notes:
1. |
ADVAN8 should be used when the system of differential equations is known to be stiff. Otherwise, ADVAN6 might be more efficient. |
2. |
Values need be returned in the argument DA of DES only when working with population pharmacokinetic data. |
3. |
The Laplacian method is not supported with ADVAN8 or SS6. |
4. |
If a rate parameter, duration parameter, or absorption
lag time parameter is modeled with an
|
5. |
There is a limit on the number of times the differential equations are computed during any one integration over a state interval. NONMEM may terminate when this limit is reached, in which case an appropriate message appears. The limit is generous, but may be changed; contact the NONMEM Project Group. |
Compartment attributes and rate constant definition set by subroutine MODEL.
TRANS subroutines that may be used: TRANS1
Additional PK parameters:
where among the n compartments, D1, D2, ..., DN are those into which doses are allowed.
Steady-state subroutine: SS9
Other required user or library routines:
User: MODEL, DES, AES, TOL Library: ADDA, FCN5, JAC, LEQT22, LSODI1, LUREF2, RES, ZSPOW2
Notes:
1. |
ADVAN9 should be used with a system of differential-algebraic equations specifying the kinetics of a system with equilibrium compartments. It may also be useful when the system consists of only stiff differential equations, and there are no equilibrium compartments. With ADVAN9 the number of accurate digits required in the computation of the drug amounts can be specified on a compartment-specific basis; see section VI.D. |
2. |
When there are no equilibrium compartments, the AES routine is not called, but a dummy routine may need to be included in the load module if the loader considers an unresolved reference to be a fatal error. |
3. |
If SS9 is used, Library routines ZSPOW1, FCN2, and FCN4 are also required. |
4. |
The Laplacian method is not supported with ADVAN9 or SS9. |
5. |
If a rate parameter, duration parameter, or absorption
lag time parameter is modeled with an
|
Compartments:
Maximum number of basic PK parameters: 3 TRANS subroutines that may be used:
Additional PK Parameters:
Steady-state subroutines: SS6 Other required user or library routines: User: TOL Library: MMPHI See Note 2 regarding use of SS6
Notes:
1 |
The computations are based on: Beal, S.L. (1983), "Computation of the explicit solution to the Michaelis-Menten equation", Journal of Pharmacokinetics and Biopharmaceutics 11, 641-657. |
2 |
The Laplacian method is not supported with SS6. |