NONMEM Users Guide VI - PREDPP Figures
Figure_1 PK subroutine for phenobarb population data:typical values returned
Figure_2 PK subroutine for phenobarb population data:illustrating data simulation
Figure_3 PK subroutine for phenobarb population data:subject-specific values returned
Figure_4 Scatterplot of fit to phenobarb data without usingweight
Figure_5 PK subroutine for phenobarab population data: usinga mixture model
Figure_6 MIX subroutine
Figure_7 PK subroutine for single-subject data
Figure_8 PK subroutine for single-subject PD data
Figure_9 ERROR subroutine for phenobarb population data
Figure_10 ERROR subroutine for phenobarb population data:illustrating data simulation
Figure_11 ERROR subroutine for single-subject data
Figure_12 ERROR subroutine for single-subject data:illustrating data simulation
Figure_13 ERROR subroutine for single-subject PD data
Figure_14 ERROR subroutine for single-subject PD data:illustrating ERROR-defined items
Figure_15 First three individual records from phenobarbpopulation data
Figure_16 Control stream for phenobarb population data
Figure_17 NM-TRAN control stream for phenobarb populationdata
Figure_17a NM-TRAN control stream for phenobarb populationdata with simulation and transgeneration
Figure_18 NONMEM problem summary for phenobarb populationdata
Figure_19 PREDPP problem summary for phenobarb populationdata
Figure_20 Control stream for phenobarb population data:posthoc eta’s displayed
Figure_21 NM-TRAN control stream for phenobarb populationdata: posthoc eta’s displayed
Figure_22 Control stream for phenobarb population data:using a mixture model
Figure_23 NM-TRAN control stream for phenobarb populationdata: using a mixture model
Figure_24 Scatterplot of mixture subpopulation versus weight
Figure_25 Control stream of single-subject data
Figure_26 NM-TRAN control stream of single-subject data
Figure_27 NONMEM problem summary for single-subject data
Figure_28 PREDPP problem summary for single-subject data
Figure_29 Control stream of single-subject PD data
Figure_30 NM-TRAN control stream of single-subject PD data
Figure_31 Control stream of single-subject PD data:ERROR-defined items displayed
Figure_32 NM-TRAN control stream of single-subject PD data:ERROR-defined items displayed
Figure_33 Scatterplot of prediction versus effect-compt.concentration
Figure_34 Scatterplot of effect-compt. concentration versusplasma concentration
Figure_35 Scatterplot of plasma concentration versus time
Figure_36 Scatterplot of effect concentration versus time
Figure_37 INFN subroutine for computing linearlyinterpolated values
Figure_38 MODEL subroutine for 1-compt. linear model with1st-order absorption
Figure_39 MODEL subroutine for single-subject PD data
Figure_40 DES subroutine for 1-compt. linear model with1st-order absorption
Figure_41 TOL subroutine for NONMEM 7.3 and earlier
Figure_41a TOL subroutine for NONMEM 7.4 and later
Figure_42 AES subroutine
Figure_43 MODEL subroutine for use with the AES subroutine
NONMEM Users Guide VI - PREDPP Figures
Figure_1 PK subroutine for phenobarb population data:typical values returned
! PK SUBROUTINE FOR THE PHENOBARB POPULATION DATA
! TYPICAL VALUES RETURNED
! USED WITH ADVAN1 AND TRANS2
! CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
! PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX OF SCALING PARAMETER
IDEF(3,1)=3
! CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1
RETURN
1000 CONTINUE
! REGULAR CALLS TO PK:
! WEIGHT
WT=EVTREC(1,4)
! APGAR
APGR=EVTREC(1,5)
! CLEARANCE
TVCL=THETA(1)*WT
GG(1,1)=TVCL
GG(1,2)=TVCL
! VOLUME
TVVD=THETA(2)*WT
IF (APGR.LE.2) TVVD=THETA(3)*TVVD
GG(2,1)=TVVD
GG(2,3)=TVVD
! SCALING
GG(3,1)=TVVD
GG(3,3)=TVVD
RETURN
END
Figure_2 PK subroutine for phenobarb population data:illustrating data simulation
! PK SUBROUTINE FOR THE PHENOBARB POPULATION DATA
! ILLUSTRATING DATA SIMULATION
! USED WITH ADVAN1 AND TRANS2
! CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
! PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
USE NMPRD_REAL,ONLY: ETA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX OF SCALING PARAMETER
IDEF(3,1)=3
RETURN
1000 CONTINUE
! REGULAR CALLS TO PK:
! WEIGHT
WT=EVTREC(1,4)
! APGAR
APGR=EVTREC(1,5)
IF (ICALL.EQ.4) GO TO 2000
! DATA ANALYTIC CALL:
! CLEARANCE
TVCL=THETA(1)*WT
GG(1,1)=TVCL
GG(1,2)=TVCL
! VOLUME
TVVD=THETA(2)*WT
IF (APGR.LE.2) TVVD=THETA(3)*TVVD
GG(2,1)=TVVD
GG(2,3)=TVVD
! SCALING
GG(3,1)=TVVD
GG(3,3)=TVVD
RETURN
2000 CONTINUE
! SIMULATION CALL:
CALL SIMETA (ETA)
! CLEARANCE
CL=THETA(1)*WT*EXP(ETA(1))
GG(1,1)=CL
! VOLUME AND APFL
VD=THETA(2)*WT*EXP(ETA(2))
EVTREC(1,7)=1
IF (APGR.LE.2) THEN
EVTREC(1,7)=2
VD=THETA(3)*VD
ENDIF
GG(2,1)=VD
! SCALING
GG(3,1)=VD
RETURN
END
Figure_3 PK subroutine for phenobarb population data:subject-specific values returned
! PK SUBROUTINE FOR THE PHENOBARB POPULATION DATA
! SUBJECT-SPECIFIC VALUES RETURNED
! USED WITH ADVAN1 AND TRANS2
! CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
! PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
USE NMPRD_REAL,ONLY: ETA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX OF SCALING PARAMETER
IDEF(3,1)=3
! CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1
! INITIALIZE GETETA
CALL GETETA (ETA)
RETURN
1000 CONTINUE
! REGULAR CALLS TO PK:
! WEIGHT
WT=EVTREC(1,4)
! APGAR
APGR=EVTREC(1,5)
! GETETA
CALL GETETA (ETA)
! CLEARANCE
CL=THETA(1)*WT*EXP(ETA(1))
GG(1,1)=CL
GG(1,2)=CL
! VOLUME
VD=THETA(2)*WT*EXP(ETA(2))
IF (APGR.LE.2) VD=THETA(3)*VD
GG(2,1)=VD
GG(2,3)=VD
! SCALING
GG(3,1)=VD
GG(3,3)=VD
RETURN
END
Figure_4 Scatterplot of fit to phenobarb data without usingweight
See figure in file fig4.pdf
Figure_5 PK subroutine for phenobarab population data: usinga mixture model
! PK SUBROUTINE FOR THE PHENOBARB POPULATION DATA
! SUBJECT-SPECIFIC VALUES RETURNED MIXTURE MODEL
! USED WITH ADVAN1 AND TRANS2
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
USE ROCM_INT, ONLY: MIXNUM=>MIXCALL,MIXEST=>IMIXEST
USE NMPRD4,ONLY: COM=>VRBL
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
DIMENSION ETA(4)
DOUBLE PRECISION THETA,GG,ETA
DOUBLE PRECISION CL,VD,EST
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX OF SCALING PARAMETER
IDEF(3,1)=3
! CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1
! INITIALIZE GETETA
CALL GETETA (ETA)
RETURN
1000 CONTINUE
! REGULAR CALLS TO PK:
! GETETA
CALL GETETA (ETA)
! MIXTURE MIXNUM ESTIMATE
EST=MIXEST
COM(1)=EST
! CLEARANCE
IF (MIXNUM.EQ.1) THEN
CL=THETA(1)*EXP(ETA(1))
GG(1,1)=CL
GG(1,2)=CL
ELSE
CL=THETA(2)*THETA(1)*EXP(ETA(3))
GG(1,1)=CL
GG(1,4)=CL
ENDIF
! VOLUME
IF (MIXNUM.EQ.1) THEN
VD=THETA(3)*EXP(ETA(2))
GG(2,1)=VD
GG(2,3)=VD
ELSE
VD=THETA(4)*THETA(3)*EXP(ETA(4))
GG(2,1)=VD
GG(2,5)=VD
ENDIF
! SCALING
GG(3,1)=VD
IF (MIXNUM.EQ.1) THEN
GG(3,3)=VD
ELSE
GG(3,5)=VD
ENDIF
RETURN
END
Figure_6 MIX subroutine
SUBROUTINE MIX (ICALL,NSPOP,P)
USE SIZES, ONLY: DPSIZE,ISIZE
USE ROCM_REAL, ONLY: THETA=>THETAC,DATA=>RDATA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
INTEGER(KIND=ISIZE) :: ICALL,NSPOP
REAL(KIND=DPSIZE) :: P(*)
NSPOP=2
P(1)=THETA(5)
P(2)=1.-THETA(5)
RETURN
END
Figure_7 PK subroutine for single-subject data
! PK SUBROUTINE FOR SINGLE-SUBJECT DATA
! USED WITH ADVAN2 AND TRANS1
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX FOR SCALING PARAMETER FOR COMPT. 2
IDEF(3,2)=4
! CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1
RETURN
1000 CONTINUE
! REGULAR CALL TO PK:
! ELIMINATION RATE CONSTANT
GG(1,1)=THETA(2)
! ABSORPTION RATE CONSTANT
GG(3,1)=THETA(1)
! SCALING
GG(4,1)=THETA(3)
RETURN
END
Figure_8 PK subroutine for single-subject PD data
! PK ROUTINE FOR SINGLE-SUBJECT PHARMACODYNAMIC DATA
! USED WITH ADVAN7 AND TRANS1
!
SUBROUTINE PK(ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,IRGG,GG,NETAS)
USE SIZES, ONLY: DPSIZE,ISIZE
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS,IRGG,NETAS
DIMENSION :: IDEF(7,*),THETA(*),EVTREC(IREV,*),INDXS(*),GG(IRGG,*)
IF (ICALL.GT.1) GO TO 1000
! SET UP IDEF ARRAY:
IDEF(1,1)=-9
! ROW INDEX OF SCALING PARAMETER
IDEF(3,3)=5
! CALL PK ONCE PER INDIV. REC.
IDEF(1,2)=1
RETURN
1000 CONTINUE
! REGULAR CALLS TO PK:
! K12
K12=1.94
GG(1,1)=K12
! K20
K20=.102
GG(2,1)=K20
! K23
K23=.001*K20
GG(3,1)=K23
! K30 (KEO)
K30=THETA(1)
GG(4,1)=K30
! SCALING
VD=32
VE=VD*K23/K30
GG(5,1)=VE
RETURN
END
Figure_9 ERROR subroutine for phenobarb population data
! ERROR SUBROUTINE FOR THE PHENOBARB POPULATION DATA
! EXPONENTIAL ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
USE PRDIMS, ONLY: GERD
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: G(GERD,*),HH(*)
HH(1)=F
RETURN
END
Figure_10 ERROR subroutine for phenobarb population data:illustrating data simulation
! ERROR ROUTINE FOR THE PHENOBARB POPULATION DATA
! ILLUSTRATING DATA SIMULATION
! EXPONENTIAL ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
USE PRDIMS, ONLY: GERD
USE NMPRD_REAL,ONLY: EPS
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: G(GERD,*),HH(*)
IF (ICALL.EQ.2) HH(1)=F
IF (ICALL.EQ.4) THEN
CALL SIMEPS (EPS)
F=F*EXP(EPS(1))
ENDIF
RETURN
END
Figure_11 ERROR subroutine for single-subject data
! ERROR ROUTINE FOR SINGLE-SUBJECT DATA
! ADDITIVE ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: HH(*)
! CALL ERROR ONLY ONCE
IDEF(2)=2
HH(1)=1.
RETURN
END
Figure_12 ERROR subroutine for single-subject data:illustrating data simulation
! ERROR ROUTINE FOR SINGLE-SUBJECT DATA
! ILLUSTRATING DATA SIMULATION
! ADDITIVE ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
USE NMPRD_REAL,ONLY: ETA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: HH(*)
IF (ICALL.EQ.4) THEN
CALL SIMETA (ETA)
F=F+ETA(1)
RETURN
ENDIF
! CALL ERROR ONLY ONCE FOR DATA ANALYSIS
IDEF(2)=2
HH(1)=1.
RETURN
END
Figure_13 ERROR subroutine for single-subject PD data
! ERROR ROUTINE FOR SINGLE-SUBJECT PHARMACODYNAMIC DATA
! CONSTANT CV ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
USE PRDIMS, ONLY: GERD
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: G(GERD,*),HH(*)
IF (ICALL.EQ.1) RETURN
! EMAX
EMAX=THETA(2)
! C50
C50=THETA(3)
! EFFECT
E=EMAX*F/(F+C50)
F=E
! CONSTANT CV ERROR MODEL
HH(1)=F
RETURN
END
Figure_14 ERROR subroutine for single-subject PD data:illustrating ERROR-defined items
! ERROR ROUTINE FOR SINGLE-SUBJECT PHARMACODYNAMIC DATA
! ILLUSTRATING ERROR-DEFINED ITEMS
! CONSTANT CV ERROR MODEL
!
SUBROUTINE ERROR (ICALL,IDEF,THETA,IREV,EVTREC,NVNT,INDXS,F,G,HH)
USE SIZES, ONLY: DPSIZE,ISIZE
USE NMPRD4,ONLY: COM=>VRBL
USE PROCM_REAL,ONLY: A=>AMNT,DAETA,D2AETA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
REAL(KIND=DPSIZE) :: EVTREC
INTEGER(KIND=ISIZE) :: ICALL,IDEF,IREV,NVNT,INDXS
DIMENSION :: IDEF(*),THETA(*),EVTREC(IREV,*),INDXS(*)
REAL(KIND=DPSIZE) :: HH(*)
IF (ICALL.EQ.1) RETURN
! CP AND CE
CP=A(2)/32.
CE=F
! EMAX
EMAX=THETA(2)
! save for display
COM(1)=CP
COM(2)=CE
! C50
C50=THETA(3)
! EFFECT
E=EMAX*F/(F+C50)
F=E
! CONSTANT CV ERROR MODEL
HH(1)=F
RETURN
END
Figure_15 First three individual records from phenobarbpopulation data
1 0. 25.0 1.4 7 1 1
1 2.0 1.4 7 17.3 0 0
1 12.5 3.5 1.4 7 1 1
1 24.5 3.5 1.4 7 1 1
1 37.0 3.5 1.4 7 1 1
1 48.0 3.5 1.4 7 1 1
1 60.5 3.5 1.4 7 1 1
1 72.5 3.5 1.4 7 1 1
1 85.3 3.5 1.4 7 1 1
1 96.5 3.5 1.4 7 1 1
1 108.5 3.5 1.4 7 1 1
1 112.5 1.4 7 31.0 0 0
2 0. 15.0 1.5 9 1 1
2 2.0 1.5 9 9.7 0 0
2 4.0 3.8 1.5 9 1 1
2 16.0 3.8 1.5 9 1 1
2 27.8 3.8 1.5 9 1 1
2 40.0 3.8 1.5 9 1 1
2 52.0 3.8 1.5 9 1 1
2 63.5 1.5 9 24.6 0 0
2 64.0 3.8 1.5 9 1 1
2 76.0 3.8 1.5 9 1 1
2 88.0 3.8 1.5 9 1 1
2 100.0 3.8 1.5 9 1 1
2 112.0 3.8 1.5 9 1 1
2 124.0 3.8 1.5 9 1 1
2 135.5 1.5 9 33.0 0 0
3 0. 30.0 1.5 6 1 1
3 1.5 1.5 6 18.0 0 0
3 11.5 3.7 1.5 6 1 1
3 23.5 3.7 1.5 6 1 1
3 35.5 3.7 1.5 6 1 1
3 47.5 3.7 1.5 6 1 1
3 59.3 3.7 1.5 6 1 1
3 73.0 3.7 1.5 6 1 1
3 83.5 1.5 6 23.8 0 0
3 84.0 3.7 1.5 6 1 1
3 96.5 3.7 1.5 6 1 1
3 108.5 3.7 1.5 6 1 1
3 120.0 3.7 1.5 6 1 1
3 132.0 3.7 1.5 6 1 1
3 134.3 1.5 6 24.3 0 0
Figure_16 Control stream for phenobarb population data
FILE FSTREAM
PROB PHENOBARB POPULATION DATA
DATA 1 0 744 8 0 0 0 0
ITEM 1 6 8 11 1 0 0 0 0 0 0 0 0 0 0
INDX 7 2 3 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL ID, TIME
AMT, WT
APGR, CP
EVID, MDV
LRES SIGMA
LTHT
LETA
LEPS
FORM
(6F7.0,2F2.0)
STRC 3 2 1 0 0 1 0 1 0
THCN 1 0 0 0
THTA 4.700000000000000E-03, 9.900000000000000E-01, 1.000000000000000E+00
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000, 1000000, 1000000
DIAG 5.000000000000000E-02, 3.000000000000000E-02
DIAG 2.000000000000000E-02
DFLT -1
ESTM 0 500 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
ORDR
PFIL -100
FFIL 0
COVR 0 0 0 0 0 0 1 0 0
COVT -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1-1-1TOS
-1 -1 -1-0.10000E+03-0.10000E+03-0.10000E+03
CPAR -1
TABL 1 1
PPAR -1
TABL 1 5 1 0 2 0 3 0 4 0 5 0
0 0 0 0 0 0 0 0-1 0
FRML
FRMR
FETA
SCAT 1 7
SCAT 9 6 0 0 0 1 0 0 0
0 0 0 -1
SCAT 9 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 9 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 11 0 0 0 0 0 0 0
0 0 0 -1
Figure_17 NM-TRAN control stream for phenobarb populationdata
$PROB PHENOBARB POPULATION DATA
$DATA DATA1 (6F7.0)
$INPUT ID TIME AMT WT APGR CP=DV
$SUBROUTINES ADVAN1 TRANS2
$PK
;CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
;PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
CALLFL=1
CL=THETA(1)*WT*EXP(ETA(1))
TVVD=THETA(2)*WT
IF (APGR.LE.2) TVVD=THETA(3)*TVVD
V=TVVD*EXP(ETA(2))
S1=V
$ERROR
Y=F*EXP(EPS(1))
$THETA (0,.0047) (0,.99) (0,1.0)
$OMEGA .05 .03
$SIGMA .02
$ESTIM MAXEVAL=500 PRINT=5
$COVAR
$TABLE ID TIME AMT WT APGR
$SCAT CP VS PRED UNIT
$SCAT RES VS PRED
$SCAT RES VS WT
$SCAT RES VS APGR
$SCAT WRES VS PRED
$SCAT WRES VS WT
$SCAT WRES VS APGR
Figure_17a NM-TRAN control stream for phenobarb populationdata with simulation and transgeneration
$PROB PHENOBARB POPULATION DATA WITH SIMULATION AND TRANSGENERATION
$DATA DATA1 (7F7.0)
; apfl and cp are set during simulation
$INPUT ID TIME AMT WT APGR CP=DV APFL
$SUBROUTINES ADVAN1 TRANS2
$PK
;CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
;PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
; By default, call with every event record.
; This allows apfl to be set for every record.
CL=THETA(1)*WT*EXP(ETA(1))
TVVD=THETA(2)*WT
IF (APGR.LE.2) TVVD=THETA(3)*TVVD
V=TVVD*EXP(ETA(2))
S1=V
; apfl is set only with simulation
IF (ICALL==4) THEN
APFL=1
IF (APGR.LE.2) APFL=2
ENDIF
$ERROR
Y=F*EXP(EPS(1))
$THETA (0,.0047) (0,.99) (0,1.0)
$OMEGA .05 .03
$SIGMA .02
; required for simulation step
$SIML (1111)
$ESTIM MAXEVAL=500 PRINT=5
$COVAR
$TABLE ID TIME AMT WT APGR
$TABLE ID TIME APGR APFL FILE=apfla NOAPPEND NOPRINT
; use of APFL for partitioning a scatter plot
$SCAT CP VS PRED UNIT BY APFL
$SCAT RES VS PRED
$SCAT RES VS WT
$SCAT RES VS APGR
$SCAT WRES VS PRED
$SCAT WRES VS WT
$SCAT WRES VS APGR
Figure_18 NONMEM problem summary for phenobarb populationdata
NONLINEAR MIXED EFFECTS MODEL PROGRAM (NONMEM) VERSION 7.4.0
ORIGINALLY DEVELOPED BY STUART BEAL, LEWIS SHEINER, AND ALISON BOECKMANN
CURRENT DEVELOPERS ARE ROBERT BAUER, ICON DEVELOPMENT SOLUTIONS,
AND ALISON BOECKMANN. IMPLEMENTATION, EFFICIENCY, AND STANDARDIZATION
PERFORMED BY NOUS INFOSYSTEMS.
PROBLEM NO.: 1
PHENOBARB POPULATION DATA
DATA CHECKOUT RUN: NO
DATA SET LOCATED ON UNIT NO.: 2
THIS UNIT TO BE REWOUND: NO
NO. OF DATA RECS IN DATA SET: 744
NO. OF DATA ITEMS IN DATA SET: 8
ID DATA ITEM IS DATA ITEM NO.: 1
DEP VARIABLE IS DATA ITEM NO.: 6
MDV DATA ITEM IS DATA ITEM NO.: 8
INDICES PASSED TO SUBROUTINE PRED:
7 2 3 0 0 0 0 0 0 0 0
LABELS FOR DATA ITEMS:
ID TIME AMT WT APGR CP EVID MDV
FORMAT FOR DATA:
(6F7.0,2F2.0)
TOT. NO. OF OBS RECS: 155
TOT. NO. OF INDIVIDUALS: 59
LENGTH OF THETA: 3
DEFAULT THETA BOUNDARY TEST OMITTED: NO
OMEGA HAS SIMPLE DIAGONAL FORM WITH DIMENSION: 2
DEFAULT OMEGA BOUNDARY TEST OMITTED: NO
SIGMA HAS SIMPLE DIAGONAL FORM WITH DIMENSION: 1
DEFAULT SIGMA BOUNDARY TEST OMITTED: NO
INITIAL ESTIMATE OF THETA:
LOWER BOUND INITIAL EST UPPER BOUND
0.0000E+00 0.4700E-02 0.1000E+07
0.0000E+00 0.9900E+00 0.1000E+07
0.0000E+00 0.1000E+01 0.1000E+07
INITIAL ESTIMATE OF OMEGA:
0.5000E-01
0.0000E+00 0.3000E-01
INITIAL ESTIMATE OF SIGMA:
0.2000E-01
COVARIANCE STEP OMITTED: NO
EIGENVLS. PRINTED: NO
SPECIAL COMPUTATION: NO
COMPRESSED FORMAT: NO
GRADIENT METHOD USED: NOSLOW
SIGDIGITS ETAHAT (SIGLO): -1
SIGDIGITS GRADIENTS (SIGL): -1
EXCLUDE COV FOR FOCE (NOFCOV): NO
TURN OFF Cholesky Transposition of R Matrix (CHOLROFF): NO
KNUTHSUMOFF: -1
RESUME COV ANALYSIS (RESUME): NO
SIR SAMPLE SIZE (SIRSAMPLE): -1
NON-LINEARLY TRANSFORM THETAS DURING COV (THBND): 1
PRECONDTIONING CYCLES (PRECOND): 0
PRECONDTIONING TYPES (PRECONDS): TOS
FORCED PRECONDTIONING CYCLES (PFCOND):0
PRECONDTIONING TYPE (PRETYPE): 0
FORCED POS. DEFINITE SETTING: (FPOSDEF):0
TABLES STEP OMITTED: NO
NO. OF TABLES: 1
SEED NUMBER (SEED): 11456
RANMETHOD: 3U
MC SAMPLES (ESAMPLE): 300
WRES SQUARE ROOT TYPE (WRESCHOL): EIGENVALUE
-- TABLE 1 --
RECORDS ONLY: ALL
4 COLUMNS APPENDED: YES
PRINTED: YES
FORMAT: S1PE11.4
LFORMAT:
RFORMAT:
FIXED_EFFECT_ETAS:
USER-CHOSEN ITEMS:
ID TIME AMT WT APGR
SCATTERPLOT STEP OMITTED: NO
FAMILIES OF SCATTERPLOTS: 7
-- SCATTERPLOT 1 --
UNIT SLOPE LINE: YES
ITEMS TO BE SCATTERED: PRED CP
-- SCATTERPLOT 2 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: PRED RES
-- SCATTERPLOT 3 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: WT RES
-- SCATTERPLOT 4 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: APGR RES
-- SCATTERPLOT 5 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: PRED WRES
-- SCATTERPLOT 6 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: WT WRES
-- SCATTERPLOT 7 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: APGR WRES
Figure_19 PREDPP problem summary for phenobarb populationdata
DOUBLE PRECISION PREDPP VERSION 7.4.0
ONE COMPARTMENT MODEL (ADVAN1)
MAXIMUM NO. OF BASIC PK PARAMETERS: 2
BASIC PK PARAMETERS (AFTER TRANSLATION):
ELIMINATION RATE (K) IS BASIC PK PARAMETER NO.: 1
TRANSLATOR WILL CONVERT PARAMETERS
CLEARANCE (CL) AND VOLUME (V) TO K (TRANS2)
COMPARTMENT ATTRIBUTES
COMPT. NO. FUNCTION INITIAL ON/OFF DOSE DEFAULT DEFAULT
STATUS ALLOWED ALLOWED FOR DOSE FOR OBS.
1 CENTRAL ON NO YES YES YES
2 OUTPUT OFF YES NO NO NO
ADDITIONAL PK PARAMETERS - ASSIGNMENT OF ROWS IN GG
COMPT. NO. INDICES
SCALE BIOAVAIL. ZERO-ORDER ZERO-ORDER ABSORB
FRACTION RATE DURATION LAG
1 3 * * * *
2 * - - - -
- PARAMETER IS NOT ALLOWED FOR THIS MODEL
* PARAMETER IS NOT SUPPLIED BY PK SUBROUTINE;
WILL DEFAULT TO ONE IF APPLICABLE
ERROR IN LOG Y IS MODELED
DATA ITEM INDICES USED BY PRED ARE:
EVENT ID DATA ITEM IS DATA ITEM NO.: 7
TIME DATA ITEM IS DATA ITEM NO.: 2
DOSE AMOUNT DATA ITEM IS DATA ITEM NO.: 3
PK SUBROUTINE CALLED ONCE PER INDIVIDUAL RECORD.
PK SUBROUTINE NOT CALLED AT NONEVENT (ADDITIONAL OR LAGGED) DOSE TIMES.
DURING SIMULATION, ERROR SUBROUTINE CALLED WITH EVERY EVENT RECORD.
OTHERWISE, ERROR SUBROUTINE CALLED ONCE IN THIS PROBLEM.
Figure_20 Control stream for phenobarb population data:posthoc eta’s displayed
FILE FSTREAM
PROB PHENOBARB POPULATION DATA
DATA 1 0 744 8 0 0 0 0
ITEM 1 6 8 11 1 0 0 0 0 0 0 0 0 0 0
INDX 7 2 3 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL ID, TIME
AMT, WT
APGR, CP
EVID, MDV
LRES SIGMA
LTHT
LETA
LEPS
FORM
(6F7.0,2F2.0)
STRC 3 2 1 0 0 1 0 1 0
THCN 1 0 0 0
THTA 4.700000000000000E-03, 9.900000000000000E-01, 1.000000000000000E+00
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000, 1000000, 1000000
DIAG 5.000000000000000E-02, 3.000000000000000E-02
DIAG 2.000000000000000E-02
DFLT -1
ESTM 0 500 3 5 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
COVR 0 0 0 0 0 0 1 0 0
COVT -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1-1-1TOS
-1 -1 -1-0.10000E+03-0.10000E+03-0.10000E+03
CPAR -1
TABL 1 1
PPAR -1
TABL 1 7 1 0 2 0 3 0 4 0 5 0 12 0 13 0
0 0 0 0 0 0 0 0-1 0
FRML
FRMR
FETA
SCAT 1 7
SCAT 9 6 0 0 0 1 0 0 0
0 0 0 -1
SCAT 9 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 9 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 12 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 12 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 13 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 13 0 0 0 0 0 0 0
0 0 0 -1
Figure_21 NM-TRAN control stream for phenobarb populationdata: posthoc eta’s displayed
$PROB PHENOBARB POPULATION DATA
$DATA DATA2 (6F7.0)
$INPUT ID TIME AMT WT APGR CP=DV
$SUBROUTINES ADVAN1 TRANS2
$PK
;CLEARANCE AND VOLUME PROPORTIONAL TO WEIGHT
;PROPORTIONALITY CONSTANT FOR VOLUME DEPENDS ON APGAR
CALLFL=1
CL=THETA(1)*WT*EXP(ETA(1))
TVVD=THETA(2)*WT
IF (APGR.LE.2) TVVD=THETA(3)*TVVD
V=TVVD*EXP(ETA(2))
S1=V
$ERROR
Y=F*EXP(EPS(1))
$THETA (0,.0047) (0,.99) (0,1.0)
$OMEGA .05 .03
$SIGMA .02
$ESTIM MAXEVAL=500 PRINT=5 POSTHOC
$COVAR
$TABLE ID TIME AMT WT APGR ETA1 ETA2
$SCAT CP VS PRED UNIT
$SCAT RES VS PRED
$SCAT WRES VS PRED
$SCAT ETA1 VS WT
$SCAT ETA1 VS APGR
$SCAT ETA2 VS WT
$SCAT ETA2 VS APGR
Figure_22 Control stream for phenobarb population data:using a mixture model
FILE FSTREAM
PROB PHENOBARB POPULATION DATA MIXTURE MODEL
DATA 1 0 744 8 0 0 0 0
ITEM 1 6 8 11 1 0 0 0 0 0 1 0 0 0 0
INDX 7 2 3 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL ID, TIME
AMT, WT
APGR, CP
EVID, MDV
EST
LRES SIGMA
LTHT
LETA
LEPS
FORM
(6F7.0,2F2.0)
STRC 5 4 1 0 0 0 1 1 0
STRC 2 2
THCN 1 0 0 0
THTA 4.700000000000000E-03, 2.000000000000000E+00, 9.900000000000000E-01
2.000000000000000E+00, 5.000000000000000E-01
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000 , 1000000 , 1000000
1000000 , 1.000000000000000E+00
BLST 5.000000000000000E-02, 1.000000000000000E-02, 3.000000000000000E-02
DIAG 2.000000000000000E-02
DFLT -1
ESTM 0 500 3 5 0 0 1 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
SCAT 1 8
SCAT 9 6 0 0 0 1 0 0 0
0 0 0 -1
SCAT 9 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 10 0 0 0 0 0 0 0
0 0 0 -1
SCAT 9 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 5 11 0 0 0 0 0 0 0
0 0 0 -1
SCAT 4 12 0 0 0 0 0 0 0
0 0 0 -1
Figure_23 NM-TRAN control stream for phenobarb populationdata: using a mixture model
$PROB PHENOBARB POPULATION DATA MIXTURE MODEL
$DATA DATA2 (6F7.0)
$INPUT ID TIME AMT WT APGR CP=DV
$SUBROUTINES ADVAN1 TRANS2
$MIX
NSPOP=2
P(1)=THETA(5)
P(2)=1.-THETA(5)
$PK
CALLFL=1
EST=MIXEST
CL1=THETA(1)*EXP(ETA(1))
V1=THETA(3)*EXP(ETA(2))
CL2=THETA(2)*THETA(1)*EXP(ETA(3))
V2=THETA(4)*THETA(3)*EXP(ETA(4))
IF (MIXNUM.EQ.1) THEN
CL=CL1
V=V1
ELSE
CL=CL2
V=V2
ENDIF
S1=V
$ERROR
Y=F*EXP(EPS(1))
$THETA (0,.0047) (0,2.0) (0,.99) (0,2.0) (0,.5,1)
$OMEGA BLOCK(2) .05 .01 .03
$OMEGA BLOCK(2) SAME
$SIGMA .02
$ESTM MAXEVAL=500 PRINT=5 INTERACTION METHOD=1
$SCAT CP VS PRED UNIT
$SCAT RES VS PRED
$SCAT RES VS WT
$SCAT RES VS APGR
$SCAT WRES VS PRED
$SCAT WRES VS WT
$SCAT WRES VS APGR
$SCAT EST VS WT
Figure_24 Scatterplot of mixture subpopulation versus weight
See figure in file fig24.pdf
Figure_25 Control stream of single-subject data
FILE NULL
PROB THEOPHYLLINE SINGLE SUBJECT DATA
DATA 0 0 11 6 0 0 0 0
ITEM 6 3 5 11 1 0 0 0 0 0 0 0 0 0 0
INDX 4 2 1 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL DOSE, TIME
CP, EVID
MDV, .ID.
LRES
LTHT
LETA
LEPS
FORM
(4F7.0,1X,F1.0,1X,F2.0)
320 .0 1 1 1
.27 1.71 0 0 1
.52 7.91 0 0 2
1. 8.31 0 0 3
1.92 8.33 0 0 4
3.5 6.85 0 0 5
5.02 6.08 0 0 6
7.03 5.4 0 0 7
9. 4.55 0 0 8
12. 3.01 0 0 9
24.3 .90 0 0 10
STRC 3 1 0 0 0 1 0 0 0
THCN 1 0 0 0
THTA 1.700000000000000E+00, 1.020000000000000E-01, 2.900000000000000E+01
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000, 1000000, 1000000
DIAG 2
DFLT -1
ESTM 0 240 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
COVR 0 0 0 0 1 0 1 0 0
COVT -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1-1-1TOS
-1 -1 -1-0.10000E+03-0.10000E+03-0.10000E+03
CPAR -1
TABL 1 1
PPAR -1
TABL 1 1 2 0
0 0 0 0 0 0 0 0-1 0
FRML
FRMR
FETA
SCAT 1 4
SCAT 2 3 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 7 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 8 0 0 0 0 0 0 0
0 0 0 -1
SCAT 3 7 0 0 0 1 0 0 0
0 0 0 -1
Figure_26 NM-TRAN control stream of single-subject data
$PROBLEM THEOPHYLLINE SINGLE SUBJECT DATA
$INPUT DOSE=AMT TIME CP=DV
$DATA DATA3 (3F7.0)
$SUBROUTINES ADVAN2
$PK
CALLFL=1
KA=THETA(1)
K=THETA(2)
SC=THETA(3)
$ERROR
Y=F+ERR(1)
$THETA (0,1.7) (0,.102) (0,29)
$ESTIMATION MAXEVAL=240 PRINT=2
$COVR
$TABLE TIME
$SCAT CP VS TIME
$SCAT PRED VS TIME
$SCAT RES VS TIME
$SCAT PRED VS CP UNIT
Figure_27 NONMEM problem summary for single-subject data
NONLINEAR MIXED EFFECTS MODEL PROGRAM (NONMEM) VERSION 7.4.0
ORIGINALLY DEVELOPED BY STUART BEAL, LEWIS SHEINER, AND ALISON BOECKMANN
CURRENT DEVELOPERS ARE ROBERT BAUER, ICON DEVELOPMENT SOLUTIONS,
AND ALISON BOECKMANN. IMPLEMENTATION, EFFICIENCY, AND STANDARDIZATION
PERFORMED BY NOUS INFOSYSTEMS.
PROBLEM NO.: 1
THEOPHYLLINE SINGLE SUBJECT DATA
DATA CHECKOUT RUN: NO
DATA SET LOCATED ON UNIT NO.: 2
THIS UNIT TO BE REWOUND: NO
NO. OF DATA RECS IN DATA SET: 11
NO. OF DATA ITEMS IN DATA SET: 6
ID DATA ITEM IS DATA ITEM NO.: 6
DEP VARIABLE IS DATA ITEM NO.: 3
MDV DATA ITEM IS DATA ITEM NO.: 5
INDICES PASSED TO SUBROUTINE PRED:
4 2 1 0 0 0 0 0 0 0 0
LABELS FOR DATA ITEMS:
DOSE TIME CP EVID MDV .ID.
FORMAT FOR DATA:
(3F7.0,3F2.0)
TOT. NO. OF OBS RECS: 10
TOT. NO. OF INDIVIDUALS: 10
LENGTH OF THETA: 3
DEFAULT THETA BOUNDARY TEST OMITTED: NO
OMEGA HAS SIMPLE DIAGONAL FORM WITH DIMENSION: 1
DEFAULT OMEGA BOUNDARY TEST OMITTED: NO
INITIAL ESTIMATE OF THETA:
LOWER BOUND INITIAL EST UPPER BOUND
0.0000E+00 0.1700E+01 0.1000E+07
0.0000E+00 0.1020E+00 0.1000E+07
0.0000E+00 0.2900E+02 0.1000E+07
COVARIANCE STEP OMITTED: NO
EIGENVLS. PRINTED: NO
SPECIAL COMPUTATION: YES
COMPRESSED FORMAT: NO
GRADIENT METHOD USED: NOSLOW
SIGDIGITS ETAHAT (SIGLO): -1
SIGDIGITS GRADIENTS (SIGL): -1
EXCLUDE COV FOR FOCE (NOFCOV): NO
TURN OFF Cholesky Transposition of R Matrix (CHOLROFF): NO
KNUTHSUMOFF: -1
RESUME COV ANALYSIS (RESUME): NO
SIR SAMPLE SIZE (SIRSAMPLE): -1
NON-LINEARLY TRANSFORM THETAS DURING COV (THBND): 1
PRECONDTIONING CYCLES (PRECOND): 0
PRECONDTIONING TYPES (PRECONDS): TOS
FORCED PRECONDTIONING CYCLES (PFCOND):0
PRECONDTIONING TYPE (PRETYPE): 0
FORCED POS. DEFINITE SETTING: (FPOSDEF):0
TABLES STEP OMITTED: NO
NO. OF TABLES: 1
SEED NUMBER (SEED): 11456
RANMETHOD: 3U
MC SAMPLES (ESAMPLE): 300
WRES SQUARE ROOT TYPE (WRESCHOL): EIGENVALUE
-- TABLE 1 --
RECORDS ONLY: ALL
4 COLUMNS APPENDED: YES
PRINTED: YES
FORMAT: S1PE11.4
LFORMAT:
RFORMAT:
FIXED_EFFECT_ETAS:
USER-CHOSEN ITEMS:
TIME
SCATTERPLOT STEP OMITTED: NO
FAMILIES OF SCATTERPLOTS: 4
-- SCATTERPLOT 1 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: TIME CP
-- SCATTERPLOT 2 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: TIME PRED
-- SCATTERPLOT 3 --
UNIT SLOPE LINE: NO
ITEMS TO BE SCATTERED: TIME RES
-- SCATTERPLOT 4 --
UNIT SLOPE LINE: YES
ITEMS TO BE SCATTERED: CP PRED
Figure_28 PREDPP problem summary for single-subject data
DOUBLE PRECISION PREDPP VERSION 7.4.0
ONE COMPARTMENT MODEL WITH FIRST-ORDER ABSORPTION (ADVAN2)
MAXIMUM NO. OF BASIC PK PARAMETERS: 3
BASIC PK PARAMETERS (AFTER TRANSLATION):
ELIMINATION RATE (K) IS BASIC PK PARAMETER NO.: 1
ABSORPTION RATE (KA) IS BASIC PK PARAMETER NO.: 3
COMPARTMENT ATTRIBUTES
COMPT. NO. FUNCTION INITIAL ON/OFF DOSE DEFAULT DEFAULT
STATUS ALLOWED ALLOWED FOR DOSE FOR OBS.
1 DEPOT OFF YES YES YES NO
2 CENTRAL ON NO YES NO YES
3 OUTPUT OFF YES NO NO NO
ADDITIONAL PK PARAMETERS - ASSIGNMENT OF ROWS IN GG
COMPT. NO. INDICES
SCALE BIOAVAIL. ZERO-ORDER ZERO-ORDER ABSORB
FRACTION RATE DURATION LAG
1 * * * * *
2 4 * * * *
3 * - - - -
- PARAMETER IS NOT ALLOWED FOR THIS MODEL
* PARAMETER IS NOT SUPPLIED BY PK SUBROUTINE;
WILL DEFAULT TO ONE IF APPLICABLE
DATA ITEM INDICES USED BY PRED ARE:
EVENT ID DATA ITEM IS DATA ITEM NO.: 4
TIME DATA ITEM IS DATA ITEM NO.: 2
DOSE AMOUNT DATA ITEM IS DATA ITEM NO.: 1
PK SUBROUTINE CALLED ONCE PER INDIVIDUAL RECORD.
PK SUBROUTINE NOT CALLED AT NONEVENT (ADDITIONAL OR LAGGED) DOSE TIMES.
DURING SIMULATION, ERROR SUBROUTINE CALLED WITH EVERY EVENT RECORD.
OTHERWISE, ERROR SUBROUTINE CALLED ONCE IN THIS PROBLEM.
Figure_29 Control stream of single-subject PD data
FILE NULL
PROB THEOPHYLLINE SINGLE SUBJECT DATA PHARMACODYNAMICS
DATA 0 0 11 6 0 0 0 0
ITEM 6 3 5 11 1 0 0 0 0 0 0 0 0 0 0
INDX 4 2 1 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL DOSE, TIME
EFF, EVID
MDV, .ID.
FORM
(4F7.0,1X,F1.0,1X,F2.0)
320 .0 1 1 1
.27 .094 0 0 1
.52 .163 0 0 2
1. .317 0 0 3
1.92 .544 0 0 4
3.5 .689 0 0 5
5.02 .473 0 0 6
7.03 .733 0 0 7
9. .667 0 0 8
12. .327 0 0 9
24.3 .151 0 0 10
STRC 3 1 0 0 0 1 0 0 0
THCN 1 0 0 0
THTA 1.000000000000000E+00, 1.000000000000000E+00, 5.000000000000000E+00
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000, 1000000, 1000000
DIAG 2
DFLT -1
ESTM 0 240 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
COVR 0 0 0 0 1 0 1 0 0
COVT -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1-1-1TOS
-1 -1 -1-0.10000E+03-0.10000E+03-0.10000E+03
CPAR -1
TABL 1 1
PPAR -1
TABL 1 1 2 0
0 0 0 0 0 0 0 0-1 0
FRML
FRMR
FETA
SCAT 1 4
SCAT 2 3 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 7 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 8 0 0 0 0 0 0 0
0 0 0 -1
SCAT 3 7 0 0 0 1 0 0 0
0 0 0 -1
Figure_30 NM-TRAN control stream of single-subject PD data
$PROBLEM THEOPHYLLINE SINGLE SUBJECT DATA PHARMACODYNAMICS
$INPUT DOSE=AMT TIME EFF=DV
$DATA DATA4 (3F7.0)
$SUBROUTINES ADVAN7
$MODEL COMP=(DEPOT,DEFDOSE) COMP=(CENTRAL) COMP=(EFFECT,DEFOBS)
$PK
CALLFL=1
K12=1.94
K20=.102
K23=.001*K20
K30=THETA(1)
VD=32
S3=VD*K23/K30
$ERROR
EMAX=THETA(2)
C50=THETA(3)
E=EMAX*F/(F+C50)
Y=E*(1+ETA(1))
$THETA (0,1) (0,1) (0,5)
$ESTIMATION MAXEVALS=240 PRINT=2
$COVR
$TABLE TIME
$SCAT EFF VS TIME
$SCAT PRED VS TIME
$SCAT RES VS TIME
$SCAT PRED VS EFF UNIT
Figure_31 Control stream of single-subject PD data:ERROR-defined items displayed
FILE FSTREAM
PROB THEOPHYLLINE SINGLE SUBJECT DATA PHARMACODYNAMICS
DATA 1 0 11 6 0 0 0 0
ITEM 6 3 5 11 1 0 0 0 0 0 8 0 0 0 0
INDX 4 2 1 0 0 0 0 0 0 0 0
XVID 0 0 0 0 0
MSDT 0.00000000000000E+000
LABL DOSE, TIME
EFF, EVID
MDV, .ID.
,
,
,
CP, CE
LRES
LTHT
LETA
LEPS
FORM
(3F7.0,3F2.0)
STRC 3 1 0 0 0 1 0 0 0
THCN 1 0 0 0
THTA 1.000000000000000E+00, 1.000000000000000E+00, 5.000000000000000E+00
LOWR 0.000000000000000E+00, 0.000000000000000E+00, 0.000000000000000E+00
UPPR 1000000, 1000000, 1000000
DIAG 2
DFLT -1
ESTM 0 240 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 -1 0 0 0
COVR 0 0 0 0 1 0 1 0 0
COVT -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1-1-1TOS
-1 -1 -1-0.10000E+03-0.10000E+03-0.10000E+03
CPAR -1
TABL 1 1
PPAR -1
TABL 1 3 2 0 16 0 17 0
0 0 0 0 0 0 0 0-1 0
FRML
FRMR
FETA
SCAT 1 8
SCAT 2 3 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 7 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 8 0 0 0 0 0 0 0
0 0 0 -1
SCAT 3 7 0 0 0 1 0 0 0
0 0 0 -1
SCAT 17 7 0 0 0 0 0 0 0
0 0 0 -1
SCAT 16 17 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 16 0 0 0 0 0 0 0
0 0 0 -1
SCAT 2 17 0 0 0 0 0 0 0
0 0 0 -1
Figure_32 NM-TRAN control stream of single-subject PD data:ERROR-defined items displayed
$PROBLEM THEOPHYLLINE SINGLE SUBJECT DATA PHARMACODYNAMICS
$INPUT DOSE=AMT TIME EFF=DV
$DATA DATA4 (3F7.0)
$SUBROUTINES ADVAN7
$MODEL COMP=(DEPOT,DEFDOSE) COMP=(CENTRAL) COMP=(EFFECT,DEFOBS)
$PK
CALLFL=1
K12=1.94
K20=.102
K23=.001*K20
K30=THETA(1)
VD=32
S3=VD*K23/K30
$ERROR
CP=A(2)/VD
CE=F
EMAX=THETA(2)
C50=THETA(3)
E=EMAX*F/(F+C50)
Y=E*(1+ETA(1))
$THETA (0,1) (0,1) (0,5)
$ESTIMATION MAXEVALS=240 PRINT=2
$COVR
$TABLE TIME CP CE
$SCAT EFF VS TIME
$SCAT PRED VS TIME
$SCAT RES VS TIME
$SCAT PRED VS EFF UNIT
$SCAT PRED VS CE
$SCAT CE VS CP
$SCAT CP VS TIME
$SCAT CE VS TIME
Figure_33 Scatterplot of prediction versus effect-compt.concentration
See figure in file fig33.pdf
Figure_34 Scatterplot of effect-compt. concentration versusplasma concentration
See figure in file fig34.pdf
Figure_35 Scatterplot of plasma concentration versus time
See figure in file fig35.pdf
Figure_36 Scatterplot of effect concentration versus time
See figure in file fig36.pdf
Figure_37 INFN subroutine for computing linearlyinterpolated values
! THIS EXAMPLE IS IDENTICAL TO HELP FILE infn1.exa
! INFN ROUTINE FOR COMPUTING LINEARLY INTERPOLATED VALUES
! OF AN INDEPENDENT VARIABLE V. ILLUSTRATES USE OF ROUTINE PASS.
! USE FOR SINGLE-SUBJECT OR POPULATION DATA
! WORKS WITH 1 OR MORE NON-MISSING VALUES.
! A SINGLE SUCH VALUE MAY BE ANYWHERE IN DATA SET.
! DATREC(UI)=TIME DATA ITEM
! DATREC(VI)=INDEPENDENT VARIABLE DATA ITEM
! DATREC(MI)=MISSING INDEPENDENT VARIABLE DATA ITEM
! =0 INDEP VAR NOT MISSING
! >0 IF THIS DATA RECORD HAS MISSING INDEP VAR AND:
! =1 THIS DATA RECORD PRECEDES FIRST NON-MISSING VALUE
! =3 THIS DATA RECORD FOLLOWS LAST NON-MISSING VALUE
! =2 THIS DATA RECORD IS BETWEEN NON-MISSING VALUES
!
SUBROUTINE INFN (ICALL,THETA,DATREC,INDXS,NEWIN)
USE SIZES, ONLY: ISIZE,DPSIZE,NO,MAXIDS
! NOTE THAT NEWIND IS NOT OBTAINED FROM THE SUBROUTINE ARGUMENT
USE NMPRD_INT, ONLY: NEWIND=>NWIND
INTEGER(KIND=ISIZE), INTENT(IN) :: ICALL,INDXS(*),NEWIN
REAL(KIND=DPSIZE), INTENT(IN) :: THETA(*)
REAL(KIND=DPSIZE), INTENT(IN OUT) :: DATREC(*)
REAL(KIND=DPSIZE) :: U,V
DIMENSION U(NO,MAXIDS),V(NO,MAXIDS),DEPVAR(MAXIDS),LASTI(MAXIDS)
INTEGER UI,VI,MI,IS,LASTI
! IMPORTANT: CHANGE UI, VI, MI ACCORDING TO LAYOUT OF DATA SET
UI=3
VI=5
MI=6
!
IF (ICALL.NE.1) RETURN
I=0
IS=0
! INITIALIZE PASS
MODE=0
CALL PASS (MODE)
MODE=2
! PASS THROUGH DATA
5 CALL PASS (MODE)
IF (MODE.EQ.0) GO TO 10
IF (NEWIND<2) THEN
I=0
IS=IS+1
ENDIF
! IF INDEP VAR IS PRESENT, STORE TIME AND VALUE
IF (DATREC(MI).EQ.0.) THEN
I=I+1
U(IS,I)=DATREC(UI)
V(IS,I)=DATREC(VI)
LASTI(IS)=I
ENDIF
IF (I == 1) THEN ! SAVE VALUE IN CASE ONLY RECORDED ONCE
DEPVAR(IS)=V(IS,1)
ENDIF
GO TO 5
! INITIALIZE PASS A SECOND TIME
10 I=0
IS=0
MODE=0
CALL PASS (MODE)
MODE=2
! PASS THROUGH DATA A SECOND TIME
15 CALL PASS (MODE)
IF (MODE.EQ.0) RETURN
IF (NEWIND<2) THEN
I=0
IS=IS+1
ENDIF
! IF INDEP VAR IS MISSING AND ONLY RECORDED ONCE, COPY IT
IF (DATREC(MI).NE.0. .AND. LASTI(IS) == 1 ) THEN
DATREC(VI)=DEPVAR(IS)
GO TO 15
ENDIF
! IF INDEP VAR IS MISSING, STORE INTERPOLATED VALUE
IF (DATREC(MI).EQ.0.) THEN
I=I+1
ELSE
IF (DATREC(MI).EQ.1.) THEN ! EXTRAPOL. FROM FIRST 2 VALUES
K=1
L=2
ELSEIF (DATREC(MI).EQ.2.) THEN ! INTERPOL. FROM BEFORE AND AFTER
K=I
L=I+1
ELSEIF (DATREC(MI).EQ.3.) THEN ! EXTRAPOL. FROM LAST 2 VALUES
K=I-1
L=I
ENDIF
B=(V(IS,K)-V(IS,L))/(U(IS,K)-U(IS,L))
DATREC(VI)=V(IS,K)+B*(DATREC(UI)-U(IS,K))
ENDIF
GO TO 15
END
Figure_38 MODEL subroutine for 1-compt. linear model with1st-order absorption
! DEFINES A 1 COMPARTMENT LINEAR MODEL WITH FIRST-ORDER ABSORPTION
! COMPT1: DRUG DEPOT COMPT2: CENTRAL COMPT
!
SUBROUTINE MODEL (IDNO,NCM,NPAR,IR,IATT,LINK)
USE PRMOD_CHAR, ONLY: NAME
USE SIZES, ONLY: DPSIZE,ISIZE,SD
USE PRDIMS, ONLY: GPRD,HPRD,GERD,HERD,GPKD
INTEGER(KIND=ISIZE) :: IDNO,NCM,NPAR,IR,IATT,LINK,I,J
DIMENSION :: IATT(IR,*),LINK(IR,*)
SAVE
INTEGER(KIND=ISIZE), DIMENSION (2,7) :: MOD
CHARACTER(LEN=SD), DIMENSION(2) :: CMOD
DATA (MOD(I, 1),I= 1, 2)/&
! INITIAL STATUS: OFF ON
0,1 /
DATA (MOD(I, 2),I= 1, 2)/&
! ON/OFF ALLOWED: YES NO
1,0 /
DATA (MOD(I, 3),I= 1, 2)/&
! DOSE ALLOWED: YES YES
1,1 /
DATA (MOD(I, 4),I= 1, 2)/&
! DEFAULT FOR OBSERVATIONS: NO YES
0,1 /
DATA (MOD(I, 5),I= 1, 2)/&
! DEFAULT FOR DOSES: YES NO
1,0 /
DATA (MOD(I, 6),I= 1, 2)/&
0,0 /
DATA (MOD(I, 7),I= 1, 2)/&
0,0 /
DATA (CMOD(I),I= 1, 2) &
/’DEPOT’,’CENTRAL’/
FORALL (I=1:2) NAME(I)=CMOD(I)
FORALL (I=1:2,J=1:7) IATT(I,J)=MOD(I,J)
IDNO=9999
NCM= 2
NPAR=002
RETURN
END
Figure_39 MODEL subroutine for single-subject PD data
! DEFINES A 3 COMPARTMENT MODEL
! COMPT1: DRUG DEPOT COMPT2: CENTRAL COMPT COMPT3: EFFECT COMPT
!
SUBROUTINE MODEL (IDNO,NCM,NPAR,IR,IATT,LINK)
USE PRMOD_CHAR, ONLY: NAME
USE SIZES, ONLY: DPSIZE,ISIZE,SD
USE PRDIMS, ONLY: GPRD,HPRD,GERD,HERD,GPKD
INTEGER(KIND=ISIZE) :: IDNO,NCM,NPAR,IR,IATT,LINK,I,J
DIMENSION :: IATT(IR,*),LINK(IR,*)
SAVE
INTEGER(KIND=ISIZE), DIMENSION (3,7) :: MOD
CHARACTER(LEN=SD), DIMENSION(3) :: CMOD
DATA (MOD(I, 1),I= 1, 3)/&
! INITIAL STATUS: ON ON ON
1,1,1 /
DATA (MOD(I, 2),I= 1, 3)/&
! ON/OFF ALLOWED: NO NO NO
0,0,0 /
DATA (MOD(I, 3),I= 1, 3)/&
! DOSE ALLOWED: YES NO NO
1,0,0 /
DATA (MOD(I, 4),I= 1, 3)/&
! DEFAULT FOR OBSERVATIONS: NO NO YES
0,0,1 /
DATA (MOD(I, 5),I= 1, 3)/&
! DEFAULT FOR DOSES: YES NO NO
1,0,0 /
DATA (MOD(I, 6),I= 1, 3)/&
0,0,0 /
DATA (MOD(I, 7),I= 1, 3)/&
0,0,0 /
DATA (CMOD(I),I= 1, 3) &
/’DEPOT’,’CENTRAL’,’EFFECT’/
FORALL (I=1:3) NAME(I)=CMOD(I)
FORALL (I=1:3,J=1:7) IATT(I,J)=MOD(I,J)
IDNO=9999
NCM= 3
NPAR=004
! SET LINK:
! K12
LINK( 1,002)=001
! K23
LINK( 2,003)=003
! K20
LINK( 2,004)=002
! K30 (KEO)
LINK( 3,004)=004
RETURN
END
Figure_40 DES subroutine for 1-compt. linear model with1st-order absorption
SUBROUTINE DES (A,P,T,DADT,IR,DA,DP,DT)
USE NMPRD4P
USE SIZES, ONLY: DPSIZE,ISIZE
USE PRDIMS, ONLY: GPRD,HPRD,GERD,HERD,GPKD
USE NMPRD_INT, ONLY: MSEC=>ISECDER,MFIRST=>IFRSTDER,IFIRSTEM,IFIRSTEMJAC
USE PRCOM_INT, ONLY: MITER
USE NMPRD_INT, ONLY: MDVRES,ETASXI,NPDE_MODE,NOFIRSTDERCODE
USE NMPRD_REAL, ONLY: DV_LOQ,CDF_L
USE PRMOD_INT, ONLY: ICALL=>ICALLD,IDEFD,IDEFA
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
SAVE
INTEGER(KIND=ISIZE) :: IR
DIMENSION :: A(*),P(*),DADT(*),DA(IR,*),DP(IR,*),DT(*)
INTEGER(KIND=ISIZE) :: FIRSTEM,IFIRSTEMJACIN
IF(MITER==1.OR.MITER==4) IFIRSTEM=1
FIRSTEM=IFIRSTEM
IFIRSTEMJACIN=IFIRSTEMJAC
IF(NOFIRSTDERCODE/=1) THEN
IFIRSTEMJAC=FIRSTEM
ELSE
IFIRSTEMJAC=0
ENDIF
IF(IFIRSTEMJACIN==-2) RETURN
IF (ICALL == 1) THEN
CALL ASSOCNMPRD4
IDEFD(1)= 0
RETURN
ENDIF
! level 0
! level 0
DADT(1)=-P(002)*A(1)
DADT(2)=P(002)*A(1)-P(001)*A(2)
IF (FIRSTEM == 1) THEN ! 1
! E000004 = DERIVATIVE OF DADT(1) W.R.T. A(001)
E000004=-P(002)
! F000081 = DERIVATIVE OF DADT(1) W.R.T. P(002)
F000081=-A(1)
! E000005 = DERIVATIVE OF DADT(2) W.R.T. A(001)
E000005=P(002)
! E000006 = DERIVATIVE OF DADT(2) W.R.T. A(002)
E000006=-P(001)
! F000082 = DERIVATIVE OF DADT(2) W.R.T. P(002)
F000082=A(1)
! F000083 = DERIVATIVE OF DADT(2) W.R.T. P(001)
F000083=-A(2)
ENDIF !1
IF (FIRSTEM == 1) THEN !3
DA( 1, 1)=E000004
DA( 2, 1)=E000005
DA( 2, 2)=E000006
DP( 1,002)=F000081
DP( 2,001)=F000083
DP( 2,002)=F000082
ENDIF !3
RETURN
END
Figure_41 TOL subroutine for NONMEM 7.3 and earlier
! TOL SUBROUTINE for NONMEM 7.3 and earler
SUBROUTINE TOL (NRD)
DIMENSION NRD(*)
NRD(1)=4
RETURN
END
Figure_41a TOL subroutine for NONMEM 7.4 and later
! TOL SUBROUTINE for NONMEM 7.4 and later
SUBROUTINE TOL(NRD,ANRD,NRDC,ANRDC)
USE SIZES, ONLY: ISIZE
INTEGER(KIND=ISIZE) :: NRD(0:*), ANRD(0:*), NRDC(0:*), ANRDC(0:*)
NRD(1)=5
RETURN
END
Figure_42 AES subroutine
! AES FOR COMPARTMENT (3) IN EQUILLIBRIUM WITH COMPARTMENT (2)
!
SUBROUTINE AES (INIT,A,P,T,E,IR,DA,DP,DT)
USE SIZES, ONLY: DPSIZE,ISIZE
IMPLICIT REAL(KIND=DPSIZE) (A-Z)
INTEGER(KIND=ISIZE) :: IR,INIT
DIMENSION :: A(*),P(*),E(*),DA(IR,*),DP(IR,*),DT(*)
IF (INIT.EQ.1) THEN
! SOLUTION FOR EQUILLIBRIUM COMPARTMENT
A(3)=P(4)*A(2)
ELSE
! EQUATIONS FOR EQUILLIBRIUM COMPARTMEMT
E(3)=A(3)-P(4)*A(2)
DA(3,2)=-P(4)
DA(3,3)=1.
DP(3,3)=-A(2)
ENDIF
RETURN
END
Figure_43 MODEL subroutine for use with the AES subroutine
SUBROUTINE MODEL (IDNO,NCM,NPAR,IR,IATT,LINK)
USE PRMOD_CHAR, ONLY: NAME
USE SIZES, ONLY: ISIZE
INTEGER(KIND=ISIZE) :: IDNO,NCM,NPAR,IR,IATT,LINK
DIMENSION :: IATT(IR,*),LINK(IR,*)
INTEGER(KIND=ISIZE) :: I,J
INTEGER(KIND=ISIZE), DIMENSION (3,9) :: MOD
CHARACTER(LEN=8), DIMENSION(3) :: CMOD
DATA MOD/&
1,1,1,&
1,1,1,&
1,1,0,&
0,1,0,&
1,0,0,&
0,0,0,&
0,0,0, &
0,0,1, &
0,0,0/
DATA CMOD/ &
’DEPOT ’,&
’CENTRAL ’,&
’A3 ’/
FORALL (I=1:3) NAME(I)=CMOD(I)
FORALL (I=1:3,J=1:9) IATT(I,J)=MOD(I,J)
IDNO=2
NCM= 3
NPAR=4
RETURN
END
TOP
TABLE OF CONTENTS