def model individual_IPR as def import using "units_and_constants/units_BG.cellml" for unit mM using unit mM; unit fmol using unit fmol; unit per_fmol using unit per_fmol; unit J_per_mol using unit J_per_mol; unit fmol_per_sec using unit fmol_per_sec; unit C_per_mol using unit C_per_mol; unit J_per_C using unit J_per_C; unit microm3 using unit microm3; unit fF using unit fF; unit fC using unit fC; unit fA using unit fA; unit per_second using unit per_second; unit millivolt using unit millivolt; unit per_sec using unit per_sec; unit J_per_K_per_mol using unit J_per_K_per_mol; unit fmol_per_L using unit fmol_per_L; unit fmol_per_L_per_sec using unit fmol_per_L_per_sec; unit per_sec_per_fmol_per_L using unit per_sec_per_fmol_per_L; unit uM using unit uM; unit mM_per_sec using unit mM_per_sec; unit uM_per_sec using unit uM_per_sec; unit pL using unit pL; unit m_to_u using unit m_to_u; enddef; def import using "units_and_constants/constants_BG.cellml" for comp constants using comp constants; enddef; def comp environment as var time: second {pub: out}; // initial values var q_Ca_i: fmol {init: 1e-888, pub: out}; var q_Ca_SR: fmol {init: 1e-888, pub: out}; var q_IP3: fmol {init: 1e-888, pub: out}; var q_C1: fmol {init: 1e-888, pub: out}; var q_C2: fmol {init: 1e-888, pub: out}; var q_C3: fmol {init: 1e-888, pub: out}; var q_C4: fmol {init: 1e-888, pub: out}; var q_O5: fmol {init: 1e-888, pub: out}; var q_O6: fmol {init: 1e-888, pub: out}; // From submodule var v_R_IPR: fmol_per_sec {pub: in}; var v_R12: fmol_per_sec {pub: in}; var v_R23: fmol_per_sec {pub: in}; var v_R24: fmol_per_sec {pub: in}; var v_R26: fmol_per_sec {pub: in}; var v_R45: fmol_per_sec {pub: in}; ode(q_Ca_i, time) = vvv; ode(q_Ca_SR, time) = vvv; ode(q_IP3, time) = vvv; ode(q_C1, time) = vvv; ode(q_C2, time) = vvv; ode(q_C3, time) = vvv; ode(q_C4, time) = vvv; ode(q_O5, time) = vvv; ode(q_O6, time) = vvv; enddef; def comp IPR_parameters as var kappa_R_IPR: fmol_per_sec {init: 0.135721, pub: out}; var kappa_R12: fmol_per_sec {init: 0.627589, pub: out}; var kappa_R23: fmol_per_sec {init: 0.0213951, pub: out}; var kappa_R24: fmol_per_sec {init: 1.06975, pub: out}; var kappa_R26: fmol_per_sec {init: 74.8828, pub: out}; var kappa_R45: fmol_per_sec {init: 117673, pub: out}; var K_Ca_i: per_fmol {init: 0.0993, pub: out}; var K_Ca_SR: per_fmol {init: 0.0993, pub: out}; var K_IP3: per_fmol {init: 0.269542, pub: out}; var K_C1: per_fmol {init: 1975.81, pub: out}; var K_C2: per_fmol {init: 140.219, pub: out}; var K_C3: per_fmol {init: 3225.04, pub: out}; var K_C4: per_fmol {init: 9.34794e-05, pub: out}; var K_O5: per_fmol {init: 0.0282988, pub: out}; var K_O6: per_fmol {init: 53.5503, pub: out}; enddef; def comp IPR as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_R_IPR: fmol_per_sec {pub: in}; var kappa_R12: fmol_per_sec {pub: in}; var kappa_R23: fmol_per_sec {pub: in}; var kappa_R24: fmol_per_sec {pub: in}; var kappa_R26: fmol_per_sec {pub: in}; var kappa_R45: fmol_per_sec {pub: in}; var K_Ca_i: per_fmol {pub: in}; var K_Ca_SR: per_fmol {pub: in}; var K_IP3: per_fmol {pub: in}; var K_C1: per_fmol {pub: in}; var K_C2: per_fmol {pub: in}; var K_C3: per_fmol {pub: in}; var K_C4: per_fmol {pub: in}; var K_O5: per_fmol {pub: in}; var K_O6: per_fmol {pub: in}; // Input from global environment var q_Ca_i: fmol {pub: in}; var q_Ca_SR: fmol {pub: in}; var q_IP3: fmol {pub: in}; var q_C1: fmol {pub: in}; var q_C2: fmol {pub: in}; var q_C3: fmol {pub: in}; var q_C4: fmol {pub: in}; var q_O5: fmol {pub: in}; var q_O6: fmol {pub: in}; // Constitutive parameters var mu_Ca_i: J_per_mol; var mu_Ca_SR: J_per_mol; var mu_IP3: J_per_mol; var mu_C1: J_per_mol; var mu_C2: J_per_mol; var mu_C3: J_per_mol; var mu_C4: J_per_mol; var mu_O5: J_per_mol; var mu_O6: J_per_mol; var v_R_IPR: fmol_per_sec {pub: out}; var v_R12: fmol_per_sec {pub: out}; var v_R23: fmol_per_sec {pub: out}; var v_R24: fmol_per_sec {pub: out}; var v_R26: fmol_per_sec {pub: out}; var v_R45: fmol_per_sec {pub: out}; mu_Ca_i = R*T*ln(K_Ca_i*q_Ca_i); mu_Ca_SR = R*T*ln(K_Ca_SR*q_Ca_SR); mu_IP3 = R*T*ln(K_IP3*q_IP3); mu_C1 = R*T*ln(K_C1*q_C1); mu_C2 = R*T*ln(K_C2*q_C2); mu_C3 = R*T*ln(K_C3*q_C3); mu_C4 = R*T*ln(K_C4*q_C4); mu_O5 = R*T*ln(K_O5*q_O5); mu_O6 = R*T*ln(K_O6*q_O6); v_R_IPR = kappa_R_IPR*ppp; v_R12 = kappa_R12*ppp; v_R23 = kappa_R23*ppp; v_R24 = kappa_R24*ppp; v_R26 = kappa_R26*ppp; v_R45 = kappa_R45*ppp; enddef; def map between environment and IPR for vars time and time; vars q_Ca_i and q_Ca_i; vars q_Ca_SR and q_Ca_SR; vars q_IP3 and q_IP3; vars q_C1 and q_C1; vars q_C2 and q_C2; vars q_C3 and q_C3; vars q_C4 and q_C4; vars q_O5 and q_O5; vars q_O6 and q_O6; vars v_R_IPR and v_R_IPR; vars v_R12 and v_R12; vars v_R23 and v_R23; vars v_R24 and v_R24; vars v_R26 and v_R26; vars v_R45 and v_R45; enddef; def map between IPR and IPR_parameters for vars kappa_R_IPR and kappa_R_IPR; vars kappa_R12 and kappa_R12; vars kappa_R23 and kappa_R23; vars kappa_R24 and kappa_R24; vars kappa_R26 and kappa_R26; vars kappa_R45 and kappa_R45; vars K_Ca_i and K_Ca_i; vars K_Ca_SR and K_Ca_SR; vars K_IP3 and K_IP3; vars K_C1 and K_C1; vars K_C2 and K_C2; vars K_C3 and K_C3; vars K_C4 and K_C4; vars K_O5 and K_O5; vars K_O6 and K_O6; enddef; def map between constants and IPR for vars R and R; vars T and T; enddef; enddef;