def model individual_NBC 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 fF using unit fF; unit fC using unit fC; unit per_second using unit per_second; 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 pL using unit pL; 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_Na_i: fmol {init: 1e-888, pub: out}; var q_Na_o: fmol {init: 1e-888, pub: out}; var q_HCO3_i: fmol {init: 1e-888, pub: out}; var q_HCO3_o: fmol {init: 1e-888, pub: out}; var q_S1_NBC: fmol {init: 1e-888, pub: out}; var q_S2_NBC: fmol {init: 1e-888, pub: out}; var q_S3_NBC: fmol {init: 1e-888, pub: out}; var q_S4_NBC: fmol {init: 1e-888, pub: out}; var q_S5_NBC: fmol {init: 1e-888, pub: out}; var q_S6_NBC: fmol {init: 1e-888, pub: out}; var q_H_i: fmol {init: 1e-888, pub: out}; var q_H_o: fmol {init: 1e-888, pub: out}; // From submodule var v_R61_NBC: fmol_per_sec {pub: in}; var v_R12_NBC: fmol_per_sec {pub: in}; var v_R23_NBC: fmol_per_sec {pub: in}; var v_R34_NBC: fmol_per_sec {pub: in}; var v_R45_NBC: fmol_per_sec {pub: in}; var v_R56_NBC: fmol_per_sec {pub: in}; ode(q_Na_i, time) = vvv; ode(q_Na_o, time) = vvv; ode(q_HCO3_i, time) = vvv; ode(q_HCO3_o, time) = vvv; ode(q_S1_NBC, time) = vvv; ode(q_S2_NBC, time) = vvv; ode(q_S3_NBC, time) = vvv; ode(q_S4_NBC, time) = vvv; ode(q_S5_NBC, time) = vvv; ode(q_S6_NBC, time) = vvv; ode(q_H_i, time) = vvv; ode(q_H_o, time) = vvv; enddef; def comp NBC_parameters as var kappa_R61_NBC: fmol_per_sec {init: 0.00544275, pub: out}; var kappa_R12_NBC: fmol_per_sec {init: 2805.48, pub: out}; var kappa_R23_NBC: fmol_per_sec {init: 2563.29, pub: out}; var kappa_R34_NBC: fmol_per_sec {init: 0.0272629, pub: out}; var kappa_R45_NBC: fmol_per_sec {init: 4.4897e-05, pub: out}; var kappa_R56_NBC: fmol_per_sec {init: 49.6861, pub: out}; var K_Na_i: per_fmol {init: 0.289138, pub: out}; var K_Na_o: per_fmol {init: 0.00668538, pub: out}; var K_HCO3_i: per_fmol {init: 5.98005, pub: out}; var K_HCO3_o: per_fmol {init: 4.33694e-05, pub: out}; var K_S1_NBC: per_fmol {init: 0.00283875, pub: out}; var K_S2_NBC: per_fmol {init: 0.478939, pub: out}; var K_S3_NBC: per_fmol {init: 8.63247e-07, pub: out}; var K_S4_NBC: per_fmol {init: 49.285, pub: out}; var K_S5_NBC: per_fmol {init: 27.0428, pub: out}; var K_S6_NBC: per_fmol {init: 0.0005054, pub: out}; var K_H_i: per_fmol {init: 0.328291, pub: out}; var K_H_o: per_fmol {init: 0.0291348, pub: out}; enddef; def comp NBC as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_R61_NBC: fmol_per_sec {pub: in}; var kappa_R12_NBC: fmol_per_sec {pub: in}; var kappa_R23_NBC: fmol_per_sec {pub: in}; var kappa_R34_NBC: fmol_per_sec {pub: in}; var kappa_R45_NBC: fmol_per_sec {pub: in}; var kappa_R56_NBC: fmol_per_sec {pub: in}; var K_Na_i: per_fmol {pub: in}; var K_Na_o: per_fmol {pub: in}; var K_HCO3_i: per_fmol {pub: in}; var K_HCO3_o: per_fmol {pub: in}; var K_S1_NBC: per_fmol {pub: in}; var K_S2_NBC: per_fmol {pub: in}; var K_S3_NBC: per_fmol {pub: in}; var K_S4_NBC: per_fmol {pub: in}; var K_S5_NBC: per_fmol {pub: in}; var K_S6_NBC: per_fmol {pub: in}; var K_H_i: per_fmol {pub: in}; var K_H_o: per_fmol {pub: in}; // Input from global environment var q_Na_i: fmol {pub: in}; var q_Na_o: fmol {pub: in}; var q_HCO3_i: fmol {pub: in}; var q_HCO3_o: fmol {pub: in}; var q_S1_NBC: fmol {pub: in}; var q_S2_NBC: fmol {pub: in}; var q_S3_NBC: fmol {pub: in}; var q_S4_NBC: fmol {pub: in}; var q_S5_NBC: fmol {pub: in}; var q_S6_NBC: fmol {pub: in}; var q_H_i: fmol {pub: in}; var q_H_o: fmol {pub: in}; // Constitutive parameters var mu_Na_i: J_per_mol; var mu_Na_o: J_per_mol; var mu_HCO3_i: J_per_mol; var mu_HCO3_o: J_per_mol; var mu_S1_NBC: J_per_mol; var mu_S2_NBC: J_per_mol; var mu_S3_NBC: J_per_mol; var mu_S4_NBC: J_per_mol; var mu_S5_NBC: J_per_mol; var mu_S6_NBC: J_per_mol; var mu_H_i: J_per_mol; var mu_H_o: J_per_mol; var v_R61_NBC: fmol_per_sec {pub: out}; var v_R12_NBC: fmol_per_sec {pub: out}; var v_R23_NBC: fmol_per_sec {pub: out}; var v_R34_NBC: fmol_per_sec {pub: out}; var v_R45_NBC: fmol_per_sec {pub: out}; var v_R56_NBC: fmol_per_sec {pub: out}; mu_Na_i = R*T*ln(K_Na_i*q_Na_i); mu_Na_o = R*T*ln(K_Na_o*q_Na_o); mu_HCO3_i = R*T*ln(K_HCO3_i*q_HCO3_i); mu_HCO3_o = R*T*ln(K_HCO3_o*q_HCO3_o); mu_S1_NBC = R*T*ln(K_S1_NBC*q_S1_NBC); mu_S2_NBC = R*T*ln(K_S2_NBC*q_S2_NBC); mu_S3_NBC = R*T*ln(K_S3_NBC*q_S3_NBC); mu_S4_NBC = R*T*ln(K_S4_NBC*q_S4_NBC); mu_S5_NBC = R*T*ln(K_S5_NBC*q_S5_NBC); mu_S6_NBC = R*T*ln(K_S6_NBC*q_S6_NBC); mu_H_i = R*T*ln(K_H_i*q_H_i); mu_H_o = R*T*ln(K_H_o*q_H_o); v_R61_NBC = kappa_R61_NBC*(ppp); v_R12_NBC = kappa_R12_NBC*(ppp); v_R23_NBC = kappa_R23_NBC*(ppp); v_R34_NBC = kappa_R34_NBC*(ppp); v_R45_NBC = kappa_R45_NBC*(ppp); v_R56_NBC = kappa_R56_NBC*(ppp); enddef; def map between environment and NBC for vars time and time; vars q_Na_i and q_Na_i; vars q_Na_o and q_Na_o; vars q_HCO3_i and q_HCO3_i; vars q_HCO3_o and q_HCO3_o; vars q_S1_NBC and q_S1_NBC; vars q_S2_NBC and q_S2_NBC; vars q_S3_NBC and q_S3_NBC; vars q_S4_NBC and q_S4_NBC; vars q_S5_NBC and q_S5_NBC; vars q_S6_NBC and q_S6_NBC; vars q_H_i and q_H_i; vars q_H_o and q_H_o; vars v_R61_NBC and v_R61_NBC; vars v_R12_NBC and v_R12_NBC; vars v_R23_NBC and v_R23_NBC; vars v_R34_NBC and v_R34_NBC; vars v_R45_NBC and v_R45_NBC; vars v_R56_NBC and v_R56_NBC; enddef; def map between NBC and NBC_parameters for vars kappa_R61_NBC and kappa_R61_NBC; vars kappa_R12_NBC and kappa_R12_NBC; vars kappa_R23_NBC and kappa_R23_NBC; vars kappa_R34_NBC and kappa_R34_NBC; vars kappa_R45_NBC and kappa_R45_NBC; vars kappa_R56_NBC and kappa_R56_NBC; vars K_Na_i and K_Na_i; vars K_Na_o and K_Na_o; vars K_HCO3_i and K_HCO3_i; vars K_HCO3_o and K_HCO3_o; vars K_S1_NBC and K_S1_NBC; vars K_S2_NBC and K_S2_NBC; vars K_S3_NBC and K_S3_NBC; vars K_S4_NBC and K_S4_NBC; vars K_S5_NBC and K_S5_NBC; vars K_S6_NBC and K_S6_NBC; vars K_H_i and K_H_i; vars K_H_o and K_H_o; enddef; def map between constants and NBC for vars R and R; vars T and T; enddef; enddef;