From: "Anthe Zandvliet" Apaza@SLZ.NL
Subject: [NMusers] protein binding
Date: Wed, June 23, 2004 9:40 am 

Dear NM users,

I would like to address this question especially to those of you who have
participated in the Intermediate Level Course in Population Pharmacokinetic Data
Analysis using the Nonmem System.

I am trying to implement the protein binding model, which was described in lecture 5
of the course: "This protein binding model comprises 1 compartment for total drug in
the body, consisting of 2 subcompartments, one for free drug and another for
protein-bound drug, each one in equilibrium with each other and so also with total
drug. Rate of elimination of free drug is first order. Binding is saturable." [p.
18, lecture 5 of the course manual]. 

Using the control stream and the data below, I have performed a simple simulation of
total, free and bound concentrations during 20 hours for 1 individual. This has
raised 3 questions / problems:

1) Initially, I had defined the amount of protein bound drug as follows:
A(3)=BMAX*A(2)/(KD+A(2))
This returned negative values for A(2). Therefore, I have changed the code into
A(3)=BMAX*A(2)/(KD+(A(2)**2)**0.5)
This seems to work, however....

2)  When I try to perform the simulation, I get the following error message:

SIMULATION STEP PERFORMED
 SOURCE  1:
    SEED1:    1675601867   SEED2:    1049628274
0PRED EXIT CODE = 1                                                                 
                                                
0INDIVIDUAL NO.    1   ID=0.10000000E+01   (WITHIN-INDIVIDUAL) DATA REC NO.  29     
                                                
 THETA=                                                                             
                                                
  5.00E-01   1.00E+00   1.00E+02   1.00E+00                                         
                                                
 ERROR IN LSODI1: CODE 204                                                          
                                                
 MESSAGE ISSUED FROM TABLE STEP

Only when I try to simulate concentrations for time 0-12 and 20 (while skipping time
points 12.5-19-5), the simulation can be performed successfully. Does anyone know a
solution for this problem?

3) I wonder whether the elimination rate of free drug in a physiological environment
should indeed be assumed to be first order, given that protein binding is saturable.
If one observes the amount of total drug, eliminated per unit time, given that the
rate of elimination of free drug is first order, this amount will increase with
time, up to the moment where protein binding is half-maximal. During this initial
phase of elimination, the concentration of free drug decreases. As I would expect
that only free drug will be cleared from the body, I would also expect that the
amount of total drug eliminated per unit time, will decrease along with the free
concentration. In conclusion, my reasoning does not correspond to the suggested
protein binding model. Can anyone comment this?

Please find the control stream and the dataset below.

Thank you very much in advance for your suggestions!

Best wishes,
Anthe Zandvliet



Model: "100.CTL"

;Model Desc: PROTEIN BINDING
;Project Name: e7070_phys
;Project ID: NO PROJECT DESCRIPTION

$PROB RUN# 100 

$INPUT DROP ID TIME AMT RATE DV
$DATA TEST.CSV IGNORE=C
$SUBROUTINES ADVAN9 TOL=5
$MODEL COMP=(TOT, DEFDOS, DEFOBS) COMP=(FREE,EQUIL) COMP=(BOUND,EQUIL) 

$PK 

CL=THETA(1)*EXP(ETA(1)) 
V=THETA(2)*EXP(ETA(2)) 
BMAX=THETA(3)
KD=THETA(4)
K10=CL/V

F1=1000
R1=1000

$AESINITIAL
INIT=1
A(3)=BMAX*A(2)/(KD+(A(2)**2)**0.5)
A(2)=A(1)-A(3)

$AES
E(2)=A(2)-(A(1)-A(3))
E(3)=A(3)-BMAX*A(2)/(KD+(A(2)**2)**0.5)

IF(A(2).LT.0) EXIT 1 100

$DES
C1=A(1)/V
C2=A(2)/V
C3=A(3)/V

DADT(1)=-K10*A(2)-K10*A(2)*BMAX*KD/(KD+A(2))**2

$ERROR
  
Y=F*EXP(EPS(1))
IPRED=F
W=F  
IRES=DV-IPRED
IWRES=IRES/W

$THETA
(0,0.5)        ; 1 CL
(0,1)          ; 2 V
(0,100)        ; 3 BMAX
(0,1)          ; 4 KD

$OMEGA
0          FIX ; 1 CL
0          FIX ; 2 V

$SIGMA
0          FIX ; 1 PROP

;$ESTIMATION MAXEVAL=2000 NOABORT METHOD=1 PRINT=5 MSFO=MSF100
$SIMULATION (325936) ONLYSIM

$TABLE ID TIME AMT RATE DV
C1 C2 C3 CL V K10 ETA(1) ETA(2) 
NOPRINT ONEHEADER FILE=100.TAB 

Data: "TEST.CSV"

C                                        
C              ID        TIME        AMT        RATE        DV
        1        0        1        -1        0
        1        0.25        0        0        0
        1        0.5        0        0        0
        1        0.75        0        0        0
        1        1        0        0        0
        1        1.5        0        0        0
        1        2        0        0        0
        1        2.5        0        0        0
        1        3        0        0        0
        1        3.5        0        0        0
        1        4        0        0        0
        1        4.5        0        0        0
        1        5        0        0        0
        1        5.5        0        0        0
        1        6        0        0        0
        1        6.5        0        0        0
        1        7        0        0        0
        1        7.5        0        0        0
        1        8        0        0        0
        1        8.5        0        0        0
        1        9        0        0        0
        1        9.5        0        0        0
        1        10        0        0        0
        1        10.5        0        0        0
        1        11        0        0        0
        1        11.5        0        0        0
        1        12        0        0        0
C        1        12.5        0        0        0
C        1        13        0        0        0
C        1        13.5        0        0        0
C        1        14        0        0        0
C        1        14.5        0        0        0
C        1        15        0        0        0
C        1        15.5        0        0        0
C        1        16        0        0        0
C        1        16.5        0        0        0
C        1        17        0        0        0
C        1        17.5        0        0        0
C        1        18        0        0        0
C        1        18.5        0        0        0
C        1        19        0        0        0
C        1        19.5        0        0        0
        1        20        0        0        0

 

_______________________________________________________

From: Leonid Gibiansky lgibiansky@emmes.com
Subject: RE:[NMusers] protein binding
Date: Thu, June 24, 2004 10:34 am
 
Anthe
I have not been on the course, so I do not know details of the model but 
this equation raises questions:

>DADT(1)=-K10*A(2)-K10*A(2)*BMAX*KD/(KD+A(2))**2

If A1 is the total amount (free + bound), A2 is the free drug, then - 
K10*A2 describes elimination of the drug where elimination is the first 
order process proportional to the free concentration. What is the meaning 
of the second part ?

A(2)*BMAX*KD/(KD+A(2))**2 =
          A(2)*BMAX/(KD+A(2)) * KD/(KD+A(2))=
          A3*KD/KD+A2)

Should we use simply DADT(1)=-K10*A(2) ?

Leonid
_______________________________________________________

From: "Anthe Zandvliet" Apaza@SLZ.NL
Subject: RE:[NMusers] protein binding
Date: Thu, June 24, 2004 12:13 pm

Leonid,

I agree with you that the differential equation is very remarkable. The addition of
the second part results in a first order decrease of the concentration of free drug
versus time. I do not think that this corresponds to any physiological explanation.
Below I have quoted a colleague (pharmacologist), who explained me very well how
clearance of highly bound drugs is dependent of their off rates. In my opinion we
should indeed use DADT(1)=-K10*A(2) for drugs with a low off rate. For protein bound
drugs with a high off rate, DADT(1)=-K10*A(1) seems a better choice.

Furthermore, the message ERROR IN LSODI1: CODE 204 keeps bothering me, but
replacement of 
A(2)=A(1)-A(3) with 
A(2)=0.5*(((KD+BMAX-A(1))**2+4*KD*A(1))**0.5-(KD+BMAX-A(1)))
seems to be a major improvement.

Finally, it is essential to use the above expression in the differential equation as
well:
wrong: DADT(1)=-K10*A(2) 
right:    DADT(1)=-K10*(0.5*(((KD+BMAX-A(1))**2+4*KD*A(1))**0.5-(KD+BMAX-A(1))))
This is important because the $AES equations are solved only at the time points
listed in the dataset, which will lead to a stepwise outcome of the $DES function if
the wrong expression is used.

Does anyone have additional suggestions how to get rid of the LSODI1 error messages?
Thanks!

Anthe


PROTEIN BINDING
The effect of protein binding seems to be more complex than the model suggests.  For
example, the KD is a function of 'on' and 'off' rates.  The ratio of these rates
(KD) affects the % bound as a function of concentration, but these on/off rates also
determine the time
taken to reach equilibrium and the susceptibility to clearance.
For example, some highly bound drugs are protected from clearance because
they are highly bound (here the off rate is low compared to transit time in
clearing organ), whereas some very highly bound drugs have high clearance
(off time is rapid compared to transit time).  Hence, it's not KD that's so
important but the actual magnitude of the on/off rates.  Thus, clearance
may not be limited to free drug in a sense and some highly bound drugs may
be cleared by liver with a clearance approximating liver blood flow - of
course only free drug is actually cleared but the rapid exchange between
bound/free enables the bound drug to be effectively available for
clearance.
Thus, where off rate is sufficiently high, clearance will be first order
regardless of the % bound/concentration but where off rate is slow,
clearance of total drug (bound and unbound) will be non-linear in the
fashion you describe (ie low clearance at low concs due to high binding and
high clearance at high concs due to relatively high fraction unbound and
available for clearance).
_______________________________________________________

From: Leonid Gibiansky lgibiansky@emmes.com
Subject: RE:[NMusers] protein binding
Date: Thu, June 24, 2004 12:31 pm

Anthe,
Note that you solved the system
A3=(Bmax A2)/(KD+A2)
A2 + A3 = A1
analytically to get
A2=(0.5*(((KD+BMAX-A(1))**2+4*KD*A(1))**0.5-(KD+BMAX-A(1))))

Then you used
DADT1 = - K1*A2
to get
>DADT(1)=-K10*(0.5*(((KD+BMAX-A(1))**2+4*KD*A(1))**0.5-(KD+BMAX-A(1))))


with this, you do not need $AESINITIAL and $AES blocks at all,

Try to delete those, will the message go away?
Leonid
_______________________________________________________

From: "Ekaterina Gibiansky" gibianskye@guilfordpharm.com
Subject: RE:[NMusers] protein binding
Date: Thu, June 24, 2004 1:30 pm   

Anthe,

not being at the course, I do not know what you are trying to
accomplish. But from your data and control stream it seems that you
observe only total concentrations. If so, I do not get why you need all
these compartments and complexities, you only need one for total
concentration:

DADT(1)=-K10*A(1)*(1-BMAX*/(KD+A(1))
C1=A(1)/V                                                 ; total conc

and you need to bind Bmax/KD <1 (i.e. reparameterize to have Bmax/KD,
and KD to be independent variables).

Also, with the control stream you have now you do not fix parameter
values for simulation. NONMEM seems to take your upper boundaries. Is it
what you intended?

Looking at your conversation with Leonid, it seems you want to
incorporate association/dissociation rates in your model. But this is
not done with the contol stream you have: with algebraic equations your
binding/unbinding processes are instant.

Katya
_______________________________________________________