Location: BG_HaiMurphy @ ad3c1a3c060c / parameter_finder / output / TEMP.cellml.txt

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2022-05-11 16:50:16+12:00
Desc:
Updating version with Yang05 modifications
Permanent Source URI:
https://models.cellml.org/workspace/818/rawfile/ad3c1a3c060ce9500f56f3fae9cc78aa3db44a39/parameter_finder/output/TEMP.cellml.txt

def model individual_HaiMurphy 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_A: fmol {init: 1};
        var q_M: fmol {init: 1};
        var q_Mp: fmol {init: 0};
        var q_AM: fmol {init: 0};
        var q_AMp: fmol {init: 0};
        var q_Pi: fmol {init: 570};
var q_Ca_i: fmol {init: 1e-888, pub: out};
var q_cGMP: fmol {init: 1e-888, pub: out};
// From submodule
var v_R_12: fmol_per_sec {pub: in};
var v_R_34: fmol_per_sec {pub: in};
var v_R_56: fmol_per_sec {pub: in};
var v_R_78: fmol_per_sec {pub: in};
        ode(q_A, time) = -v_R_34+v_R_78;
        ode(q_M, time) = -v_R_12+v_R_78;
        ode(q_Mp, time) = v_R_12-v_R_34;
        ode(q_AM, time) = v_R_56-v_R_78;
        ode(q_AMp, time) = v_R_34-v_R_56;
        ode(q_Pi, time) = -v_R_12+v_R_56;
ode(q_Ca_i, time) = vvv;
ode(q_cGMP, time) = vvv;

        // stress calculation: from original paper, 
        // stress = AM + AMp 

        var stress: dimensionless;

        stress = (q_AM+q_AMp)/1{fmol};

enddef;

def comp HaiMurphy_parameters as
var kappa_R_12: fmol_per_sec {init: 0.117606, pub: out};
var kappa_R_34: fmol_per_sec {init: 6.98167, pub: out};
var kappa_R_56: fmol_per_sec {init: 2.11691, pub: out};
var kappa_R_78: fmol_per_sec {init: 0.0270688, pub: out};
var K_A: per_fmol {init: 0.532601, pub: out};
var K_M: per_fmol {init: 4.08193, pub: out};
var K_Mp: per_fmol {init: 0.0351692, pub: out};
var K_AM: per_fmol {init: 0.448094, pub: out};
var K_AMp: per_fmol {init: 0.0038607, pub: out};
var K_Pi: per_fmol {init: 250.692, pub: out};
var K_Ca_i: per_fmol {init: 0.145785, pub: out};
var K_cGMP: per_fmol {init: 0.0971738, pub: out};
enddef;
def comp HaiMurphy as
        var time: second {pub: in};
        var R: J_per_K_per_mol {pub: in};
        var T: kelvin {pub: in};
        // parameters
var kappa_R_12: fmol_per_sec {pub: in};
var kappa_R_34: fmol_per_sec {pub: in};
var kappa_R_56: fmol_per_sec {pub: in};
var kappa_R_78: fmol_per_sec {pub: in};
var K_A: per_fmol {pub: in};
var K_M: per_fmol {pub: in};
var K_Mp: per_fmol {pub: in};
var K_AM: per_fmol {pub: in};
var K_AMp: per_fmol {pub: in};
var K_Pi: per_fmol {pub: in};
var K_Ca_i: per_fmol {pub: in};
var K_cGMP: per_fmol {pub: in};
// Input from global environment
var q_A: fmol {pub: in};
var q_M: fmol {pub: in};
var q_Mp: fmol {pub: in};
var q_AM: fmol {pub: in};
var q_AMp: fmol {pub: in};
var q_Pi: fmol {pub: in};
var q_Ca_i: fmol {pub: in};
var q_cGMP: fmol {pub: in};
// Constitutive parameters
var mu_A: J_per_mol;
var mu_M: J_per_mol;
var mu_Mp: J_per_mol;
var mu_AM: J_per_mol;
var mu_AMp: J_per_mol;
var mu_Pi: J_per_mol;
var mu_Ca_i: J_per_mol;
var mu_cGMP: J_per_mol;
var v_R_12: fmol_per_sec {pub: out};
var v_R_34: fmol_per_sec {pub: out};
var v_R_56: fmol_per_sec {pub: out};
var v_R_78: fmol_per_sec {pub: out};
mu_A = R*T*ln(K_A*q_A);
mu_M = R*T*ln(K_M*q_M);
mu_Mp = R*T*ln(K_Mp*q_Mp);
mu_AM = R*T*ln(K_AM*q_AM);
mu_AMp = R*T*ln(K_AMp*q_AMp);
mu_Pi = R*T*ln(K_Pi*q_Pi);
mu_Ca_i = R*T*ln(K_Ca_i*q_Ca_i);
mu_cGMP = R*T*ln(K_cGMP*q_cGMP);
        v_R_12 = kappa_R_12*(exp((mu_M+mu_Pi)/(R*T))-exp(mu_Mp/(R*T)));
        v_R_34 = kappa_R_34*(exp((mu_A+mu_Mp)/(R*T))-exp(mu_AMp/(R*T)));
        v_R_56 = kappa_R_56*(exp(mu_AMp/(R*T))-exp((mu_AM+mu_Pi)/(R*T)));
        v_R_78 = kappa_R_78*(exp(mu_AM/(R*T))-exp((mu_A+mu_M)/(R*T)));
enddef;
def map between environment and HaiMurphy for
vars time and time;
vars q_A and q_A;
vars q_M and q_M;
vars q_Mp and q_Mp;
vars q_AM and q_AM;
vars q_AMp and q_AMp;
vars q_Pi and q_Pi;
vars q_Ca_i and q_Ca_i;
vars q_cGMP and q_cGMP;
vars v_R_12 and v_R_12;
vars v_R_34 and v_R_34;
vars v_R_56 and v_R_56;
vars v_R_78 and v_R_78;
enddef;
def map between HaiMurphy and HaiMurphy_parameters for
vars kappa_R_12 and kappa_R_12;
vars kappa_R_34 and kappa_R_34;
vars kappa_R_56 and kappa_R_56;
vars kappa_R_78 and kappa_R_78;
vars K_A and K_A;
vars K_M and K_M;
vars K_Mp and K_Mp;
vars K_AM and K_AM;
vars K_AMp and K_AMp;
vars K_Pi and K_Pi;
vars K_Ca_i and K_Ca_i;
vars K_cGMP and K_cGMP;
enddef;
def map between constants and HaiMurphy for
vars R and R;
 vars T and T;
enddef;
enddef;