TMDD QE model simulations producing strange results

Hi there,

I was trying to do some simulations using the TMDD QE (Quasi Equilibrium) assumptions, I coded the model as per Gibiansky et al 2008 JPP: Approximations of the target-mediated drug disposition…

I assume the complex has the same degradation (kint=CL/V1) as the free monoclonal antibody (mAb), which may well hold true for a mAb that targets a soluble cytokine.

If I now do simulations I end up in some cases with time-conc traces of free mAb (C1) that do not make sense at all. This happens by just slightly changing e.g. V1, V2, CL, Q.

I have attached 2 screenshots and the Phx model file. Any help is greatly appreciated.

Thanks

Frank

TMDD QE model.phxproj (1.71 MB)

Dear colleague

I am not sure what is going on here. It seems to be a numerical integration issue.

Serge

Thanks Serge for the quick reply. What does that mean “a numerical integration issue”? Could it be because I coded the model in Clerances instead of k? Any help in solving this issue would be great.

can you double check your coding ?

isn’T this equation supposed to be dealing with concentrations and not amounts why do you divide by volume
try:
deriv(C2 = (Q)*C1 - (Q)*C2)#free mAb conc

Hi smouksassi1,

I think you pointed me to the right line.

  1. This was my original line of code, written in conc for the peripheral compartement, producing the strange time conc curves under some circumstances:

deriv(C2 = (Q/V1)*C1 - (Q/V2)*C2) #free mAb CONC in peripheral comparment in nM

  1. I recoded now like this to amount:

deriv(A2 = QC1 - QC2) #free mAb AMOUNT in peripheral compartment (QC or CLC is an amount, see “built in” coding in PML when e.g. choosing a simple 2 comp model)
C2 = A2/V2

Now with 2. suddenly things look OK. I am really confused about this, since I cannot find a mistake in my original deriv statement. The codes in 1. and 2. should be fully equivalent, right? The code in 1. just divides the code in 2. by volumes, converting amounts to concentrations. Why does 2. work, not 1.?

Thanks

Frank

Dear Frank,

are you sure about this

deriv(Atot = ((-Kint*Ctot -((CL/V1)+(Q/V1)-Kint)*C1)*V1)+ Q*C2)

May be you meant

deriv(Atot = ((-Kint*Ctot -((CL/V1)+(Q/V1)-Kint)*C1))*V1+ Q*C2)

BR,

Mittyright

Dear Mittyright,

you are absolutely correct, the bracket was wrong! Thanks a lot for having a look at the code.

I am still puzzled by the trouble the deriv(C2 = (Q/V1)*C1 - (Q/V2)*C2) gave me (see my post above yesterday).

Best regards

Frank

Dear Frank,

good to see your problem is now working after resolving coding issues.