Dear all,
I try to model simultaneously a parent drug and its metabolite using a 2
compartments dynamic enzymatic model
(using the general enzymatic reaction E+S-->(ES)-->E+P).
Here is the control stream :
$PROB TEST MODELISATION NLIN 2CPMT
$INPUT ID TIME DV AMT MDV CMT
$DATA DATA131.csv IGNORE=#
$SUBROUTINE ADVAN8 TOL4 ; Modèle Non linéaire 2 cpts
$MODEL
COMP= (CENTRAL,DEFDOSE) ; cpt 5FU
COMP= (CENTRAL,NODOSE) ; cpt 5FDHU
COMP= (CENTRAL,NODOSE) ; enzyme **(1)**
$PK
V1 =THETA(1)*EXP(ETA(1)) ; Vd 5FU
V2 =THETA(2)*EXP(ETA(2)) ; Vd 5FDHU
CL10 =THETA(3)*EXP(ETA(3)) ; Cl d'élimination 5FU
CL20 =THETA(4)*EXP(ETA(4)) ; Cl d'élimination 5FDHU
KE1 =THETA(5)*EXP(ETA(5)) ; Cstte de métabolisation
KE2 =THETA(6)*EXP(ETA(6)) ; Cstte de métabolisation
ET =THETA(7)*EXP(ETA(7)) ; total enzyme
K10=CL10/V1
K20=CL20/V2
S1=V1
S2=V2
$DES
B= ET-A(3)
DADT(1)= -K10 *A(1)-KE1*B*A(1)
DADT(2)= KE2 * A(3) - K20 * A(2)
DADT(3)= KE1 * B*A(1)-KE2*A(3)
$ERROR
IPRED=F
IF (CMT.EQ.1) THEN
Y=F*(1+EPS(1))+ EPS(2)
ELSE
Y=F*(1+EPS(3))
ENDIF
IRES=DV-IPRED
$THETA (0,10,20) (0,60,100) (0,1,10) (0,1,10) (0,1,10) (0,1,10) (0,1,10)
$OMEGA (1) (1) (1) (1) (1) (1) (1)
$SIGMA (0.01) (0.01) (0.01)
$EST METHOD=1 SIG=3 MAXEVAL=9999
**(1)** : this compartment was added because of the enzyme own equation
(DADT(3)).
With FO, I'm trying to estimate the parameters
But with FOCE, the run stop immediately! ERROR IN NCONTR WITH INDIVIDUAL 1
ID=0.10000000E+01
NUMERICAL HESSIAN OF OBJ. FUNC. FOR COMPUTING CONDITIONAL ESTIMATE
IS NON POSITIVE DEFINITE
1)Are there any problems in the control stream?
2)The model is overparametrized? Should I have to fixed parameters?
(I have over one hundred couple of kinetics with 5-7 observations for each)
I would really appreciate aany advice, thanks.
Christian
Dynamic enzymatic model
4 messages
3 people
Latest: Jul 31, 2009
Christian,
Is this infusion or oral dosing? If infusion, you need RATE data item, if oral,
you need absorption compartment.
Also, there is a problem with volumes. If A(1 ) and A(2) are amounts and A(3)
is concentration of the complex, you need to multiply KE2 * A(3) by V3 in
equation 2. And divide KE1 * B*A(1) by V1 in equation 3.
Also, the enzyme reaction is happening in the same volume, so V1, V2 and V3
should be the same. And computations should be in molar amounts (scaling
parameters can take care of this if AMT and DV are not in molar units).
Regards,
Katya
-------------------------------------
Ekaterina Gibiansky, PhD
Senior Scientific Director, PKPD, Modeling & Simulation
ICON Development Solutions
Email: [email protected] <mailto:[email protected]>
Quoted reply history
________________________________
From: [email protected] [mailto:[email protected]] On
Behalf Of christian woloch
Sent: Wednesday, July 22, 2009 5:46 AM
To: [email protected]
Subject: [NMusers] Dynamic enzymatic model
Dear all,
I try to model simultaneously a parent drug and its metabolite using a 2
compartments dynamic enzymatic model
(using the general enzymatic reaction E+S-->(ES)-->E+P).
Here is the control stream :
$PROB TEST MODELISATION NLIN 2CPMT
$INPUT ID TIME DV AMT MDV CMT
$DATA DATA131.csv IGNORE=#
$SUBROUTINE ADVAN8 TOL4 ; Modèle Non linéaire 2 cpts
$MODEL
COMP= (CENTRAL,DEFDOSE) ; cpt 5FU
COMP= (CENTRAL,NODOSE) ; cpt 5FDHU
COMP= (CENTRAL,NODOSE) ; enzyme **(1)**
$PK
V1 =THETA(1)*EXP(ETA(1)) ; Vd 5FU
V2 =THETA(2)*EXP(ETA(2)) ; Vd 5FDHU
CL10 =THETA(3)*EXP(ETA(3)) ; Cl d'élimination 5FU
CL20 =THETA(4)*EXP(ETA(4)) ; Cl d'élimination 5FDHU
KE1 =THETA(5)*EXP(ETA(5)) ; Cstte de métabolisation
KE2 =THETA(6)*EXP(ETA(6)) ; Cstte de métabolisation
ET =THETA(7)*EXP(ETA(7)) ; total enzyme
K10=CL10/V1
K20=CL20/V2
S1=V1
S2=V2
$DES
B= ET-A(3)
DADT(1)= -K10 *A(1)-KE1*B*A(1)
DADT(2)= KE2 * A(3) - K20 * A(2)
DADT(3)= KE1 * B*A(1)-KE2*A(3)
$ERROR
IPRED=F
IF (CMT.EQ.1) THEN
Y=F*(1+EPS(1))+ EPS(2)
ELSE
Y=F*(1+EPS(3))
ENDIF
IRES=DV-IPRED
$THETA (0,10,20) (0,60,100) (0,1,10) (0,1,10) (0,1,10) (0,1,10) (0,1,10)
$OMEGA (1) (1) (1) (1) (1) (1) (1)
$SIGMA (0.01) (0.01) (0.01)
$EST METHOD=1 SIG=3 MAXEVAL=9999
**(1)** : this compartment was added because of the enzyme own equation
(DADT(3)).
With FO, I'm trying to estimate the parameters
But with FOCE, the run stop immediately!
ERROR IN NCONTR WITH INDIVIDUAL 1 ID=0.10000000E+01
NUMERICAL HESSIAN OF OBJ. FUNC. FOR COMPUTING CONDITIONAL ESTIMATE
IS NON POSITIVE DEFINITE
1)Are there any problems in the control stream?
2)The model is overparametrized? Should I have to fixed parameters?
(I have over one hundred couple of kinetics with 5-7 observations for each)
I would really appreciate aany advice, thanks.
Christian
Christian
There is at least one parameter you cannot estimate in this code, this is V2
(volume of distribution of the metabolite)
This parameter is not identifiable because the fraction of parent drug that is
metabolized is unknown and the volume of distribution simply relates the
concentration to the amount in the body.
A simple usual solution is to fix V2 to a constant value near the parent V1
value.
Also
- it is unlikely you will be able to estimate OMEGA values for all of the
parameters
- the initial SIGMA values are generally in the 0.3- 1 range for the
proportional component
Saik
----- Original Message -----
Quoted reply history
From: christian woloch
To: [email protected]
Sent: Wednesday, July 22, 2009 11:45 AM
Subject: [NMusers] Dynamic enzymatic model
Dear all,
I try to model simultaneously a parent drug and its metabolite using a 2
compartments dynamic enzymatic model
(using the general enzymatic reaction E+S-->(ES)-->E+P).
Here is the control stream :
$PROB TEST MODELISATION NLIN 2CPMT
$INPUT ID TIME DV AMT MDV CMT
$DATA DATA131.csv IGNORE=#
$SUBROUTINE ADVAN8 TOL4 ; Modèle Non linéaire 2 cpts
$MODEL
COMP= (CENTRAL,DEFDOSE) ; cpt 5FU
COMP= (CENTRAL,NODOSE) ; cpt 5FDHU
COMP= (CENTRAL,NODOSE) ; enzyme **(1)**
$PK
V1 =THETA(1)*EXP(ETA(1)) ; Vd 5FU
V2 =THETA(2)*EXP(ETA(2)) ; Vd 5FDHU
CL10 =THETA(3)*EXP(ETA(3)) ; Cl d'élimination 5FU
CL20 =THETA(4)*EXP(ETA(4)) ; Cl d'élimination 5FDHU
KE1 =THETA(5)*EXP(ETA(5)) ; Cstte de métabolisation
KE2 =THETA(6)*EXP(ETA(6)) ; Cstte de métabolisation
ET =THETA(7)*EXP(ETA(7)) ; total enzyme
K10=CL10/V1
K20=CL20/V2
S1=V1
S2=V2
$DES
B= ET-A(3)
DADT(1)= -K10 *A(1)-KE1*B*A(1)
DADT(2)= KE2 * A(3) - K20 * A(2)
DADT(3)= KE1 * B*A(1)-KE2*A(3)
$ERROR
IPRED=F
IF (CMT.EQ.1) THEN
Y=F*(1+EPS(1))+ EPS(2)
ELSE
Y=F*(1+EPS(3))
ENDIF
IRES=DV-IPRED
$THETA (0,10,20) (0,60,100) (0,1,10) (0,1,10) (0,1,10) (0,1,10) (0,1,10)
$OMEGA (1) (1) (1) (1) (1) (1) (1)
$SIGMA (0.01) (0.01) (0.01)
$EST METHOD=1 SIG=3 MAXEVAL=9999
**(1)** : this compartment was added because of the enzyme own equation
(DADT(3)).
With FO, I'm trying to estimate the parameters
But with FOCE, the run stop immediately!
ERROR IN NCONTR WITH INDIVIDUAL 1 ID=0.10000000E+01
NUMERICAL HESSIAN OF OBJ. FUNC. FOR COMPUTING CONDITIONAL ESTIMATE
IS NON POSITIVE DEFINITE
1)Are there any problems in the control stream?
2)The model is overparametrized? Should I have to fixed parameters?
(I have over one hundred couple of kinetics with 5-7 observations for each)
I would really appreciate aany advice, thanks.
Christian
Christian,
You only need one dosing record, for CMT=1. And you do not need anything in the
code related to dosing, Nonmem takes care of it (i.e you do not need Rimput=0;
DUR=DOSE/RATE; IF (DUR.EQ.2) Rimput=DOSE) and Rimput in the $DES block).
Also, you cannot estimate V3 and enzyme equation does not make sense unless
V1=V3. Also, you, probably, can not estimate V1 and V2 separately. I would
assume all 3 compartments have the same volume.
And last, binding works in terms of concentrations. Concentration of complex is
Kassociation*(A1/V)*(B/V). Then amount of complex = Kassociation*(A1/V)*(B/V)*V
= Kassociation*A1*B/V. So, either the term KE1*B*A(1) in the equations should
be divided by V, or your KE1 parameter is really Kassociation/V.
Regards,
Katya
-------------------------------------
Ekaterina Gibiansky, PhD
Senior Scientific Director, PKPD, Modeling & Simulation
ICON Development Solutions
Email: [email protected] <mailto:[email protected]>
Quoted reply history
________________________________
From: christian woloch [mailto:[email protected]]
Sent: Monday, July 27, 2009 10:55 AM
To: Gibiansky, Ekaterina
Subject: Re : [NMusers] Dynamic enzymatic model
Hello Ekaterina,
I have forgotten to give more details about the data and the model.
- It 's an IV bolus dose (<2min)
--> then I use the code of an infusion (RATE) as :
Rimput=0
DUR=DOSE/RATE
IF (DUR.EQ.2) Rimput=DOSE
- The model (which was implemented on Matlab first) is a 2 compartments with
three Diff equations (DE), but for Nonmem it is a 3 one (because of 3 DE).
As you suggested I had problem with volumes, and computation should have to be
in molar amounts.
Then I converted all the DV and AMT in molar units (mM), considered all A() as
amounts and a 3 compartments as and changed the ErrorBlocks as :
$PROB TEST MODELISATION NLIN 2CPMT
$INPUT ID TIME DV DOSE=AMT RATE MDV CMT
$DATA DATA17MOL.csv IGNORE=#
$SUBROUTINE ADVAN8 TOL4 ; Modèle Non linéaire 2 cpts
$MODEL
COMP= (CENTRAL,DEFDOSE) ; cpt 5FU
COMP= (CENTRAL) ; cpt 5FDHU
COMP= (CENTRAL) ; cpt Enzyme
$PK
V1 =THETA(1)*EXP(ETA(1)) ; Vd 5FU
V2 =THETA(2) *EXP(ETA(2)) ; Vd 5FDHU
CL10 =THETA(3)*EXP(ETA(3)) ; Cstte d'élimination 5FU
CL20 =THETA(4)*EXP(ETA(4)) ; Cstte d'élimination 5FDHU
CL1 =THETA(5)*EXP(ETA(5)) ; Cstte de métabolisation
CL2 =THETA(6) *EXP(ETA(6)) ; Cstte de métabolisation
ET =THETA(7)*EXP(ETA(7)) ; Quantité d'enzyme
V3 = THETA(8)*EXP(ETA(8)) ; Vd enzyme
KE1=CL1/V1
KE2=CL2/V3
K10=CL10/V1
K20=CL20/V2
S1=V1
S2=V2
S3=V3
Rimput=0
DUR=DOSE/RATE
IF (DUR.EQ.2) Rimput=DOSE
$DES
B= ET-A(3)
DADT(1)= -K10 *A(1)-KE1*B*A(1) + Rimput
DADT(2)= KE2 * A(3) - K20 * A(2)
DADT(3)= KE1 * B*A(1)-KE2*A(3)
$ERROR
IPRED=F
IF (CMT.EQ.1) THEN
Y=F*(1+EPS(1))
ELSE
Y=F*(1+EPS(2))
ENDIF
IRES=DV-IPRED
$THETA (0,10,30 ) (0,0.01,10)(0,20,100) (0,0.01,10) (0,1,5) (0,2,10)
(0,0.001,10)(0,0.001,10)
$OMEGA (0.01) (0.01 )(0.01 )(0.01 )(0.01 ) (0.01 ) (0.01 ) (0.01 )
$SIGMA (0.3) (0.3)
$EST METHOD=0 SIG=3 MAXEVAL=9999
With this imput file
ID TIME DV AMT RATE MDV CMT
8 0 0 6.461 3.23 1 1
8 0 0 0 0 1 2
8 5 0.1855 0 0 0 1
8 5 0.0086 0 0 0 2
8 15 0.0931 0 0 0 1
8 15 0.0227 0 0 0 2
etc
Do you see a problem in this contro stream ?
(Should I have to use sclae parameters as you suggested : S1=S2=S3 ?)
Regards Christian.
________________________________
De : "Gibiansky, Ekaterina" <[email protected]>
À : [email protected]
Envoyé le : Mercredi, 22 Juillet 2009, 17h01mn 08s
Objet : RE: [NMusers] Dynamic enzymatic model
Christian,
Is this infusion or oral dosing? If infusion, you need RATE data item, if oral,
you need absorption compartment.
Also, there is a problem with volumes. If A(1 ) and A(2) are amounts and A(3)
is concentration of the complex, you need to multiply KE2 * A(3) by V3 in
equation 2. And divide KE1 * B*A(1) by V1 in equation 3.
Also, the enzyme reaction is happening in the same volume, so V1, V2 and V3
should be the same. And computations should be in molar amounts (scaling
parameters can take care of this if AMT and DV are not in molar units).
Regards,
Katya
-------------------------------------
Ekaterina Gibiansky, PhD
Senior Scientific Director, PKPD, Modeling & Simulation
ICON Development Solutions
Email: [email protected] <mailto:[email protected]>
________________________________
From: [email protected] [mailto:[email protected]] On
Behalf Of christian woloch
Sent: Wednesday, July 22, 2009 5:46 AM
To: [email protected]
Subject: [NMusers] Dynamic enzymatic model
Dear all,
I try to model simultaneously a parent drug and its metabolite using a 2
compartments dynamic enzymatic model
(using the general enzymatic reaction E+S-->(ES)-->E+P).
Here is the control stream :
$PROB TEST MODELISATION NLIN 2CPMT
$INPUT ID TIME DV AMT MDV CMT
$DATA DATA131.csv IGNORE=#
$SUBROUTINE ADVAN8 TOL4 ; Modèle Non linéaire 2 cpts
$MODEL
COMP= (CENTRAL,DEFDOSE) ; cpt 5FU
COMP= (CENTRAL,NODOSE) ; cpt 5FDHU
COMP= (CENTRAL,NODOSE) ; enzyme **(1)**
$PK
V1 =THETA(1)*EXP(ETA(1)) ; Vd 5FU
V2 =THETA(2)*EXP(ETA(2)) ; Vd 5FDHU
CL10 =THETA(3)*EXP(ETA(3)) ; Cl d'élimination 5FU
CL20 =THETA(4)*EXP(ETA(4)) ; Cl d'élimination 5FDHU
KE1 =THETA(5)*EXP(ETA(5)) ; Cstte de métabolisation
KE2 =THETA(6)*EXP(ETA(6)) ; Cstte de métabolisation
ET =THETA(7)*EXP(ETA(7)) ; total enzyme
K10=CL10/V1
K20=CL20/V2
S1=V1
S2=V2
$DES
B= ET-A(3)
DADT(1)= -K10 *A(1)-KE1*B*A(1)
DADT(2)= KE2 * A(3) - K20 * A(2)
DADT(3)= KE1 * B*A(1)-KE2*A(3)
$ERROR
IPRED=F
IF (CMT.EQ.1) THEN
Y=F*(1+EPS(1))+ EPS(2)
ELSE
Y=F*(1+EPS(3))
ENDIF
IRES=DV-IPRED
$THETA (0,10,20) (0,60,100) (0,1,10) (0,1,10) (0,1,10) (0,1,10) (0,1,10)
$OMEGA (1) (1) (1) (1) (1) (1) (1)
$SIGMA (0.01) (0.01) (0.01)
$EST METHOD=1 SIG=3 MAXEVAL=9999
**(1)** : this compartment was added because of the enzyme own equation
(DADT(3)).
With FO, I'm trying to estimate the parameters
But with FOCE, the run stop immediately!
ERROR IN NCONTR WITH INDIVIDUAL 1 ID=0.10000000E+01
NUMERICAL HESSIAN OF OBJ. FUNC. FOR COMPUTING CONDITIONAL ESTIMATE
IS NON POSITIVE DEFINITE
1)Are there any problems in the control stream?
2)The model is overparametrized? Should I have to fixed parameters?
(I have over one hundred couple of kinetics with 5-7 observations for each)
I would really appreciate aany advice, thanks.
Christian