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
Sequential PD model parameter stays at initial estimation problem
3 messages
2 people
Latest: Nov 11, 2011
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