The population theophylline example of Guide I, section F, can be specified using PREDPP, as shown in this appendix. A NONMEM control stream, and PK and ERROR routines, are given on the following pages. A NM-TRAN control stream, using abbreviated PK and ERROR codes, is also given. The results are essentially identical to those given in Guide I, figures 76-83. Unlike the example of Guide I, the data set is not embedded in the control stream; it is found in a separate file, also given in this appendix. (This is unrelated to the fact that PREDPP is used.) A file stream, pointing to the data file, is also given.
This example uses ADVAN2, which implements an analytic computation for the one compartment linear model with first-order absorption. The same example can be handled using ADVAN6 and ADVAN7, although it is less efficient to use subroutines implementing "numerical" computations for general models when an analytic ADVAN for a specific model can be used. However, it may be instructive for the user to examine how all three ADVAN’s can be used for the same example, and to examine additional user-supplied codes to be used with these ADVAN’s. Therefore, this appendix also gives PK, MODEL, DES, and TOL routines to be used with ADVAN6, and PK and MODEL routines to be used with ADVAN7.
Finally, NM-TRAN control streams corresponding to the use of ADVAN6 and ADVAN7 with this example are also given. These use the very same data set as does the NONMEM control stream. However, the last two data item types, EVID and MDV, are ignored. Though NM-TRAN can always properly process these data item types, it can ignore them with this example.
Control Stream
FILE FILESTREAM PROB THEOPHYLLINE POPULATION DATA DATA 1 0 144 7 ITEM 1 4 7 11 1 INDX 6 3 2 LABL ID DOSE TIME CP WT EVID MDV FORM (5F10.0,2F2.0) STRC 3 3 1 1 1 STRC 1 3 THCN 1 THTA 3. .08 .04 LOWR .1 .008 .004 UPPR 5. .5 .9 BLST 6. .005 .3 .0002 .006 .4 DIAG .4 ESTM 0 450 3 5 COVR 0 TABL 0 1 TABL 4 1 2 5 3 SCAT 0 2 SCAT 3 9 1 1 SCAT 3 10 1 1
File Stream
DATA DATAFILE ****
Data Set
1 4.02 0. 79.6 1 1 1 0. .74 0 0 1 0.25 2.84 0 0 1 0.57 6.57 0 0 1 1.12 10.5 0 0 1 2.02 9.66 0 0 1 3.82 8.58 0 0 1 5.1 8.36 0 0 1 7.03 7.47 0 0 1 9.05 6.89 0 0 1 12.12 5.94 0 0 1 24.37 3.28 0 0 2 4.4 0. 72.4 1 1 2 0. 0. 0 0 2 .27 1.72 0 0 2 .52 7.91 0 0 2 1. 8.31 0 0 2 1.92 8.33 0 0 2 3.5 6.85 0 0 2 5.02 6.08 0 0 2 7.03 5.4 0 0 2 9. 4.55 0 0 2 12. 3.01 0 0 2 24.3 .90 0 0 3 4.53 0. 70.5 1 1 3 0. 0. 0 0 3 .27 4.4 0 0 3 .58 6.9 0 0 3 1.02 8.2 0 0 3 2.02 7.8 0 0 3 3.62 7.5 0 0 3 5.08 6.2 0 0 3 7.07 5.3 0 0 3 9. 4.9 0 0 3 12.15 3.7 0 0 3 24.17 1.05 0 0 4 4.4 0. 72.7 1 1 4 0. 0. 0 0 4 .35 1.89 0 0 4 .6 4.6 0 0 4 1.07 8.6 0 0 4 2.13 8.38 0 0 4 3.5 7.54 0 0 4 5.02 6.88 0 0 4 7.02 5.78 0 0 4 9.02 5.33 0 0 4 11.98 4.19 0 0 4 24.65 1.15 0 0 5 5.86 0. 54.6 1 1 5 0. 0. 0 0 5 .3 2.02 0 0 5 .52 5.63 0 0 5 1. 11.4 0 0 5 2.02 9.33 0 0 5 3.5 8.74 0 0 5 5.02 7.56 0 0 5 7.02 7.09 0 0 5 9.1 5.9 0 0 5 12. 4.37 0 0 5 24.35 1.57 0 0 6 4. 0. 80. 1 1 6 0. 0. 0 0 6 .27 1.29 0 0 6 .58 3.08 0 0 6 1.15 6.44 0 0 6 2.03 6.32 0 0 6 3.57 5.53 0 0 6 5. 4.94 0 0 6 7. 4.02 0 0 6 9.22 3.46 0 0 6 12.1 2.78 0 0 6 23.85 .92 0 0 7 4.95 0. 64.6 1 1 7 0. .15 0 0 7 .25 .85 0 0 7 .5 2.35 0 0 7 1.02 5.02 0 0 7 2.02 6.58 0 0 7 3.48 7.09 0 0 7 5. 6.66 0 0 7 6.98 5.25 0 0 7 9. 4.39 0 0 7 12.05 3.53 0 0 7 24.22 1.15 0 0 8 4.53 0. 70.5 1 1 8 0. 0. 0 0 8 .25 3.05 0 0 8 0.52 3.05 0 0 8 .98 7.31 0 0 8 2.02 7.56 0 0 8 3.53 6.59 0 0 8 5.05 5.88 0 0 8 7.15 4.73 0 0 8 9.07 4.57 0 0 8 12.1 3. 0 0 8 24.12 1.25 0 0 9 3.1 0. 86.4 1 1 9 0. 0. 0 0 9 .3 7.37 0 0 9 .63 9.03 0 0 9 1.05 7.14 0 0 9 2.02 6.33 0 0 9 3.53 5.66 0 0 9 5.02 5.67 0 0 9 7.17 4.24 0 0 9 8.8 4.11 0 0 9 11.6 3.16 0 0 9 24.43 1.12 0 0 10 5.5 0. 58.2 1 1 10 0. .24 0 0 10 .37 2.89 0 0 10 .77 5.22 0 0 10 1.02 6.41 0 0 10 2.05 7.83 0 0 10 3.55 10.21 0 0 10 5.05 9.18 0 0 10 7.08 8.02 0 0 10 9.38 7.14 0 0 10 12.1 5.68 0 0 10 23.7 2.42 0 0 11 4.92 0. 65. 1 1 11 0. 0. 0 0 11 .25 4.86 0 0 11 .5 7.24 0 0 11 .98 8. 0 0 11 1.98 6.81 0 0 11 3.6 5.87 0 0 11 5.02 5.22 0 0 11 7.03 4.45 0 0 11 9.03 3.62 0 0 11 12.12 2.69 0 0 11 24.08 .86 0 0 12 5.3 0. 60.5 1 1 12 0. 0. 0 0 12 .25 1.25 0 0 12 .5 3.96 0 0 12 1. 7.82 0 0 12 2. 9.72 0 0 12 3.52 9.75 0 0 12 5.07 8.57 0 0 12 7.07 6.59 0 0 12 9.03 6.11 0 0 12 12.05 4.57 0 0 12 24.15 1.17 0 0
PK Routine To Be Used With ADVAN2
C PK SUBROUTINE FOR THE THEOPHYLLINE POPULATION DATA C USED WITH ADVAN2 AND TRANS1 C CLEARANCE PROPORTIONAL TO WEIGHT C SCALING PARAMETER IS VOLUME/WEIGHT SINCE DOSE IS WEIGHT-ADJUSTED SUBROUTINE PK (ICALL,IDEF,THETA,IREV,EVTREC,N,INDXS,IRGG,GG,NETAS) DIMENSION IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*) DOUBLE PRECISION THETA,GG DOUBLE PRECISION WT IF (ICALL.LE.1) THEN
C SET UP IDEF ARRAY:
IDEF(1,1)=-9
C ROW INDEX FOR SCALING PARAMETER FOR COMPT. 2
IDEF(3,2)=4
C CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1 ELSE
C REGULAR CALL TO PK: C WEIGHT
WT=EVTREC(1,5)
C ELIMINATION RATE CONSTANT
GG(1,1)=THETA(2) GG(1,3)=1.
C ABSORPTION RATE CONSTANT
GG(3,1)=THETA(1) GG(3,2)=1.
C SCALING
GG(4,1)=THETA(3)/THETA(2) GG(4,3)=-GG(4,1)/THETA(2) GG(4,4)=1./(THETA(2)*WT) ENDIF RETURN END
ERROR Routine To Be Used With ADVAN2, ADVAN6, and ADVAN7
C ERROR SUBROUTINE FOR THE THEOPHYLLINE POPULATION DATA SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,N,INDXS,F,G,HH) DIMENSION IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*),G(*),HH(*) DOUBLE PRECISION THETA,F,G,HH
C CALL ERROR ONLY ONCE
IDEF(2)=2 HH(1)=1. RETURN END
NM-TRAN Control Stream To Be Used With ADVAN2
$PROB THEOPHYLLINE POPULATION DATA $INPUT ID DOSE=AMT TIME CP=DV WT $DATA DATAFILE (5F10.0) $SUBROUTINES ADVAN2 $PK ;THETA(1)=MEAN ABSORPTION RATE CONSTANT (1/HR) ;THETA(2)=MEAN ELIMINATION RATE CONSTANT (1/HR) ;THETA(3)=SLOPE OF CLEARANCE VS WEIGHT RELATIONSHIP (LITERS/HR/KG) ;SCALING PARAMETER=VOLUME/WT SINCE DOSE IS WEIGHT-ADJUSTED CALLFL=1 KA=THETA(1)+ETA(1) K=THETA(2)+ETA(2) CL=THETA(3)*WT+ETA(3) SC=CL/K/WT
$THETA (.1,3,5) (.008,.08,.5) (.004,.04,.9) $OMEGA BLOCK(3) 6 .005 .0002 .3 .006 .4
$ERROR
Y=F+EPS(1)
$SIGMA .4
$EST MAXEVAL=450 PRINT=5 $COV $TABLE ID DOSE WT TIME $SCAT (RES WRES) VS TIME BY ID
PK Routine To Be Used With ADVAN6 and ADVAN7
C PK SUBROUTINE FOR THE THEOPHYLLINE POPULATION DATA C USED WITH ADVAN6 AND ADVAN7, AND TRANS1 C CLEARANCE PROPORTIONAL TO WEIGHT C SCALING PARAMETER IS VOLUME/WEIGHT SINCE DOSE IS WEIGHT-ADJUSTED SUBROUTINE PK (ICALL,IDEF,THETA,IREV,EVTREC,N,INDXS,IRGG,GG,NETAS) DIMENSION IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*) DOUBLE PRECISION THETA,GG DOUBLE PRECISION WT IF (ICALL.LE.1) THEN
C SET UP IDEF ARRAY:
IDEF(1,1)=-9
C ROW INDEX FOR SCALING PARAMETER FOR COMPT. 2
IDEF(3,2)=3
C CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1 ELSE
C REGULAR CALL TO PK: C WEIGHT
WT=EVTREC(1,5)
C ELIMINATION RATE CONSTANT
GG(2,1)=THETA(2) GG(2,3)=1.
C ABSORPTION RATE CONSTANT
GG(1,1)=THETA(1) GG(1,2)=1.
C SCALING
GG(3,1)=THETA(3)/THETA(2) GG(3,3)=-GG(3,1)/THETA(2) GG(3,4)=1./(THETA(2)*WT) ENDIF RETURN END
MODEL Routine To Be Used With ADVAN6
SUBROUTINE MODEL (IDNO,NCM,NPAR,IR,IATT,LINK)
C DEFINES A 1 COMPARTMENT MODEL WITH DRUG DEPOT COMPARTMENT C COMPT1: DRUG DEPOT COMPT2: CENTRAL COMPT
DIMENSION IATT(IR,*),LINK(IR,*) INTEGER MOD(2,7) DATA MOD/
C INITIAL STATUS: OFF ON
X 0,1,
C ON/OFF ALLOWED: YES NO
X 1,0,
C DOSE ALLOWED: YES YES
X 1,1,
C DEFAULT FOR OBSERVATIONS: NO YES
X 0,1,
C DEFAULT FOR DOSES: YES NO
X 1,0,
C FUNCTION (HIGH ORDER)
X 4HDEPO,4HCENT,
C FUNCTION (LOW ORDER)
X 4HT ,4HRAL / NCM=2 NPAR=2 DO 10 J=1,7 DO 10 I=1,NCM 10 IATT(I,J)=MOD(I,J) RETURN END
DES Routine To Be Used With ADVAN6
C DES SUBROUTINE FOR THE THEOPHYLLINE POPULATION DATA SUBROUTINE DES (A,P,T,DADT,IR,DA,DP) DIMENSION A(*),P(*),DADT(*),DA(IR,*),DP(IR,*) DOUBLE PRECISION A,P,T,DADT,DA,DP DADT(1)=-P(1)*A(1) DADT(2)= P(1)*A(1)-P(2)*A(2) DA(1,1)=-P(1) DA(2,1)= P(1) DA(2,2)=-P(2) DP(1,1)=-A(1) DP(2,1)= A(1) DP(2,2)=-A(2) RETURN END
TOL Routine To Be Used With ADVAN6
C TOL SUBROUTINE FOR THE THEOPHYLLINE POPULATION DATA SUBROUTINE TOL (NRD) NRD=5 RETURN END
NM-TRAN Control Stream To Be Used With ADVAN6
$PROB THEOPHYLLINE POPULATION DATA $INPUT ID DOSE=AMT TIME CP=DV WT $DATA DATAFILE (5F10.0) $SUBROUTINES ADVAN6 TOL=5 $MODEL COMP=(DEPOT,INITIALOFF,DEFDOSE) COMP=(CENTRAL,DEFOBS,NOOFF) $PK ;THETA(1)=MEAN ABSORPTION RATE CONSTANT (1/HR) ;THETA(2)=MEAN ELIMINATION RATE CONSTANT (1/HR) ;THETA(3)=SLOPE OF CLEARANCE VS WEIGHT RELATIONSHIP (LITERS/HR/KG) ;SCALING PARAMETER=VOLUME/WT SINCE DOSE IS WEIGHT-ADJUSTED CALLFL=1 KA=THETA(1)+ETA(1) KE=THETA(2)+ETA(2) CL=THETA(3)*WT+ETA(3) S2=CL/KE/WT
$THETA (.1,3,5) (.008,.08,.5) (.004,.04,.9) $OMEGA BLOCK(3) 6 .005 .0002 .3 .006 .4
$DES
DADT(1)=-KA*A(1) DADT(2)= KA*A(1)-KE*A(2)
$ERROR
Y=F+EPS(1)
$SIGMA .4
$EST MAXEVAL=450 PRINT=5 $COV $TABLE ID DOSE WT TIME $SCAT (RES WRES) VS TIME BY ID
MODEL Routine To Be Used With ADVAN7
SUBROUTINE MODEL (IDNO,NCM,NPAR,IR,IATT,LINK)
C DEFINES A 1 COMPARTMENT LINEAR MODEL WITH FIRST-ORDER ABSORPTION C COMPT1: DRUG DEPOT COMPT2: CENTRAL COMPT
DIMENSION IATT(IR,*),LINK(IR,*) INTEGER MOD(2,7) DATA MOD/
C INITIAL STATUS: OFF ON
X 0,1,
C ON/OFF ALLOWED: YES NO
X 1,0,
C DOSE ALLOWED: YES YES
X 1,1,
C DEFAULT FOR OBSERVATIONS: NO YES
X 0,1,
C DEFAULT FOR DOSES: YES NO
X 1,0,
C FUNCTION (HIGH ORDER)
X 4HDEPO,4HCENT,
C FUNCTION (LOW ORDER)
X 4HT ,4HRAL / NCM=2 NPAR=2 DO 10 J=1,7 DO 10 I=1,NCM 10 IATT(I,J)=MOD(I,J)
C SET LINK: C K12
LINK(1,2)=1
C K20
LINK(2,3)=2 RETURN END
NM-TRAN Control Stream To Be Used With ADVAN7
$PROB THEOPHYLLINE POPULATION DATA $INPUT ID DOSE=AMT TIME CP=DV WT $DATA DATAFILE (5F10.0) $SUBROUTINES ADVAN7 $MODEL COMP=(DEPOT,INITIALOFF,DEFDOSE) COMP=(CENTRAL,DEFOBS,NOOFF) $PK ;THETA(1)=MEAN ABSORPTION RATE CONSTANT (1/HR) ;THETA(2)=MEAN ELIMINATION RATE CONSTANT (1/HR) ;THETA(3)=SLOPE OF CLEARANCE VS WEIGHT RELATIONSHIP (LITERS/HR/KG) ;SCALING PARAMETER=VOLUME/WT SINCE DOSE IS WEIGHT-ADJUSTED CALLFL=1 K12=THETA(1)+ETA(1) K20=THETA(2)+ETA(2) CL=THETA(3)*WT+ETA(3) S2=CL/K20/WT
$THETA (.1,3,5) (.008,.08,.5) (.004,.04,.9) $OMEGA BLOCK(3) 6 .005 .0002 .3 .006 .4
$ERROR
Y=F+EPS(1)
$SIGMA .4
$EST MAXEVAL=450 PRINT=5 $COV $TABLE ID DOSE WT TIME $SCAT (RES WRES) VS TIME BY ID
TOP
TABLE OF CONTENTS
NEXT APPENDIX ...