# PK model code

**URL:** <https://forum.certara.com/t/pk-model-code/3708>\
**Category:** Modelling and Simulation\
**Created:** [October 12, 2023, 9:12am UTC](https://forum.certara.com/t/pk-model-code/3708 "2023-10-12T09:12:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![18963422692](https://avatars.discourse-cdn.com/v4/letter/1/a4c791/32.png) [@18963422692](https://forum.certara.com/u/18963422692)\
**Post date:** [October 12, 2023, 9:12am UTC](https://forum.certara.com/t/pk-model-code/3708/1 "2023-10-12T09:12:04Z")

</div>

Dear all,

I’m trying to reproduce the literatureï¼ˆMechanistically modeling peripheral cytokine dynamics following bispecific dosing in solid tumors

DOI: 10.1002/psp4.12928ï¼‰ using NLME, but I’m always failing. Is there a problem with my code?

My model code is as follows.I removed peripheral cytokine dynamics.The literature code is attached.

Thank you

test(){

dosepoint(A1)  
#deriv(A1 = -(Q_CentralTebentafusp) + (Q_PeripheralTebentafusp) - (CL_CentralTebentafusp) - ((kin\_skin_CentralTebentafusp-kout\_skin_SkinTebentafusp)Central) - ((kin\_tumorCentralTebentafusp-kout\_tumor_TumorTebentafusp)_Central))  
deriv(A1 = -(Q_CentralTebentafusp) + (Q_PeripheralTebentafusp) - (CL_CentralTebentafusp) - ((kin\_skin_CentralTebentafusp)Central-(kout\_skinSkinTebentafusp)Skin) - ((kin\_tumorCentralTebentafusp)Central-(kout\_tumorTumorTebentafusp)Tumor))  
CentralTebentafusp=A1/Central  
 #d(Central.Tebentafusp)/dt = -(QCentral.Tebentafusp) + (Q_Peripheral.Tebentafusp) -  
#(CL_Central.Tebentafusp) - ((kin\_skin_Central.Tebentafusp-kout\_skin_Skin.Tebentafusp)Central) - ((kin\_tumorCentral.Tebentafusp-kout\_tumor_Tumor.Tebentafusp)_Central)  
deriv(A2 = ((Q_CentralTebentafusp) - (Q_PeripheralTebentafusp)))  
PeripheralTebentafusp=A2/Peripheral  
 #d(PeripheralTebentafusp)/dt = 1/Peripheral_((Q_CentralTebentafusp) - (Q_PeripheralTebentafusp))  
deriv(A3 =(-((kon\_CD3_TumorCD3_TumorTebentafusp-koff\_CD3_TumorCD3Tebentafusp)) -  
((kon\_gp100_Tumorgp100_TumorTebentafusp-koff\_gp100_Tumorgp100Tebentafusp))

- ((kin\_tumor_CentralTebentafusp-kout\_tumor_TumorTebentafusp))))  
TumorTebentafusp=A3  
#d(TumorTebentafusp)/dt = 1/Tumor\*(-((kon\_CD3_TumorCD3_TumorTebentafusp-  
#koff\_CD3_TumorCD3Tebentafusp)Tumor) - ((kon\_gp100Tumorgp100_TumorTebentafusp-koff\_gp100_Tumorgp100Tebentafusp)Tumor) + ((kin\_tumorCentralTebentafusp-kout\_tumor_TumorTebentafusp)_Central))  
deriv(A4 =(-((kon\_CD3_TumorCD3_TumorTebentafusp-koff\_CD3_TumorCD3Tebentafusp))

- ((kon\_CD3_Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer))))  
TumorCD3=A4  
 #d(TumorCD3)/dt = 1/Tumor_(-((kon\_CD3_TumorCD3_TumorTebentafusp-  
#koff\_CD3_TumorCD3Tebentafusp)Tumor) - ((kon\_CD3Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer)Tumor))  
deriv(A5 =(((kon\_CD3TumorCD3_TumorTebentafusp-koff\_CD3\*TumorCD3Tebentafusp))
- ((kon\_gp100_TumorCD3Tebentafusp_Tumorgp100-koff\_gp100_TumorTrimer))))  
TumorCD3Tebentafusp=A5  
 #d(TumorCD3Tebentafusp)/dt = 1/Tumor_(((kon\_CD3_TumorCD3_TumorTebentafusp-  
#koff\_CD3_TumorCD3Tebentafusp)Tumor) - ((kon\_gp100TumorCD3Tebentafusp_Tumorgp100-koff\_gp100_TumorTrimer)Tumor))  
deriv(A6 =(-((kon\_gp100Tumorgp100_TumorTebentafusp-koff\_gp100_Tumorgp100Tebentafusp)) - ((kon\_gp100_TumorCD3Tebentafusp_Tumorgp100-koff\_gp100_TumorTrimer))))  
Tumorgp100=A6  
#d(Tumorgp100)/dt = 1/Tumor\*(-((kon\_gp100_Tumorgp100_TumorTebentafusp-  
#koff\_gp100_Tumorgp100Tebentafusp)Tumor) - ((kon\_gp100TumorCD3Tebentafusp_Tumorgp100-koff\_gp100_TumorTrimer)Tumor))  
deriv(A7 =(((kon\_gp100Tumorgp100_TumorTebentafusp-koff\_gp100\*Tumorgp100Tebentafusp))
- ((kon\_CD3_Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer))))  
Tumorgp100Tebentafusp=A7  
 #d(Tumorgp100Tebentafusp)/dt = 1/Tumor_(((kon\_gp100_Tumorgp100_TumorTebentafusp-  
#koff\_gp100_Tumorgp100Tebentafusp)Tumor) - ((kon\_CD3Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer)Tumor))  
deriv(A8 = (((kon\_gp100TumorCD3Tebentafusp_Tumorgp100-koff\_gp100_TumorTrimer)) + ((kon\_CD3_Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer))))  
TumorTrimer=A8  
#d(TumorTrimer)/dt = 1/Tumor\*(((kon\_gp100_TumorCD3Tebentafusp_Tumorgp100-  
#koff\_gp100_TumorTrimer)Tumor) + ((kon\_CD3Tumorgp100Tebentafusp_TumorCD3-koff\_CD3_TumorTrimer)Tumor))  
deriv(A9 = (-((kon\_CD3SkinCD3_SkinTebentafusp-koff\_CD3\*SkinCD3Tebentafusp))
- ((kon\_gp100_Skingp100_SkinTebentafusp-koff\_gp100_Skingp100Tebentafusp)) + ((kin\_skin_CentralTebentafusp-kout\_skin_SkinTebentafusp))))  
SkinTebentafusp=A9  
 #d(SkinTebentafusp)/dt = 1/Skin_(-((kon\_CD3_SkinCD3_SkinTebentafusp-  
#koff\_CD3_SkinCD3Tebentafusp)Skin) - ((kon\_gp100Skingp100_SkinTebentafusp-koff\_gp100_Skingp100Tebentafusp)Skin) + ((kin\_skinCentralTebentafusp-kout\_skin_SkinTebentafusp)_Central))  
deriv(A10 = (-((kon\_CD3_SkinCD3_SkinTebentafusp-koff\_CD3_SkinCD3Tebentafusp))
- ((kon\_CD3_Skingp100Tebentafusp_SkinCD3-koff\_CD3_SkinTrimer))))  
SkinCD3=A10  
 #d(SkinCD3)/dt = 1/Skin_(-((kon\_CD3_SkinCD3_SkinTebentafusp-  
#koff\_CD3_SkinCD3Tebentafusp)Skin) - ((kon\_CD3Skingp100Tebentafusp_SkinCD3-koff\_CD3_SkinTrimer)Skin))  
deriv(A11 =(((kon\_CD3SkinCD3_SkinTebentafusp-koff\_CD3\*SkinCD3Tebentafusp))
- ((kon\_gp100_SkinCD3Tebentafusp_Skingp100-koff\_gp100_SkinTrimer))))  
SkinCD3Tebentafusp=A11  
 #d(SkinCD3Tebentafusp)/dt = 1/Skin_(((kon\_CD3_SkinCD3_SkinTebentafusp-  
#koff\_CD3_SkinCD3Tebentafusp)Skin) - ((kon\_gp100SkinCD3Tebentafusp_Skingp100-koff\_gp100_SkinTrimer)Skin))  
deriv(A12 = (-((kon\_gp100Skingp100_SkinTebentafusp-koff\_gp100_Skingp100Tebentafusp)) - ((kon\_gp100_SkinCD3Tebentafusp_Skingp100-koff\_gp100_SkinTrimer))))  
Skingp100=A12  
#d(Skingp100)/dt = 1/Skin\*(-((kon\_gp100_Skingp100_SkinTebentafusp-  
#koff\_gp100_Skingp100Tebentafusp)Skin) - ((kon\_gp100SkinCD3Tebentafusp_Skingp100-koff\_gp100_SkinTrimer)Skin))  
deriv(A13 = (((kon\_gp100Skingp100_SkinTebentafusp-koff\_gp100_Skingp100Tebentafusp)) - ((kon\_CD3_Skingp100Tebentafusp_SkinCD3-koff\_CD3_SkinTrimer))))  
Skingp100Tebentafusp=A13  
#d(Skingp100Tebentafusp)/dt = 1/Skin\*(((kon\_gp100_Skingp100_SkinTebentafusp-  
#koff\_gp100_Skingp100Tebentafusp)Skin) - ((kon\_CD3Skingp100Tebentafusp_SkinCD3-koff\_CD3_SkinTrimer)Skin))  
deriv(A14 = (((kon\_gp100SkinCD3Tebentafusp_Skingp100-  
koff\_gp100_SkinTrimer)) + ((kon\_CD3_Skingp100Tebentafusp_SkinCD3-koff\_CD3_SkinTrimer))))  
SkinTrimer=A14  
#d(SkinTrimer)/dt = 1/Skin\*(((kon\_gp100_SkinCD3Tebentafusp_Skingp100-  
#koff\_gp100_SkinTrimer)Skin) + ((kon\_CD3Skingp100Tebentafusp_SkinCD3-koff\_CD3\*SkinTrimer)\*Skin))

#dosepoint(A1, idosevar = A1Dose, infdosevar = A1InfDose, infratevar = A1InfRate)  
error(CEps = 0.018)  
observe(CObs = CentralTebentafusp \* (1 + CEps))  
#Initial Assignments  
sequence{  
TumorCD3 = Tumor\_BL\_Tcell_CD3\_per\_cell/(Avogadro_Tumor)

Tumorgp100 = Tumor\_BL\_Tumorcell_gp100\_per\_cell/(Avogadro_Tumor)

SkinCD3 = Skin\_BL\_Tcell_CD3\_per\_cell/(Avogadro_Skin)

Skingp100 = Skin\_BL\_Melanocyte_gp100\_per\_cell_Skin\_gp100\_ratio/(Avogadro\*Skin)

}  
fixef(Central(freeze) = c(,5.25,))  
fixef(Peripheral(freeze) = c(,470,))  
fixef(Tumor(freeze) = c(,0.0007,))  
fixef(Skin(freeze) = c(,0.26,))  
fixef(CL(freeze) = c(,4.33/24,))  
fixef(Q(freeze) = c(,11.4/24,))  
fixef(kin\_tumor(freeze) = c(,3.73,))  
fixef(kin\_skin(freeze) = c(,1.06,))  
fixef(kon\_CD3(freeze) = c(,0.026_10^9,))  
fixef(koff\_CD3(freeze) = c(,1,))  
fixef(kon\_gp100(freeze) = c(,42_10^9,))  
fixef(koff\_gp100(freeze) = c(,1,))  
fixef(CD3\_per\_cell(freeze) = c(,100000,))  
fixef(gp100\_per\_cell(freeze) = c(,100000,))  
fixef(Skin\_gp100\_ratio(freeze) = c(,0.01,))  
fixef(Tumor\_BL\_Tcell(freeze) = c(,700000,))  
fixef(Tumor\_BL\_Tumorcell(freeze) = c(,1.2_10^8,))  
fixef(Skin\_BL\_Tcell(freeze) = c(,2_10^9,))  
fixef(Skin\_BL\_Melanocyte(freeze) = c(,1.7_10^9,))  
fixef(Immune\_cell\_ratio\_to\_Tcell(freeze) = c(,2,))  
fixef(kout\_tumor(freeze) = c(,10,))  
fixef(kout\_skin(freeze) = c(,10,))  
fixef(Avogadro(freeze) = c(,6.02_10^23,))  
fixef(molarity(freeze) = c(,1,))  
}
