Antwort: Transit compartment model with multiple dose data
Dear Fabrice,
please try
TALD=T-TDOS
IF(TALD.EQ.0) TALD = 0.0001
this might help as NONMEM cannot compute the log of zero...
Regards
Sven Mensing
Sven Mensing, PhD Abbott GmbH & Co. KG phone: +49 (0)621 589
Group Leader, Knollstraße 50 1535
Pharmacometrician 67061 Ludwigshafen fax: +49 (0)621 589
Pharmacometrics III, GGDP3 Germany 1925
[email protected]
|------------>
| Von: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|<[email protected]>
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| An: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|<[email protected]>
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Datum: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|13.04.2011 08:52
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Betreff: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|[NMusers] Transit compartment model with multiple dose data
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Gesendet |
| von: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|[email protected]
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
Dear NMusers,
I am trying to implement the transit compartments absorption model as
described by Savic et al. (1).
As my dataset includes some multiple dosing data, I have recoded the actual
time as time after last dose (see code below), as suggested by Wilkins et
al. (2)
However, I always got the following error message for the first observation
record:
0PROGRAM TERMINATED BY OBJ
ERROR IN OBJ2 WITH INDIVIDUAL 1 ID= 1.01010000000000E+04
CONDITIONAL CONTRIBUTION OR IT'S DERIVATIVE IS INFINITE
MESSAGE ISSUED FROM ESTIMATION STEP
AT INITIAL OBJ. FUNCTION EVALUATION
I have tried to play with the initial estimates, but always with the same
outcome.
The relevant part of the code is given here below.
Thanks in advance for any suggestion!
Fabrice
Fabrice Nollevaux,
Pharmacometrician
Arlenda SA
www.arlenda.com
(1) Savic et al. J Pharmacokinet Pharmacodyn (2007) 34:711-726
(2) Wilkins et al. Antimicrob Agents Chemother (2008) 52(6):2138-2148
...
$SUBROUTINES ADVAN6 TOL=3
$MODEL NCOMP=3
COMP(DEPOT, DEFDOSE) ; absorption compartment
COMP(CENTRAL,DEFOBS) ; central compartment
COMP(PERIPH) ; peripheral compartment
$PK
KA = THETA(1)*EXP(ETA(1))
CL = THETA(2)*EXP(ETA(2))
V2 = THETA(3)*EXP(ETA(3))
Q = THETA(4)*EXP(ETA(4))
V3 = THETA(5)*EXP(ETA(5))
KTR = THETA(8)
N = THETA(9)
S2 = V2/1000
K = CL/V2
K23 = Q/V2
K32 = Q/V3
LNFAC = LOG(2.5066)+(N+0.5)*LOG(N)-N
IF (AMT.GT.0) TDOS=TIME
$DES
TALD=T-TDOS ; Time after last dose
DADT(1) = EXP(LOG(DOSE)+LOG(KTR)+N*LOG(KTR*TALD)-KTR*TALD-LNFAC)-KA*A(1)
DADT(2) = KA*A(1)-K*A(2)-K23*A(2)+K32*A(3)
DADT(3) = K23*A(2)-K32*A(3)
$ERROR
IPRED=F
IF (F.GT.0) THEN
W=(F*F*THETA(6)**2+THETA(7)**2)**0.5
ELSE
W=1
ENDIF
Y=F+W*EPS(1)
IRES=DV-IPRED
IWRES=IRES/W
...
<<inline: 08466182.gif>>
<<inline: ecblank.gif>>
<<inline: graycol.gif>>
<<inline: GS_TAD_2011-rot.gif>>