Sequential PD model parameter stays at initial estimation problem

3 messages 2 people Latest: Nov 11, 2011
Hi Dear NMusers, I have a sequential PD model and I listed the code here. base is the baseline level of the PD parameter for each individual and was included in the dataset. The problem with this code is that my only parameter to be estimated Vmax stays at the initial estimation whatever I provide and the gradient for THETA1 stays at 0 from the beginning. And the run time is extremely long. If I change F4 to another THETA to be estimated, the same problem still exists. Will anyone please shed some light on this problem? Thanks a lot! Lei $PROBLEM PD model $INPUT ID ETACL ETAV2 ETAKA Weight AMT DV TIME STUDY base CMT $DATA PD.csv IGNORE=@ WIDE $SUBROUTINES ADVAN6 TOL=3 $MODEL NCOMP=4 COMP=GUT COMP=CENTRAL COMP=PERI COMP=EFFECT ;--------------- $PK SCALE = Weight SCALE2 = Weight ** 0.75 ; allometric THETACL=1 ; L/day THETAV1= 1; L/kg THETACLRA= 1 ; L/day THETAV2=1 ; L/kg THETAKA= 1 ; 1/day THETAALAG1= 1 ;days THETAF1= 1 THETACLHILL= 1 THETACLTITER= 1 THETACLRAHILL= 1 CL = SCALE2 * THETACL * EXP(ETACL) V1 = SCALE * THETAV1 CLRA = SCALE2 * THETACLRA V2 = SCALE * THETAV2 * EXP(ETAV2) KA = THETAKA * EXP(ETAKA) ALAG1 = THETAALAG1 F1 = THETAF1 S2=V1 Vmax= THETA(1)* EXP(ETA(1)) Km = 100 F4=base ; R0 is the baseline for each individual K = CL / V1 K23 = CLRA / V1 K32 = CLRA / V2 $DES DADT(1)= -KA * A(1) DADT(2)= (KA * A(1)) - ((K + K23) * A(2)) + (K32 * A(3)) DADT(3)= K23 * A(2) - K32 * A(3) CP= A(2)/S2 DADT(4)= -Vmax*CP*A(4)/(Km+A(4)) $ERROR IPRED=F Y= A(4)*(1+ERR(1))+ERR(2) ;--------------- $THETA (0,10) $OMEGA (0 FIXED) $SIGMA 0.1 10 ;--------------- $EST METHOD=0 MAXEVAL=9999 NOABORT PRINT=5 $COVARIANCE
Lei, Have you checked in a $TABLE file that CP has the expected value and that A(4) is indeed initialized at a non zero value of 'base'? You don't explicitly define 'base' in your code. If it zero then of A(4) will remain at zero and Vmax will have a gradient of zero. You don't give any clue what kind of PD marker you are trying to model but it is rather strange that you don't allow any input of the marker in DADT(4). Even if CP remained zero the marker would disappear because there is no input. You seem to be using the very old fashioned NONMEM V method of initializing a differential equation by putting a AMT of 1 in CMT 4 at TIME=0. Since NONMEM VI this has become much simpler. Just use this: A_0(4)=base Don't set F4 to anything and don't put and AMT into CMT=4. Nick
Quoted reply history
On 11/11/2011 8:18 a.m., Lei Diao wrote: > Hi Dear NMusers, > > I have a sequential PD model and I listed the code here. base is the baseline level of the PD parameter for each individual and was included in the dataset. The problem with this code is that my only parameter to be estimated Vmax stays at the initial estimation whatever I provide and the gradient for THETA1 stays at 0 from the beginning. And the run time is extremely long. If I change F4 to another THETA to be estimated, the same problem still exists. > > Will anyone please shed some light on this problem? > > Thanks a lot! > > Lei > > $PROBLEM PD model > $INPUT ID ETACL ETAV2 ETAKA Weight AMT DV TIME STUDYbase CMT > > $DATAPD.csv IGNORE=@ WIDE > $SUBROUTINES ADVAN6 TOL=3 > > $MODEL NCOMP=4 > COMP=GUT COMP=CENTRAL COMP=PERI COMP=EFFECT > > ;--------------- > $PKSCALE= Weight > SCALE2 = Weight ** 0.75; allometric > > THETACL=1 ; L/day > THETAV1= 1; L/kg > THETACLRA= 1 ; L/day > THETAV2=1 ; L/kg > THETAKA= 1 ; 1/day > THETAALAG1= 1 ;days > THETAF1= 1 > THETACLHILL= 1 > THETACLTITER= 1 > THETACLRAHILL= 1 > > CL= SCALE2 * THETACL * EXP(ETACL) > V1= SCALE * THETAV1 > CLRA= SCALE2 * THETACLRA > V2= SCALE * THETAV2 * EXP(ETAV2) > KA= THETAKA * EXP(ETAKA) > ALAG1= THETAALAG1 > F1 = THETAF1 > S2=V1 > Vmax= THETA(1)* EXP(ETA(1)) > Km = 100 > F4=base ; R0 is the baseline for each individual > > K= CL / V1 > K23= CLRA / V1 > K32= CLRA / V2 > > $DES DADT(1)= -KA * A(1) > DADT(2)= (KA * A(1)) - ((K + K23) * A(2)) + (K32 * A(3)) > DADT(3)= K23 * A(2) - K32 * A(3) > CP= A(2)/S2 > DADT(4)= -Vmax*CP*A(4)/(Km+A(4)) > > $ERROR > IPRED=F > Y= A(4)*(1+ERR(1))+ERR(2) > ;--------------- > $THETA(0,10) > $OMEGA (0 FIXED) > $SIGMA 0.1 10 > ;--------------- > $EST METHOD=0 MAXEVAL=9999 NOABORT PRINT=5 > $COVARIANCE -- Nick Holford, Professor Clinical Pharmacology Dept Pharmacology& Clinical Pharmacology, Bldg 505 Room 202D University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53 email: [email protected] http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford
Hi Dear Dr. Holford, Thank you so much for your response. What I model is an enzyme drug. The base was not zero and it was the baseline level of the substrate of the enzyme for each individual measured. I was just trying to fix the baseline level as constant at the baseline for each individual and model the effect of enzyme activity on its substrate concentration by the M-M function. I guess I should not use the model in my question since an input should be included. I also tried to include kin and kout to model the baseline level and that way the model was able to run: DADT(4)=kin-kout*A(4) -Vmax*CP*A(4)/(Km+A(4)). For the model with kin, kout, if I only use one parameter kin and replace kout with kin/base, the model was able to run ok. However, if I try to estimate both kin and kout with the following code: kin= THETA(1)*EXP(ETA(1)) kout= THETA(2)*EXP(ETA(2)) Vmax= THETA(3)* EXP(ETA(3)) Km = 38.9 ; Enobia Km data kin=kout*base F4=kin/kout ; kin stays at its initial estimation I provided and gradient remains zero. Is it because kin and kout are related, so NM just fix one and estimate the other one? You are right that I was initializing a differential equation by putting a AMT of 1 in CMT 4 at TIME=0. I will definitely try what you suggest. Do you have other suggestions to model such enzyme replacement drug? Thanks again! Lei
Quoted reply history
On Thu, Nov 10, 2011 at 11:07 PM, Nick Holford <[email protected]>wrote: > Lei, > > Have you checked in a $TABLE file that CP has the expected value and that > A(4) is indeed initialized at a non zero value of 'base'? You don't > explicitly define 'base' in your code. If it zero then of A(4) will remain > at zero and Vmax will have a gradient of zero. > > You don't give any clue what kind of PD marker you are trying to model but > it is rather strange that you don't allow any input of the marker in > DADT(4). Even if CP remained zero the marker would disappear because there > is no input. > > You seem to be using the very old fashioned NONMEM V method of > initializing a differential equation by putting a AMT of 1 in CMT 4 at > TIME=0. > > Since NONMEM VI this has become much simpler. > > Just use this: > A_0(4)=base > Don't set F4 to anything and don't put and AMT into CMT=4. > > Nick > > > On 11/11/2011 8:18 a.m., Lei Diao wrote: > >> Hi Dear NMusers, >> >> I have a sequential PD model and I listed the code here. base is the >> baseline level of the PD parameter for each individual and was included in >> the dataset. The problem with this code is that my only parameter to be >> estimated Vmax stays at the initial estimation whatever I provide and the >> gradient for THETA1 stays at 0 from the beginning. And the run time is >> extremely long. If I change F4 to another THETA to be estimated, the same >> problem still exists. >> >> Will anyone please shed some light on this problem? >> >> Thanks a lot! >> >> Lei >> >> >> $PROBLEM PD model >> $INPUT ID ETACL ETAV2 ETAKA Weight AMT DV TIME STUDYbase CMT >> >> $DATAPD.csv IGNORE=@ WIDE >> >> $SUBROUTINES ADVAN6 TOL=3 >> >> $MODEL NCOMP=4 >> COMP=GUT COMP=CENTRAL COMP=PERI COMP=EFFECT >> >> ;--------------- >> $PKSCALE= Weight >> >> SCALE2 = Weight ** 0.75; allometric >> >> THETACL=1 ; L/day >> THETAV1= 1; L/kg >> THETACLRA= 1 ; L/day >> THETAV2=1 ; L/kg >> THETAKA= 1 ; 1/day >> THETAALAG1= 1 ;days >> THETAF1= 1 >> THETACLHILL= 1 >> THETACLTITER= 1 >> THETACLRAHILL= 1 >> >> CL= SCALE2 * THETACL * EXP(ETACL) >> >> V1= SCALE * THETAV1 >> CLRA= SCALE2 * THETACLRA >> V2= SCALE * THETAV2 * EXP(ETAV2) >> KA= THETAKA * EXP(ETAKA) >> ALAG1= THETAALAG1 >> >> F1 = THETAF1 >> S2=V1 >> Vmax= THETA(1)* EXP(ETA(1)) >> Km = 100 >> F4=base ; R0 is the baseline for each individual >> >> K= CL / V1 >> K23= CLRA / V1 >> K32= CLRA / V2 >> >> >> >> $DES DADT(1)= -KA * A(1) >> DADT(2)= (KA * A(1)) - ((K + K23) * A(2)) + (K32 * A(3)) >> DADT(3)= K23 * A(2) - K32 * A(3) >> CP= A(2)/S2 >> DADT(4)= -Vmax*CP*A(4)/(Km+A(4)) >> >> >> $ERROR >> IPRED=F >> Y= A(4)*(1+ERR(1))+ERR(2) >> ;--------------- >> $THETA(0,10) >> $OMEGA (0 FIXED) >> $SIGMA 0.1 10 >> ;--------------- >> $EST METHOD=0 MAXEVAL=9999 NOABORT PRINT=5 >> $COVARIANCE >> >> > -- > Nick Holford, Professor Clinical Pharmacology > Dept Pharmacology& Clinical Pharmacology, Bldg 505 Room 202D > University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand > tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53 > email: [email protected] > http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford > > -- Lei Diao Postdoc in PK/PD modeling and simulation University of Tennessee College of Pharmacy