When the response to a drug is not directly related to the drug’s concentration (or to the concentration in a effect compartment), indirect response models have been proposed. The response R is assumed to be produced by a zero-order synthesis rate and degraded via a first-order process:
The baseline response is .
The drug can act on kin or kout by inhibition or stimulation, leading to 4 situations:
Each of these 4 cases have been presented and analysed in Dayneka et al. (1993).
Mlxtran models
Below we present the mlxtran code for each situation, in the case of a bolus administration of the drug and one compartment. The PK part of the model can easily be modified to represent more complex pharmacokinetics.
We here assume that both the drug concentration (tagged with YTYPE=1 in the data set) and the response (tagged with YTYPE=2) have been measured. If only the response is measured, the only output is R (i.e output={R}
). Note that the system can also be parameterized with (R0, kin) instead of (kin,kout). Imax must be bound between 0 and 1, such that a logit distribution is most appropriate.
Inhibition of kin
[LONGITUDINAL] input = {V, k, kin, kout, Imax, IC50, gamma} EQUATION: Cc = pkmodel(V,k) odeType=stiff t_0 = 0 R_0 = kin/kout ddt_R = kin*(1-Imax*Cc^gamma/(Cc^gamma + IC50^gamma)) - kout*R OUTPUT: output = {Cc, R}
Inhibition of kout
[LONGITUDINAL] input = {V, k, kin, kout, Imax, IC50, gamma} EQUATION: Cc = pkmodel(V,k) odeType=stiff t_0 = 0 R_0 = kin/kout ddt_R = kin - kout*(1-Imax*Cc^gamma/(Cc^gamma + IC50^gamma))*R OUTPUT: output = {Cc, R}
Stimulation of kin
[LONGITUDINAL] input = {V, k, kin, kout, Emax, EC50, gamma} EQUATION: Cc = pkmodel(V,k) odeType=stiff t_0 = 0 R_0 = kin/kout ddt_R = kin*(1+Emax*Cc^gamma/(Cc^gamma + EC50^gamma)) - kout*R OUTPUT: output = {Cc, R}
Stimulation of kout
[LONGITUDINAL] input = {V, k, kin, kout, Emax, EC50, gamma} EQUATION: Cc = pkmodel(V,k) odeType=stiff t_0 = 0 R_0 = kin/kout ddt_R = kin - kout*(1+Emax*Cc^gamma/(Cc^gamma + EC50^gamma))*R OUTPUT: output = {Cc, R}
Model exploration with Mlxplore
The 4 models have been implemented in an Mlxplore project for comparison. The Mlxplore script reads:
<MODEL> [LONGITUDINAL] input = {V, k, kin, kout, Imax1, IC501, gamma1, Imax2, IC502, gamma2, Emax3, EC503, gamma3, Emax4, EC504, gamma4} EQUATION: Cc=pkmodel(V,k) odeType=stiff t_0 = 0 R1_0 = kin/kout R2_0 = kin/kout R3_0 = kin/kout R4_0 = kin/kout ddt_R1 = kin*(1-Imax1* Cc^gamma1/(Cc^gamma1+IC501^gamma1)) - kout*R1 ddt_R2 = kin - kout*(1-Imax2* Cc^gamma2/(Cc^gamma2+IC502^gamma2))*R2 ddt_R3 = kin*(1+Emax3* Cc^gamma3/(Cc^gamma3+EC503^gamma3)) - kout*R3 ddt_R4 = kin - kout*(1+Emax4* Cc^gamma4/(Cc^gamma4+EC504^gamma4))*R4 <PARAMETER> V = 10 k = 0.1 kin = 10 kout = 1 Imax1 = 0.8 IC501 = 10 gamma1 = 2 Imax2 = 0.8 IC502 = 10 gamma2 = 2 Emax3 = 3 EC503 = 10 gamma3 = 2 Emax4 = 3 EC504 = 10 gamma4 = 2 <DESIGN> [ADMINISTRATION] adm100 = {time=0, amount=100} adm200 = {time=0, amount=200} adm300 = {time=0, amount=300} <OUTPUT> list={R1,R2,R3,R4} grid=0:0.1:60 <RESULTS> [GRAPHICS] p1 = {y={R1}, ylabel='inhibition of kin', xlabel='time'} p2 = {y={R4}, ylabel='stimulation of kout', xlabel='time'} p3 = {y={R2}, ylabel='inhibition of kout', xlabel='time'} p4 = {y={R3}, ylabel='stimulation of kin', xlabel='time'}
The resulting dynamics of the response for 3 different doses for each model is depicted below: