Population PD Analysis
Objective and introduction
Objectives
- To provide practical experience of performing population analysis using NONMEM.
- To learn how covariate models are specified using NM-TRAN.
Introduction
A data set is provided which was collected as part of a target concentration controlled trial of theophylline in severe airways obstruction (Holford et al. 1993a) Measurements of peak expiratory flow rates (PEFR) and theophylline concentration were made in 187 patients assigned to a target concentration of 10 mg/L or 20 mg/L. Available covariates include sex, age, diagnosis (asthma or COPD).
An NM-TRAN control stream (theopd.ctl) illustrates the use of an Emax model to describe the relationship between theophylline concentration and PEFR. Your task is to investigate other models to describe the effects of theophylline on PEFR and the influence of covariates on the model parameters. A suggested model is described in Holford et al. 1993b.
NONMEM
Note: All files should be loaded from and saved to your Pharmacometrics Data\Population PD folder for this assignment.
- Use the Windows Explorer to explore the My Pharmacometrics\Pharmacometrics Data\Population PD folder.
- Open the theopd.ctl file and see if you can understand the NM-TRAN control stream code.
- Open the Wings for NONMEM (WFN) window by double clicking on the NONMEM shortcut in My Pharmacometrics\Pharmacometrics Programs.
- Change directory in the WFN window to the Population PD folder.
cd "Population PD" - Start a NONMEM run using the theopd.ctl NMTRAN control stream.
nmgo theopd - When the run is finished the results will be shown in a table format extracted from the NONMEM output listing.
- Make a copy of theopd.ctl file so that you can test a linear
model instead of an Emax model.
copy theopd.ctl theolin.ctl - Edit theolin.ctl as shown in Figure 1.
notepad theolin.ctl
$PROB theophylline pharmacodynamicsFigure 1. NM-TRAN code for theolin.ctl.
$DATA theopd.dat IGNORE #
$INPUT ID TIME THEO AGE WT SEX RACE DIAG DV
$ESTIM MAXEVAL=9990 POSTHOC
$COV
$THETA (0,150.,) ; pope0 1
$THETA (0,2.,) ; slope 2
$OMEGA 0.5 ; etae0 1
$OMEGA 0.5 ; etaslope 2
$SIGMA 100 ; errsd 1
$PRED
E0=THETA(1)*EXP(ETA(1))
SLOPE=THETA(2)*EXP(ETA(2))
Y = E0 + SLOPE*THEO + ERR(1)
$TABLE ID TIME THEO SLOPE E0 Y
ONEHEADER NOPRINT FILE=theopd.fit
- Run theolin.ctl using nmgo and examine the results.
nmgo theolin - Make a copy of the better model control file so that you can see
if sex affects the baseline PEFR
copy theopd.ctl theosex.ctl - Edit theosex.ctl .Add a new parameter, FSEXE0, to make E0 in females a fraction of
that in males (Figure 2).
$PROB theophylline pharmacodynamicsFigure 2. Code for theosex.ctl.
$DATA theopd.dat IGNORE #
$INPUT ID TIME THEO AGE WT SEX RACE DIAG DV
$ESTIM MAXEVAL=9990 POSTHOC
$COV
$THETA (0,150.,) ; pope0 1
$THETA (0,200.,) ; popemax 2
$THETA (.001,10,) ; popec50 3
$THETA (0,1,) ; fsexe0 4
$OMEGA 0.1 ; etae0 1
$OMEGA 0.1 ; etaemax 2
$OMEGA 0.1 ; etaec50 3
$SIGMA 100 ; errsd 1
$PRED
IF (SEX.EQ.1) THEN ; male
FSEXE0=1
ELSE
FSEXE0=THETA(4)
ENDIF
E0=FSEXE0*THETA(1)*EXP(ETA(1))
EMAX=THETA(2)*EXP(ETA(2))
EC50=THETA(3)*EXP(ETA(3))
Y = E0 + EMAX*THEO/(THEO+EC50) + ERR(1)
$TABLE ID TIME THEO EMAX EC50 E0 Y
ONEHEADER NOPRINT FILE=theopd.fit
- Run theosex.ctl and examine the results.
- You can compare the results of all your runs so far with the
commands:
nmobj Summary of obj values.
nmlst Summary of parameter estimates (for just a few runs)
nmmbt Summary of one or more runs. Open the nmmbt_*.txt file with Excel. - Open the theopd.dat file and look at its structure. There are some comments in the file telling you about the values.
- Experiment with changing the model and explore the influence of weight, age, sex and diagnosis on the model parameters.
Assignment
- Describe the best model you found to describe the fixed effects of covariates by showing your NM-TRAN code and explaining how each covariate model is implemented.
- Justify in biological terms the influence of each covariate you found to be important.
- List the objective function values for each model with a brief description of each model.
References
- Holford NHG, Black P, Briant R, Couch R, Kennedy J. Theophylline target concentration in severe airways obstruction - 10 or 20 mg/L? A randomised concentration-controlled trial. Clinical Pharmacokinetics 1993a; 25:495-505
- Holford NHG, Hashimoto Y, Sheiner LB. Time and theophylline
concentration help explain the recovery of peak flow following acute
airways obstruction. Population analysis of a randomised concentration
controlled trial. Clinical Pharmacokinetics 1993; 25:506-515
$PROB Theopylline and time on PEFRFigure 3. Code from Holford et al (1993).
$DATA theopd.dat IGNORE #
$INPUT ID TIME THEO AGE WT SEX RACE DIAG DV
$ESTIM MAXEVAL=9990 POSTHOC
$COV
$THETA (0,150,) ;base
$THETA (0,500,) ;normal
$THETA (.01,10,) ;t50
$THETA (.01,10,) ;c50
$THETA (0,0.5,1) ;alpha
$THETA (.1,2,5) ;hill
$THETA 0 FIX ;copd
$THETA 0 FIX ;female
$THETA 0 FIX ;fyears
$OMEGA 0.5 ;etabase
$OMEGA 0.5 ;etanormal
$OMEGA 0.5 ;etat50
$OMEGA 0.5 ;etac50
$SIGMA 0.025 ;errcv
$PRED
NDIAG=DIAG
IF (NDIAG.LE.0) NDIAG=1
NSEX=SEX
IF (NSEX.LE.0) NSEX=1
NAGE=AGE
IF (NAGE.LE.0) NAGE=40
FDIAG = 1+copd *(1-NDIAG)
FSEX = 1+female*(1-NSEX)
FAGE = 1+fyears*(NAGE-40)
FFLOW = FDIAG*FAGE*FSEX
BASE = base*exp(etabase)
NORMAL = FFLOW*normal*exp(etanormal)
T50 = t50*exp(etat50)
C50 = c50*exp(etac50)
ALPHA = alpha
HILL = hill
IF (T50.LE.0.01) EXIT 1 3
IF (C50.LE.0.01) EXIT 1 4
IF (TIME.LT.0) THEN
LTZERO=1
ELSE
LTZERO=0
ENDIF
FTIME=LTZERO+(1-LTZERO)*EXP(-0.693/T50*TIME)
BCF=(NORMAL/BASE-1)*FTIME
FEMAX=BCF/(BCF+1)
PEFRT=NORMAL*(1-FEMAX)
CPN=THEO**HILL
C50N=C50**HILL
PEFRCT=(NORMAL-PEFRT)*CPN/(CPN+C50N)
FX=PEFRT+ALPHA*PEFRCT
Y=FX*(1+errcv)