- Author:
- Shelley Fong <s.fong@auckland.ac.nz>
- Date:
- 2022-03-07 15:54:46+13:00
- Desc:
- fix equation for q_mem
- Permanent Source URI:
- https://models.cellml.org/workspace/82d/rawfile/41c5c80a10c8825edc9361dd6de3ffd489b472db/BG_Ks.cellml
<?xml version='1.0' encoding='UTF-8'?>
<!-- slow delayed rectifier (potassium) 1
gate variables
Sa: xs_10 xs_20
Sb: xs_11 xs_20
Sc: xs_10 xs_21
Sd: xs_11 xs_21
gate variable transitions
x10: a to b
x11: c to d
x20: a to c
x21: b to d-->
<model name="BG_Ks_model" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#" xmlns:xlink="http://www.w3.org/1999/xlink">
<import xlink:href="units_and_constants/units_BG.cellml">
<units name="mM" units_ref="mM"/>
<units name="fmol" units_ref="fmol"/>
<units name="per_fmol" units_ref="per_fmol"/>
<units name="J_per_mol" units_ref="J_per_mol"/>
<units name="fmol_per_sec" units_ref="fmol_per_sec"/>
<units name="C_per_mol" units_ref="C_per_mol"/>
<units name="J_per_C" units_ref="J_per_C"/>
<units name="fF" units_ref="fF"/>
<units name="fC" units_ref="fC"/>
<units name="fA" units_ref="fA"/>
</import>
<units name="microm3">
<unit exponent="3" prefix="micro" units="metre"/>
</units>
<component name="environment">
<variable name="time" public_interface="out" units="second"/>
<variable initial_value="1.0e6" name="C_m" public_interface="out" units="fF"/>
<variable initial_value="27.9828" name="q_K_o" public_interface="out" units="fmol"/>
<variable initial_value="5510" name="q_K_i" public_interface="out" units="fmol"/>
<variable initial_value="1e4" name="vol_o" public_interface="out" units="microm3"/>
<variable initial_value="-8.5e4" name="q_membrane" public_interface="out" units="fC"/>
<variable name="Vmem" units="volt"/>
<variable initial_value="2494.34" name="RT" public_interface="out" units="J_per_mol"/>
<variable initial_value="96500" name="F" public_interface="out" units="C_per_mol"/>
<variable name="v_Ks" public_interface="in" units="fmol_per_sec"/>
<variable name="I_mem_Ks" public_interface="in" units="fA"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_K_i</ci>
</apply>
<apply>
<minus/>
<ci>v_Ks</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_K_o</ci>
</apply>
<ci>v_Ks</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_membrane</ci>
</apply>
<apply>
<minus/>
<ci>I_mem_Ks</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Vmem</ci>
<apply>
<divide/>
<ci>q_membrane</ci>
<ci>C_m</ci>
</apply>
</apply>
</math>
</component>
<component name="Ks_parameters">
<variable initial_value="4805.32" name="kappa_Ks" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="1.70139" name="kappa_x10" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="1.79332" name="kappa_x11" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="0.391403" name="kappa_x20" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="0.395408" name="kappa_x21" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="1.82422" name="K_K_i" public_interface="out" units="per_fmol"/>
<variable initial_value="13.3772" name="K_K_o" public_interface="out" units="per_fmol"/>
<variable initial_value="0.855402" name="K_Sa" public_interface="out" units="per_fmol"/>
<variable initial_value="0.846737" name="K_Sb" public_interface="out" units="per_fmol"/>
<variable initial_value="0.811553" name="K_Sc" public_interface="out" units="per_fmol"/>
<variable initial_value="0.803333" name="K_Sd" public_interface="out" units="per_fmol"/>
<variable initial_value="0.713913791" name="z_xs1_f" public_interface="out" units="dimensionless"/>
<variable initial_value="-0.487104094" name="z_xs1_r" public_interface="out" units="dimensionless"/>
<variable initial_value="0.779849565" name="z_xs2_f" public_interface="out" units="dimensionless"/>
<variable initial_value="-0.518794843" name="z_xs2_r" public_interface="out" units="dimensionless"/>
<variable initial_value="1" name="zK" public_interface="out" units="dimensionless"/>
</component>
<component name="Ks">
<variable name="t" private_interface="out" public_interface="in" units="second"/>
<variable name="RT" private_interface="out" public_interface="in" units="J_per_mol"/>
<variable name="F" private_interface="out" public_interface="in" units="C_per_mol"/>
<variable name="C_m" public_interface="in" units="fF"/>
<!-- Parameters-->
<!-- overall ion permeability (GHK) is kappa_{ion}-->
<variable name="kappa_Ks" public_interface="in" units="fmol_per_sec"/>
<variable name="K_K_o" public_interface="in" units="per_fmol"/>
<variable name="K_K_i" public_interface="in" units="per_fmol"/>
<variable name="vol_o" public_interface="in" units="microm3"/>
<!-- state variables-->
<variable name="q_K_i" public_interface="in" units="fmol"/>
<variable name="q_K_o" public_interface="in" units="fmol"/>
<variable name="q_E" public_interface="in" units="fC"/>
<variable name="v_Ks" public_interface="out" units="fmol_per_sec"/>
<variable name="I_mem_Ks" public_interface="out" units="fA"/>
<variable name="u_K_i" units="J_per_mol"/>
<variable name="u_K_o" units="J_per_mol"/>
<variable name="V_mem" private_interface="out" units="J_per_C"/>
<variable name="Am_Ks" units="J_per_mol"/>
<variable name="Af_Ks" units="J_per_mol"/>
<variable name="Ar_Ks" units="J_per_mol"/>
<variable name="zK" public_interface="in" units="dimensionless"/>
<!-- Conservation laws-->
<!-- Constitutive relations - Convention: positive flow from inside to outside-->
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>Am_Ks</ci>
<apply>
<times/>
<ci>zK</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u_K_i</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_K_i</ci>
<ci>q_K_i</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>u_K_o</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_K_o</ci>
<ci>q_K_o</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Af_Ks</ci>
<apply>
<plus/>
<ci>mu_Sd</ci>
<ci>u_K_i</ci>
<ci>Am_Ks</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Ar_Ks</ci>
<apply>
<plus/>
<ci>mu_Sd</ci>
<ci>u_K_o</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Ks</ci>
<piecewise>
<piece>
<apply>
<times/>
<cn cellml:units="dimensionless">1</cn>
<ci>kappa_Ks</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_Ks</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_Ks</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Am_Ks</ci>
<cn cellml:units="J_per_mol">0</cn>
</apply>
</piece>
<otherwise>
<apply>
<times/>
<apply>
<divide/>
<apply>
<divide/>
<apply>
<times/>
<cn cellml:units="dimensionless">1</cn>
<ci>kappa_Ks</ci>
<ci>Am_Ks</ci>
</apply>
<ci>RT</ci>
</apply>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Am_Ks</ci>
<ci>RT</ci>
</apply>
</apply>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_Ks</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_Ks</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
</otherwise>
</piecewise>
</apply>
<apply>
<eq/>
<ci>V_mem</ci>
<apply>
<divide/>
<ci>q_E</ci>
<ci>C_m</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>I_mem_Ks</ci>
<apply>
<times/>
<ci>F</ci>
<apply>
<plus/>
<apply>
<times/>
<apply>
<minus/>
<ci>zK</ci>
</apply>
<ci>v_Ks</ci>
</apply>
<apply>
<times/>
<ci>v_x10</ci>
<apply>
<minus/>
<ci>z_xs1_r</ci>
<ci>z_xs1_f</ci>
</apply>
</apply>
<apply>
<times/>
<ci>v_x11</ci>
<apply>
<minus/>
<ci>z_xs1_r</ci>
<ci>z_xs1_r</ci>
</apply>
</apply>
<apply>
<times/>
<ci>v_x20</ci>
<apply>
<minus/>
<ci>z_xs2_r</ci>
<ci>z_xs2_f</ci>
</apply>
</apply>
<apply>
<times/>
<ci>v_x21</ci>
<apply>
<minus/>
<ci>z_xs2_r</ci>
<ci>z_xs2_f</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</math>
<!-- GATE
channel states variables
Sa: xs_10 xs_20
Sb: xs_11 xs_20
Sc: xs_10 xs_21
Sd: xs_11 xs_21-->
<variable name="v_Sa" units="fmol_per_sec"/>
<variable name="v_Sb" units="fmol_per_sec"/>
<variable name="v_Sc" units="fmol_per_sec"/>
<variable name="v_Sd" units="fmol_per_sec"/>
<!-- gate variable transitions
x10: a to b
x11: c to d
x20: a to c
x21: b to d-->
<variable name="v_x10" units="fmol_per_sec"/>
<variable name="v_x11" units="fmol_per_sec"/>
<variable name="v_x20" units="fmol_per_sec"/>
<variable name="v_x21" units="fmol_per_sec"/>
<variable name="mu_Sa" units="J_per_mol"/>
<variable name="mu_Sb" units="J_per_mol"/>
<variable name="mu_Sc" units="J_per_mol"/>
<variable name="mu_Sd" units="J_per_mol"/>
<!-- forward/reverse affinities at each reaction-->
<variable name="Af_x10" units="J_per_mol"/>
<variable name="Ar_x10" units="J_per_mol"/>
<variable name="Af_x11" units="J_per_mol"/>
<variable name="Ar_x11" units="J_per_mol"/>
<variable name="Af_x20" units="J_per_mol"/>
<variable name="Ar_x20" units="J_per_mol"/>
<variable name="Af_x21" units="J_per_mol"/>
<variable name="Ar_x21" units="J_per_mol"/>
<!-- gating variables-->
<variable name="kappa_x10" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_x11" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_x20" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_x21" public_interface="in" units="fmol_per_sec"/>
<variable name="K_Sa" public_interface="in" units="per_fmol"/>
<variable name="K_Sb" public_interface="in" units="per_fmol"/>
<variable name="K_Sc" public_interface="in" units="per_fmol"/>
<variable name="K_Sd" public_interface="in" units="per_fmol"/>
<variable name="z_xs1_f" public_interface="in" units="dimensionless"/>
<variable name="z_xs1_r" public_interface="in" units="dimensionless"/>
<variable name="z_xs2_f" public_interface="in" units="dimensionless"/>
<variable name="z_xs2_r" public_interface="in" units="dimensionless"/>
<variable initial_value="0.999997" name="q_Sa" units="fmol"/>
<variable initial_value="1e-6" name="q_Sb" units="fmol"/>
<variable initial_value="1e-6" name="q_Sc" units="fmol"/>
<variable initial_value="1e-6" name="q_Sd" units="fmol"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>Af_x10</ci>
<apply>
<plus/>
<ci>mu_Sa</ci>
<apply>
<times/>
<ci>z_xs1_f</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Ar_x10</ci>
<apply>
<plus/>
<ci>mu_Sb</ci>
<apply>
<times/>
<ci>z_xs1_r</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Af_x11</ci>
<apply>
<plus/>
<ci>mu_Sc</ci>
<apply>
<times/>
<ci>z_xs1_f</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Ar_x11</ci>
<apply>
<plus/>
<ci>mu_Sd</ci>
<apply>
<times/>
<ci>z_xs1_r</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Af_x20</ci>
<apply>
<plus/>
<ci>mu_Sa</ci>
<apply>
<times/>
<ci>z_xs2_f</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Ar_x20</ci>
<apply>
<plus/>
<ci>mu_Sc</ci>
<apply>
<times/>
<ci>z_xs2_r</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Af_x21</ci>
<apply>
<plus/>
<ci>mu_Sb</ci>
<apply>
<times/>
<ci>z_xs2_f</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>Ar_x21</ci>
<apply>
<plus/>
<ci>mu_Sd</ci>
<apply>
<times/>
<ci>z_xs2_r</ci>
<ci>F</ci>
<ci>V_mem</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_x10</ci>
<apply>
<times/>
<ci>kappa_x10</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_x10</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_x10</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_x11</ci>
<apply>
<times/>
<ci>kappa_x11</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_x11</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_x11</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_x20</ci>
<apply>
<times/>
<ci>kappa_x20</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_x20</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_x20</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_x21</ci>
<apply>
<times/>
<ci>kappa_x21</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>Af_x21</ci>
<ci>RT</ci>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>Ar_x21</ci>
<ci>RT</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Sa</ci>
<apply>
<minus/>
<apply>
<minus/>
<ci>v_x10</ci>
</apply>
<ci>v_x20</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Sb</ci>
<apply>
<minus/>
<ci>v_x10</ci>
<ci>v_x21</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Sc</ci>
<apply>
<minus/>
<ci>v_x20</ci>
<ci>v_x11</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Sd</ci>
<apply>
<plus/>
<ci>v_x11</ci>
<ci>v_x21</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_Sa</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Sa</ci>
<ci>q_Sa</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_Sb</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Sb</ci>
<ci>q_Sb</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_Sc</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Sc</ci>
<ci>q_Sc</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_Sd</ci>
<apply>
<times/>
<ci>RT</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Sd</ci>
<ci>q_Sd</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Sa</ci>
</apply>
<ci>v_Sa</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Sb</ci>
</apply>
<ci>v_Sb</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Sc</ci>
</apply>
<ci>v_Sc</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Sd</ci>
</apply>
<ci>v_Sd</ci>
</apply>
</math>
</component>
<connection>
<map_components component_1="environment" component_2="Ks"/>
<map_variables variable_1="time" variable_2="t"/>
<map_variables variable_1="RT" variable_2="RT"/>
<map_variables variable_1="F" variable_2="F"/>
<map_variables variable_1="q_K_i" variable_2="q_K_i"/>
<map_variables variable_1="q_K_o" variable_2="q_K_o"/>
<map_variables variable_1="q_membrane" variable_2="q_E"/>
<map_variables variable_1="C_m" variable_2="C_m"/>
<map_variables variable_1="vol_o" variable_2="vol_o"/>
<map_variables variable_1="v_Ks" variable_2="v_Ks"/>
<map_variables variable_1="I_mem_Ks" variable_2="I_mem_Ks"/>
</connection>
<connection>
<map_components component_1="Ks" component_2="Ks_parameters"/>
<map_variables variable_1="kappa_Ks" variable_2="kappa_Ks"/>
<map_variables variable_1="K_K_o" variable_2="K_K_o"/>
<map_variables variable_1="K_K_i" variable_2="K_K_i"/>
<map_variables variable_1="kappa_x10" variable_2="kappa_x10"/>
<map_variables variable_1="kappa_x11" variable_2="kappa_x11"/>
<map_variables variable_1="kappa_x20" variable_2="kappa_x20"/>
<map_variables variable_1="kappa_x21" variable_2="kappa_x21"/>
<map_variables variable_1="K_Sa" variable_2="K_Sa"/>
<map_variables variable_1="K_Sb" variable_2="K_Sb"/>
<map_variables variable_1="K_Sc" variable_2="K_Sc"/>
<map_variables variable_1="K_Sd" variable_2="K_Sd"/>
<map_variables variable_1="z_xs1_f" variable_2="z_xs1_f"/>
<map_variables variable_1="z_xs1_r" variable_2="z_xs1_r"/>
<map_variables variable_1="z_xs2_f" variable_2="z_xs2_f"/>
<map_variables variable_1="z_xs2_r" variable_2="z_xs2_r"/>
<map_variables variable_1="zK" variable_2="zK"/>
</connection>
</model>