slide 1 winbugs oct2001 novartisnovartis winbugs with some pk examples peter blood cp-bios novartis...
TRANSCRIPT
Slide 1winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
WinBugs with some PK examples
Peter Blood
CP-Bios
Novartis Horsham Research Centre
Slide 2winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Examples
• IV dose - Cadralazine
• Oral 1 compartment– Theophylline
Slide 3winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
A Simple Hierarchical Structure
f o r ( i I N 1 : 1 2 )
f o r ( j I N 1 : 1 1 )
e t a 2t h e t ae t a 1p h i
l o g ( V)l o g ( Cl )
mu
c o n c
Slide 4winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
IV - Cadralazine
• Taken IV by patients for cardiac failure
• Data consisted of 10 patients on 30mg
• Original Bayesian analysis by Wakefield, Racine-Poon et al
• (Applied Statistics 43,No 1, pp201-221,1994)
• Analysed in BUGS with a linearised model– See version 0.6 manual addendum
• Can now be analysed with nonlinear Model in PkBUGS
• Will consider a non-linear model with winBUGS
Slide 5winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Cadralazine Data (from Wakefield et al)
0 5 10 15 20 25 30Time (h)
-0.1
0.4
0.9
1.4
1.9
Co
nce
ntr
atio
n (
mg
/L)
Slide 6winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
IV Cadralazine Equation
)Cllog();Vlog(
ngsubstituti
)V
Cltexp(
V
DConc
)btexp(AConc
Slide 7winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Cadralazine Models
• Analysed in BUGS v0.6 as product formulation of the bivariate nomal
• Log V ~ N(ua, a) I (La,Ua)
• Log Cl | log V ~ N(k0+k1(Log V - c), b) I(Lb,Ub)
• Could now analyse in winBUGS 1.3 as multivariate
• muab [1:2] ~ dmnorm(mean[1:2], prec[1:2,1:2])
• tauab[1:2,1:2] ~ dwish(R[1:2], 1:2],2)
• Could now use PKBUGS (see David Lunn’s example)
Slide 8winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Cadralazine Doodle
f o r ( j I N 1 : N)
f o r ( i I N 1 : K)
Do s e t a u C
t a u . c lp . l g c lt a u . v o lp . l g v o l
l g c l [ i ]l g v o l [ i ]
Y[ i , j ]
mn [ i , j ]mn [ i , j ]
n a me : mn [ i , j ] t y p e : l o g i c a l l i n k : i d e n t i t y
v a l u e : ( Do s e / e x p ( l g v o l [ i ] ) ) * e x p ( - t [ j ] * e x p ( l g c l [ i ] - l g v o l [ i ] ) )
Slide 9winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Cadralazine Results
Mean
(sd)
BUGS 0.6 winBUGS PKBUGS
p.lgcl 1.051(0.147) 1.061 (0.131) 1.054 (0.129)
p.lgvol 2.838 (0.072) 2.669 (0.043) 2.683 (0.056)
tauC - 285.9 (52.96) 232.8 (51.18)
sigma - 0.060 (0.006) 0.066 (0.007)
Slide 10winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline Example
• Bronchodilator (methyl xanthine)
• Kinetics of drug’s anti-asthmatic properties
• 12 Subjects measured 11 times over 25 hours
• Oral first order one compartment model
• First Analysed by Sheiner and Beal with NONMEM
• Also by Pinherio and Bates in S+ using NLME
• And in SAS using proc NLMIXED
Slide 11winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
References on Theophylline
• Davidian & Giltinan 1995– “Non linear Models for Repeated – Measurement Data”, pub Chapman & Hall.
• Pinheiro & Bates (1995)– Analysed in SAS (Proc Nlmixed)– Reanalysed in SPLUS (NLME)
• Boeckman, Sheiner & Beal 1992 – (Nonmem User’s Guide Part V)– Created with Body weight as a Cl covariate– Absorption assumed same for all subjects– 1 Compartment model – Volume in L/kg, Clearance in L/hr/kg
Slide 12winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline Example 12 adults from NONMEM file
0.1
1.0
10.0
100.0
0 5 10 15 20 25
time (hour)
1
10
11
12
2
3
4
5
6
7
8
9
Slide 13winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline Example
0.1
1.0
10.0
100.0
0.1 1.0 10.0 100.0
time (hour)
1
10
11
12
2
3
4
5
6
7
8
9
NONMEM dataset (12 adults)
Slide 14winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Open Oral Model for Theophylline
);Cllog();Vlog(
ngsubstituti
)}Katexp()V/Clt{exp()ClVka(
DkaConc
Slide 15winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline Central Code
• for(i in 1:nSUBJ){• for(j in 1:nTIME){• mu[i,j] <- Dose[i]*exp(logka)*• (exp((-Time[i,j])*exp(lgcl[i]-lgvol[i]))• - exp((-Time[i,j])*exp(logka)))• /(exp(lgvol[i]+logka)-exp(lgcl[i]))• Conc[i,j] ~ dnorm(mu[i,j], epsilon) • }# end of j time loop • }# end of i subject loop
• Conc[i,j] ~ dt(mu[i,j],epsilon,4)
Slide 16winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Prior Information
• phi ~ dnorm(-3.5, 500) # log(Cl)• theta ~ dnorm(-1,100000) # log(V)• logka ~ dnorm( 0.5, 150) • eta1 ~ dgamma(40, 1) # inter• eta2 ~ dgamma(12, 3) # inter • epsilon ~ dgamma(0.001,0.001) # intra
• for(i in 1:nSUBJ){• lgcl[i] ~ dnorm(phi,eta1) • lgvol[i] ~ dnorm(theta,eta2)•
Slide 17winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Initial Conditions (1st)
• # 1st set of initial start conditions• list(phi = -4.0,• theta = -1.5,• logka = 0.3, • eta1 = 24, • eta2 = 2,• epsilon= 0.7,• lgcl = c(-4.0,-4.0,-4.0,-4.0,-4.0,-4.0,• -4.0,-4.0,-4.0,-4.0,-4.0,-4.0),• lgvol = c(-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,• -1.5,-1.5,-1.5,-1.5,-1.5,-1.5)• )
Slide 18winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Data Collection & Posterior Statistics
• for(i in 1:nSUBJ){• Dose[i] <- Z[i,1,4]• for(j in 1:nTIME){• Time[i,j] <- Z[i,j,5]• Conc[i,j] <- Z[i,j,6]
• lgcl.mn <- mean(lgcl[])• lgvol.mn <- mean(lgvol[])• mnCl <- exp(lgcl.mn)• mnVol <- exp(lgvol.mn)• Sigma <- 1.0/sqrt(epsilon)
• for(i in 1:nSUBJ){• Cl[i] <- exp(lgcl[i])• Vol[i] <- exp(lgvol[i])
Slide 19winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline Data-1st Subject
• list(nSUBJ = 12, nTIME = 11, • Z = structure(• .Data=c(• 1, 1, 79.60, 4.02, 0.00, 0.74,• 2, 1, 79.60, 4.02, 0.25, 2.84,• 3, 1, 79.60, 4.02, 0.57, 6.57,• 4, 1, 79.60, 4.02, 1.12,10.50,• 5, 1, 79.60, 4.02, 2.02, 9.66,• 6, 1, 79.60, 4.02, 3.82, 8.58,• 7, 1, 79.60, 4.02, 5.10, 8.36,• 8, 1, 79.60, 4.02, 7.03, 7.47,• 9, 1, 79.60, 4.02, 9.05, 6.89,• 10, 1, 79.60, 4.02,12.12, 5.94,• 11, 1, 79.60, 4.02,24.37, 3.28,• ............• 132,12, 60.50, 5.30,24.15, 1.17), .Dim=c(12,11,6)))
Slide 20winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Start of 2 chains for log(Cl) (Theophylline)
l g c l . mn c h a i n s 2 : 1
i t e r a t i o n5 00
- 4 . 0
- 3 . 5
- 3 . 0
Slide 21winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
3rd Continuation of chains for log(Cl)(Theophylline)
l g c l . mn c h a i n s 2 : 1
i t e r a t i o n8 9 5 08 9 0 08 8 5 0
- 3 . 6 - 3 . 5 - 3 . 4 - 3 . 3 - 3 . 2
Slide 22winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
History Chains (Theophylline)
l g c l . mn c h a i n 1
i t e r a t i o n4 0 0 1 5 0 0 0 7 5 0 0 1 0 0 0 0 1 2 5 0 0
- 3 . 6
- 3 . 5
- 3 . 4
- 3 . 3
- 3 . 2
l g c l . mn c h a i n 2
i t e r a t i o n4 0 0 1 5 0 0 0 7 5 0 0 1 0 0 0 0 1 2 5 0 0
- 3 . 6
- 3 . 5
- 3 . 4
- 3 . 3
- 3 . 2
Slide 23winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Results for Theophylline
• node mean sd MC err start sample• epsilon 0.891 0.124 0.0016 4001 20000
• eta1 36.34 6.035 0.0672 4001 20000
• eta2 4.734 1.124 0.0085 4001 20000
• Lgcl.mn -3.352 0.045 0.0011 4001 20000
• Lgvol.mn -0.719 0.028 0.0007 4001 20000
• Logka 0.483 0.056 0.0013 4001 20000
• Phi -3.432 0.039 0.0006 4001 20000
• Theta -0.999 0.003 0.00002 4001 20000
• sigma 1.067 0.075 0.0009 4001 20000
Slide 24winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Geweke & Cross-Correlation(chain 1)
Geweke (Z)
Variable Lgcl.mn Lgvol.mn Phi Theta Sigma
0.608 Lgcl.mn 1.000
-1.500 Lgvol.mn -0.488 1.000
1.080 Phi 0.525 -0.252 1.000
-0.882 Theta 0.002 -0.013 -0.001 1.000
-0.611 Sigma -0.211 0.125 -0.102 0.005 1.000
Slide 25winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Multivariate Theophylline
• # vague prior information• muab[1:2] ~ dmnorm(mean[1:2],precn[1:2,1:2])• tauab[1:2,1:2] ~ dwish(omega[1:2,1:2],2)
• # extra initial conditions• list(• mean = c(0,0),• precn = structure(.Data=c(1.0E-6,0,0,1.0E-.Dim=c(2,2)),• omega = structure(.Data=c(0.1,0,0,0.01), .Dim=c(2,2)))
Slide 26winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Results from Multi-variate Model (Theophylline)
• node mean sd MC err startsample
• epsilon 0.937 0.130 0.0018 4001 20000
• Logka 0.463 0.058 0.0014 4001 20000
• muab[1] -3.259 0.102 0.0015 4001 20000
• muab[2] -0.738 0.072 0.0009 4001 20000
• Sigma 1.041 0.073 0.0010 4001 20000
• tauab[1,1]17.740 11.30 0.2633 4001 20000
• tauab[1,2]-5.524 11.50 0.2628 4001 20000
• tauab[2,1]-5.524 11.50 0.2628 4001 20000
• tauab[2,2]32.080 21.60 0.4639 4001 20000
Slide 27winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Theophylline
Software Procedure RESULTS
Log(ka) Log(V) LOG(Cl) LOG(Ke)
winBUGS M-H 0.482 -0.999 -3.432
NONMEM Taylor 0.456 -0.802 -3.160
S+ NLME 0.453 -0.782 -3.214
SAS NLMIXED 0.453 -0.795 -3.169
SAS NLMIXED 0.481 -3.227 -2.459
Davidian & Giltian
GTS 0.265 -0.795 -3.207
“ V&C GLS 0.453 -0.748 -3.264
“ L&B GLS 0.329 -0.789 -3.214
Slide 28winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
Conclusions
• Run some examples of PK models in winBUGS.
• IV and Oral One compartment examples.
• Cadralazine and Theophylline
• Compared with results from other sources
• Looked at convergence issues in CODA
• Perhaps you should now try PKBUGS (28models)!
• Plea for further development of PKBUGS
Slide 29winBUGS
Oct2001Oct2001 NOVARTISNOVARTISNOVARTISNOVARTIS
The End
•Any
•Questions
• ?