def model individual_RyR 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_SR_init: fmol {init: 1e-888}; var q_Ca_di_init: fmol {init: 1e-888}; var q_C_RyR_init: fmol {init: 1e-888}; var q_CI_RyR_init: fmol {init: 1e-888}; var q_I_RyR_init: fmol {init: 1e-888}; var q_O_RyR_init: fmol {init: 1e-888}; // Global value var q_Ca_SR: fmol {pub: out}; var q_Ca_di: fmol {pub: out}; var q_C_RyR: fmol {pub: out}; var q_CI_RyR: fmol {pub: out}; var q_I_RyR: fmol {pub: out}; var q_O_RyR: fmol {pub: out}; // From submodule var q_Ca_SR_mRyR: fmol {pub: in}; var q_Ca_di_mRyR: fmol {pub: in}; var q_C_RyR_mRyR: fmol {pub: in}; var q_CI_RyR_mRyR: fmol {pub: in}; var q_I_RyR_mRyR: fmol {pub: in}; var q_O_RyR_mRyR: fmol {pub: in}; q_Ca_SR = q_Ca_SR_mRyR + q_Ca_SR_init; q_Ca_di = q_Ca_di_mRyR + q_Ca_di_init; q_C_RyR = q_C_RyR_mRyR + q_C_RyR_init; q_CI_RyR = q_CI_RyR_mRyR + q_CI_RyR_init; q_I_RyR = q_I_RyR_mRyR + q_I_RyR_init; q_O_RyR = q_O_RyR_mRyR + q_O_RyR_init; enddef; def comp RyR_parameters as var kappa_RyR: fmol_per_sec {init: 34574.2, pub: out}; var kappa_OC: fmol_per_sec {init: 8.83262, pub: out}; var kappa_CCI: fmol_per_sec {init: 0.12618, pub: out}; var kappa_CII: fmol_per_sec {init: 883.262, pub: out}; var kappa_IO: fmol_per_sec {init: 73.6052, pub: out}; var K_Ca_SR: per_fmol {init: 154.436, pub: out}; var K_Ca_di: per_fmol {init: 100.283, pub: out}; var K_C_RyR: per_fmol {init: 3962.58, pub: out}; var K_CI_RyR: per_fmol {init: 39.6258, pub: out}; var K_I_RyR: per_fmol {init: 0.06793, pub: out}; var K_O_RyR: per_fmol {init: 6.793, pub: out}; enddef; def comp RyR as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_RyR: fmol_per_sec {pub: in}; var kappa_OC: fmol_per_sec {pub: in}; var kappa_CCI: fmol_per_sec {pub: in}; var kappa_CII: fmol_per_sec {pub: in}; var kappa_IO: fmol_per_sec {pub: in}; var K_Ca_SR: per_fmol {pub: in}; var K_Ca_di: per_fmol {pub: in}; var K_C_RyR: per_fmol {pub: in}; var K_CI_RyR: per_fmol {pub: in}; var K_I_RyR: per_fmol {pub: in}; var K_O_RyR: per_fmol {pub: in}; // Input from global environment var q_Ca_SR_global: fmol {pub: in}; var q_Ca_di_global: fmol {pub: in}; var q_C_RyR_global: fmol {pub: in}; var q_CI_RyR_global: fmol {pub: in}; var q_I_RyR_global: fmol {pub: in}; var q_O_RyR_global: fmol {pub: in}; // Output to global environment var q_Ca_SR: fmol {init: 1e-16, pub: out}; var q_Ca_di: fmol {init: 1e-16, pub: out}; var q_C_RyR: fmol {init: 1e-16, pub: out}; var q_CI_RyR: fmol {init: 1e-16, pub: out}; var q_I_RyR: fmol {init: 1e-16, pub: out}; var q_O_RyR: fmol {init: 1e-16, pub: out}; // Constitutive parameters var mu_Ca_SR: J_per_mol; var mu_Ca_di: J_per_mol; var mu_C_RyR: J_per_mol; var mu_CI_RyR: J_per_mol; var mu_I_RyR: J_per_mol; var mu_O_RyR: J_per_mol; var v_RyR: fmol_per_sec; var v_OC: fmol_per_sec; var v_CCI: fmol_per_sec; var v_CII: fmol_per_sec; var v_IO: fmol_per_sec; mu_Ca_SR = R*T*ln(K_Ca_SR*q_Ca_SR_global); mu_Ca_di = R*T*ln(K_Ca_di*q_Ca_di_global); mu_C_RyR = R*T*ln(K_C_RyR*q_C_RyR_global); mu_CI_RyR = R*T*ln(K_CI_RyR*q_CI_RyR_global); mu_I_RyR = R*T*ln(K_I_RyR*q_I_RyR_global); mu_O_RyR = R*T*ln(K_O_RyR*q_O_RyR_global); v_RyR = ppp; v_OC = ppp; v_CCI = ppp; v_CII = ppp; v_IO = ppp; ode(q_Ca_SR, time) = qqq; ode(q_Ca_di, time) = qqq; ode(q_C_RyR, time) = qqq; ode(q_CI_RyR, time) = qqq; ode(q_I_RyR, time) = qqq; ode(q_O_RyR, time) = qqq; enddef; def map between environment and RyR for vars time and time; vars q_Ca_SR_mRyR and q_Ca_SR; vars q_Ca_SR and q_Ca_SR_global; vars q_Ca_di_mRyR and q_Ca_di; vars q_Ca_di and q_Ca_di_global; vars q_C_RyR_mRyR and q_C_RyR; vars q_C_RyR and q_C_RyR_global; vars q_CI_RyR_mRyR and q_CI_RyR; vars q_CI_RyR and q_CI_RyR_global; vars q_I_RyR_mRyR and q_I_RyR; vars q_I_RyR and q_I_RyR_global; vars q_O_RyR_mRyR and q_O_RyR; vars q_O_RyR and q_O_RyR_global; enddef; def map between RyR and RyR_parameters for vars kappa_RyR and kappa_RyR; vars kappa_OC and kappa_OC; vars kappa_CCI and kappa_CCI; vars kappa_CII and kappa_CII; vars kappa_IO and kappa_IO; vars K_Ca_SR and K_Ca_SR; vars K_Ca_di and K_Ca_di; vars K_C_RyR and K_C_RyR; vars K_CI_RyR and K_CI_RyR; vars K_I_RyR and K_I_RyR; vars K_O_RyR and K_O_RyR; enddef; def map between constants and RyR for vars R and R; vars T and T; enddef; enddef;