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_tumor*CentralTebentafusp-kout_tumor*TumorTebentafusp)*Central))
deriv(A1 = -(Q*CentralTebentafusp) + (Q*PeripheralTebentafusp) - (CL*CentralTebentafusp) - ((kin_skin*CentralTebentafusp)*Central-(kout_skin*SkinTebentafusp)*Skin) - ((kin_tumor*CentralTebentafusp)*Central-(kout_tumor*TumorTebentafusp)*Tumor))
CentralTebentafusp=A1/Central
#d(Central.Tebentafusp)/dt = -(Q*Central.Tebentafusp) + (Q*Peripheral.Tebentafusp) -
#(CL*Central.Tebentafusp) - ((kin_skin*Central.Tebentafusp-kout_skin*Skin.Tebentafusp)*Central) - ((kin_tumor*Central.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_gp100*Tumorgp100*TumorTebentafusp-koff_gp100*Tumorgp100Tebentafusp)*Tumor) + ((kin_tumor*CentralTebentafusp-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_CD3*Tumorgp100Tebentafusp*TumorCD3-koff_CD3*TumorTrimer)*Tumor))
deriv(A5 =(((kon_CD3*TumorCD3*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_gp100*TumorCD3Tebentafusp*Tumorgp100-koff_gp100*TumorTrimer)*Tumor))
deriv(A6 =(-((kon_gp100*Tumorgp100*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_gp100*TumorCD3Tebentafusp*Tumorgp100-koff_gp100*TumorTrimer)*Tumor))
deriv(A7 =(((kon_gp100*Tumorgp100*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_CD3*Tumorgp100Tebentafusp*TumorCD3-koff_CD3*TumorTrimer)*Tumor))
deriv(A8 = (((kon_gp100*TumorCD3Tebentafusp*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_CD3*Tumorgp100Tebentafusp*TumorCD3-koff_CD3*TumorTrimer)*Tumor))
deriv(A9 = (-((kon_CD3*SkinCD3*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_gp100*Skingp100*SkinTebentafusp-koff_gp100*Skingp100Tebentafusp)*Skin) + ((kin_skin*CentralTebentafusp-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_CD3*Skingp100Tebentafusp*SkinCD3-koff_CD3*SkinTrimer)*Skin))
deriv(A11 =(((kon_CD3*SkinCD3*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_gp100*SkinCD3Tebentafusp*Skingp100-koff_gp100*SkinTrimer)*Skin))
deriv(A12 = (-((kon_gp100*Skingp100*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_gp100*SkinCD3Tebentafusp*Skingp100-koff_gp100*SkinTrimer)*Skin))
deriv(A13 = (((kon_gp100*Skingp100*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_CD3*Skingp100Tebentafusp*SkinCD3-koff_CD3*SkinTrimer)*Skin))
deriv(A14 = (((kon_gp100*SkinCD3Tebentafusp*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_CD3*Skingp100Tebentafusp*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,))
}
Edited by 18963422692, 12 October 2023 - 09:27 AM.