NONMEM Users Network Archive

Hosted by Cognigen

Re: FW: transit model

From: Sébastien Bihorel <sbihorel>
Date: Wed, 27 Aug 2008 09:25:44 -0400

(Sorry for the spelling mistakes)

Dirk,
>
> This absorption model can correctly accommodate multiple dosing only
> if the absorption of dose n is complete when dose n+1 is given ! Since
> the input is hard-coded and reset at each dose, you have to make sure
> that your estimates for MTT and NN provide this complete absorption.
> Otherwise, a part of each dose never enters the system.
>
> I don't really understand how you implemented the transit model but
> you may refer to the following code (for Wings for NONMEM) that worked
> just fine for me. The frame time for the input function has to start
> at zero, so I used a time transform based on a dosing interval of 24h.
> A column DAY is included in the dataset to calculate the new time MYT.
>
> Hope it helps.
>
> Sebastien Bihorel
>
>
>
> $PROBLEM Simulation Transit model
> $INPUT ID DOSE DAY TI24 TIME AMT RATX CMT EVID DVID DV MDV
> $DATA ../Data/Simulation.csv IGNORE=#
>
> $SIM (32047023) NSUB=1
>
> $SUB ADVAN6 TOL3
>
> $THETA (0,6.) ; POP_CL
> $THETA (0,100.) ; POP_V2
> $THETA (0,18.) ; POP_MTT
> $THETA (0.00001,3.) ; POP_n
> $THETA (0,6.) ; POP_TABS
>
> $OMEGA BLOCK(2)
> 0.1 ; BSVCL
> 0.01 0.1 ; BSVV2
>
> $OMEGA BLOCK(3)
> 0.1 ; BSVMTT
> 0.01 0.1 ; BSVN
> 0.01 0.01 0.1 ; BSVTABS
>
> $SIGMA 0.1 ;cvcp
> $SIGMA 0.05 ;sdcp
>
> $MODEL COMP = (ABS) ; absorption compartment
> COMP = (CEN) ; central compartment
>
> ;$ABBREVIATED DERIV2=NOCOMMON
>
> $PK
> "FIRST
> " COMMON /PRCOMG/ IDUM1,IDUM2,IMAX,IDUM4,IDUM5
> " INTEGER IDUM1,IDUM2,IMAX,IDUM4,IDUM5
> " IMAX=1000000
>
> IF(AMT.GT.0.AND.CMT.EQ.1)PODO=AMT; oral dose
>
> F1 = 0.
> F2 = 0.
>
> ECL = EXP(BSVCL)
> EV2 = EXP(BSVV2)
> EMTT = EXP(BSVMTT)
> ENB = EXP(BSVN)
> ETAB = EXP(BSVTABS)
>
> CL = POP_CL * ECL
> V = POP_V2 * EV2
> MTT = (POP_MTT * EMTT)/60
> NB = POP_n * ENB
> TABS = POP_TABS * ETAB
> KA = LOG(2)/(TABS/60)
>
> KTR = (NB+1)/MTT ; transit rate constant
> LNFA = 0.5*LOG(2*3.14159*NB)+NB*LOG(NB)-NB+LOG(1.+1./(12.*NB)) ;
> logarithmic transformation of 2nd Stirling approximation
>
> S2 = V
> BIO =1.
>
> $DES
> MYT = T -(DAY-1)*24
>
> IF (MYT.LT.0.001) THEN
> INPU = 0.
> ELSE
> INPU = EXP(LOG(BIO*PODO)+LOG(KTR)+NB*LOG(KTR*MYT)-KTR*MYT-LNFA)
> ENDIF
>
> DADT(1) = INPU-KA*A(1)
> DADT(2) = (KA*A(1)-CL*A(2))/V
>
> $ERROR
>
> CP=A(2)
> Y=CP*(1+CVCP)+SDCP
>
> $TABLE ID DAY TIME AMT CMT EVID DVID Y
> CL V MTT NB TABS ECL EV2 EMTT ENB ETAB
> ONEHEADER NOPRINT
> FILE=k0ka1l.fit
>
>
> Garmann Dirk a crit :
>> Dear NONMEM users,
>>
>>
>>
>> I try to fit a dataset with a high variability in TLAG. With the
>> standard approaches it was not possible to get successful runs
>> (variability in Tlag is always modeled as zero, but their is
>> clearly a high variability)
>>
>>
>>
>> Therefore I used the transit model, published by Justin
>> Wilkins/Radoika Savic. For single dose studies it works well
>> (improved fit/successful runs). Next , I included a multiple drug
>> study and adapted the model. The model works, but I have some
>> questions regarding the code (see below in red). It would be very
>> nice if someone can help to enhance my understanding.
>>
>> Thank you in advance
>>
>> Dirk
>>
>>
>>
>> $SUBROUTINE ADVAN6 TOL=3
>>
>> $MODEL NCOMP=3 COMP=(DEPOT) COMP=(CENTRAL,DEFOBS) COMP=(PERIPH)
>>
>> $PK
>>
>> "FIRST
>>
>> " COMMON /PRCOMG/ IDUM1,IDUM2,IMAX,IDUM4,IDUM5
>>
>> " INTEGER IDUM1,IDUM2,IMAX,IDUM4,IDUM5
>>
>> " IMAX=9900000
>>
>>
>>
>> IF(AMT.GT.0.AND.CMT.EQ.1) PD=AMT
>>
>> IF(AMT.GT.0) TDOS=TIME
>>
>>
>>
>> TVCL=THETA(1)
>>
>> CL=TVCL*EXP(ETA(1))
>>
>> TVV2=THETA(2)
>>
>> V2=TVV2*EXP(ETA(2))
>>
>>
>>
>> TVV3=THETA(3)
>>
>> V3=TVV3*EXP(ETA(3))
>>
>> TVQ=THETA(4)
>>
>> Q=TVQ*EXP(ETA(4))
>>
>>
>>
>>
>>
>> ; Absorption model
>>
>> ;F1=0 delete NONMEMS Dose record
>>
>> F1=0
>>
>>
>>
>> TVKA=THETA(5)
>>
>> KA=TVKA*EXP(ETA(5))
>>
>>
>>
>> ;Mean transit time
>>
>> TVMTT=THETA(6)
>>
>> MTT=TVMTT*EXP(ETA(6))
>>
>>
>>
>> ;Number of transit compartments
>>
>> TVNN=THETA(7)
>>
>> NN=TVNN*EXP(ETA(7))
>>
>>
>>
>> ;Transit rate constant
>>
>> KTR=(NN+1)/MTT
>>
>>
>>
>> ;Sterling
>>
>> L=LOG(2.5066)+(NN+.5)*LOG(NN)-NN
>>
>>
>>
>> S2=V2/1000
>>
>>
>>
>> ; DOSE : mg
>>
>> ; CONC: ng/ml
>>
>>
>>
>> $DES
>>
>> X=0.00001; Avoid LOG 0
>>
>> ;multiple dose
>>
>> IF(T.GE.TDOS)THEN ; if current time greater than TDOS
>>
>>
>>
>> *Is this correct? I think GE might be a typo and should be GT?*
>>
>> * *
>>
>> DADT(1) = EXP(LOG(PD + X) + LOG(KTR +
>> X)+NN*LOG(KTR*(T-TDOS)+X)-KTR*(T-TDOS)-L)-KA*A(1)
>>
>>
>>
>> ELSE
>>
>> ; Dose given
>>
>> DADT(1) = EXP(LOG(PD + X) + LOG(KTR + X)+ NN*LOG(KTR*T + X) - KTR*T -
>> L)- KA*A(1)
>>
>> ENDIF
>>
>>
>>
>> *T.GE.TDOS (see above) might be a typo; otherwise this equation will
>> never be active?*
>>
>> *I try this model with GT, the fit improves, but why is this
>> statement needed?*
>>
>> * *
>>
>> *Can someone explain this (red) part of the equation, please? *
>>
>> *I think if the time is e.g. 24 hours (time of second dose) the value
>> of the input function will be low, as it should be to simulate the
>> lag time (I used MTT=1, NN=4, to recalculate it). With further
>> increased time (next doses), the value of the input function will be
>> approximately zero (ok). *
>>
>> * *
>>
>> *But _without_ this equation and *
>>
>> *IF(AMT.GT.0.AND.CMT.EQ.1) PD=AMT*
>>
>> *IF(AMT.GT.0) TDOS=TIME*
>>
>> * *
>>
>> *(T-TDOS) should be zero * *at each dose event* *and the value of the
>> input function at a new dose event is also approximately zero (same
>> as above?)*
>>
>> * *
>>
>> *Any help to enhance my understanding is welcome*
>>
>>
>>
>>
>>
>>
>>
>> DADT(2)=KA*A(1)-Q/V2*A(2)+Q/V3*A(3)-CL/V2*A(2)
>>
>> DADT(3)=Q/V2*A(2)-Q/V3*A(3)
>>
>>
>>
>> $ERROR
>>
>>
>>
>> *One last question:*
>>
>> *For some subjects I got some bizarre estimation values. I think this
>> might be because I have sometimes dose events, but no observations
>> (multiple dose study) prior to the next dose.. Therefore, if I
>> correctly understand the code, the input value for these dose events
>> will be approximately zero.*
>>
>> * *
>>
>> *Any suggestions to solve this problem are welcome.*
>>
>> **
>>
>> *Best regards*
>>
>>
>>
>> *Dirk Garmann*
>>
>> ------------------------------------------------------------------------
>> SCHWARZ BIOSCIENCES GmbH
>> A Member of the UCB Group
>> Alfred-Nobel-Str. 10 - 40789 Monheim - Germany
>> Tel +49 2173 48 0 - Fax +49 2173 48 1608
>> Geschaeftsfuehrer: Prof. Dr. Iris Loew-Friedrich, Detlef Thielgen
>> Amtsgericht Duesseldorf HRB 46849
>> ------------------------------------------------------------------------
>> Legal Notice: This electronic mail and its attachments are intended
>> solely for the person(s) to whom they are addressed and contain
>> information which is confidential or otherwise protected from
>> disclosure, except for the purpose for which they are intended.
>> Dissemination, distribution, or reproduction by anyone other than the
>> intended recipients is prohibited and may be illegal. If you are not
>> an intended recipient, please immediately inform the sender and
>> return the electronic mail and its attachments and destroy any copies
>> which may be in your possession. UCB screens electronic mails for
>> viruses but does not warrant that this electronic mail is free of any
>> viruses. UCB accepts no liability for any damage caused by any virus
>> transmitted by this electronic mail. (Ref: #*BG0508)
>> ------------------------------------------------------------------------

Received on Wed Aug 27 2008 - 09:25:44 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request@iconplc.com.

Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.