Location: BG_NMDA @ daf905e976c1 / parameter_finder / output / TEMP.cellml.txt

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2025-09-05 14:27:21+12:00
Desc:
Adding Cellml with params
Permanent Source URI:
https://staging.physiomeproject.org/workspace/d56/rawfile/daf905e976c1e5bb1b29f8c1035040da8f7fe659/parameter_finder/output/TEMP.cellml.txt

def model individual_NMDA as
 def import using "units_and_constants/units.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_s;
        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_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.cellml" for
            comp constants using comp constants;
enddef;

    def comp environment as
    var time: second {pub: out};
    // initial values
var q_Ca_o: fmol {init: 1e-888, pub: out};
var q_Ca_i: fmol {init: 1e-888, pub: out};
var q_R_Mg: fmol {init: 1e-888, pub: out};
var q_R_Mg_open: fmol {init: 1e-888, pub: out};
var q_R_open: fmol {init: 1e-888, pub: out};
var q_Gly: fmol {init: 1e-888, pub: out};
var q_Glu: fmol {init: 1e-888, pub: out};
var q_Mg_o: fmol {init: 1e-888, pub: out};
// From submodule
var v_Re_bind: fmol_per_sec {pub: in};
var v_Re_depol: fmol_per_sec {pub: in};
ode(q_Ca_o, time) = vvv;
ode(q_Ca_i, time) = vvv;
ode(q_R_Mg, time) = vvv;
ode(q_R_Mg_open, time) = vvv;
ode(q_R_open, time) = vvv;
ode(q_Gly, time) = vvv;
ode(q_Glu, time) = vvv;
ode(q_Mg_o, time) = vvv;
enddef;

def comp NMDA_parameters as
var kappa_Re_bind: fmol_per_sec {init: 0.000158922, pub: out};
var kappa_Re_depol: fmol_per_sec {init: 3.27185, pub: out};
var K_Ca_o: per_fmol {init: 6.39112e+08, pub: out};
var K_Ca_i: per_fmol {init: 0.000549429, pub: out};
var K_R_Mg: per_fmol {init: 1.00061, pub: out};
var K_R_Mg_open: per_fmol {init: 0.000513247, pub: out};
var K_R_open: per_fmol {init: 0.000549429, pub: out};
var K_Gly: per_fmol {init: 1.98016e+08, pub: out};
var K_Glu: per_fmol {init: 1.98016e+08, pub: out};
var K_Mg_o: per_fmol {init: 8863.16, pub: out};
enddef;
def comp NMDA as
        var time: second {pub: in};
        var R: J_per_K_per_mol {pub: in};
        var T: kelvin {pub: in};
        // parameters
var kappa_Re_bind: fmol_per_sec {pub: in};
var kappa_Re_depol: fmol_per_sec {pub: in};
var K_Ca_o: per_fmol {pub: in};
var K_Ca_i: per_fmol {pub: in};
var K_R_Mg: per_fmol {pub: in};
var K_R_Mg_open: per_fmol {pub: in};
var K_R_open: per_fmol {pub: in};
var K_Gly: per_fmol {pub: in};
var K_Glu: per_fmol {pub: in};
var K_Mg_o: per_fmol {pub: in};
// Input from global environment
var q_Ca_o: fmol {pub: in};
var q_Ca_i: fmol {pub: in};
var q_R_Mg: fmol {pub: in};
var q_R_Mg_open: fmol {pub: in};
var q_R_open: fmol {pub: in};
var q_Gly: fmol {pub: in};
var q_Glu: fmol {pub: in};
var q_Mg_o: fmol {pub: in};
// Constitutive parameters
var mu_Ca_o: J_per_mol;
var mu_Ca_i: J_per_mol;
var mu_R_Mg: J_per_mol;
var mu_R_Mg_open: J_per_mol;
var mu_R_open: J_per_mol;
var mu_Gly: J_per_mol;
var mu_Glu: J_per_mol;
var mu_Mg_o: J_per_mol;
var v_Re_bind: fmol_per_sec {pub: out};
var v_Re_depol: fmol_per_sec {pub: out};
mu_Ca_o = R*T*ln(K_Ca_o*q_Ca_o);
mu_Ca_i = R*T*ln(K_Ca_i*q_Ca_i);
mu_R_Mg = R*T*ln(K_R_Mg*q_R_Mg);
mu_R_Mg_open = R*T*ln(K_R_Mg_open*q_R_Mg_open);
mu_R_open = R*T*ln(K_R_open*q_R_open);
mu_Gly = R*T*ln(K_Gly*q_Gly);
mu_Glu = R*T*ln(K_Glu*q_Glu);
mu_Mg_o = R*T*ln(K_Mg_o*q_Mg_o);
v_Re_bind = ppp;
v_Re_depol = ppp;
enddef;
def map between environment and NMDA for
vars time and time;
vars q_Ca_o and q_Ca_o;
vars q_Ca_i and q_Ca_i;
vars q_R_Mg and q_R_Mg;
vars q_R_Mg_open and q_R_Mg_open;
vars q_R_open and q_R_open;
vars q_Gly and q_Gly;
vars q_Glu and q_Glu;
vars q_Mg_o and q_Mg_o;
vars v_Re_bind and v_Re_bind;
vars v_Re_depol and v_Re_depol;
enddef;
def map between NMDA and NMDA_parameters for
vars kappa_Re_bind and kappa_Re_bind;
vars kappa_Re_depol and kappa_Re_depol;
vars K_Ca_o and K_Ca_o;
vars K_Ca_i and K_Ca_i;
vars K_R_Mg and K_R_Mg;
vars K_R_Mg_open and K_R_Mg_open;
vars K_R_open and K_R_open;
vars K_Gly and K_Gly;
vars K_Glu and K_Glu;
vars K_Mg_o and K_Mg_o;
enddef;
def map between constants and NMDA for
vars R and R;
 vars T and T;
enddef;
enddef;