- Author:
- Alan Garny <a.garny@auckland.ac.nz>
- Date:
- 2019-03-15 11:07:33+13:00
- Desc:
- Some minor cleaning up.
- Permanent Source URI:
- https://models.physiomeproject.org/workspace/55d/rawfile/d2a2c8f403d891dee660a9e1f0af89287b164c9e/hodgkin_huxley_squid_axon_model_1952.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="hodgkin_huxley_squid_axon_model_1952" xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#">
<units name="millisecond">
<unit prefix="milli" units="second"/>
</units>
<units name="per_millisecond">
<unit exponent="-1" prefix="milli" units="second"/>
</units>
<units name="millivolt">
<unit prefix="milli" units="volt"/>
</units>
<units name="per_millivolt_millisecond">
<unit exponent="-1" units="millivolt"/>
<unit exponent="-1" prefix="milli" units="second"/>
</units>
<units name="milliS_per_cm2">
<unit prefix="milli" units="siemens"/>
<unit exponent="-2" prefix="centi" units="metre"/>
</units>
<units name="microF_per_cm2">
<unit prefix="micro" units="farad"/>
<unit exponent="-2" prefix="centi" units="metre"/>
</units>
<units name="microA_per_cm2">
<unit prefix="micro" units="ampere"/>
<unit exponent="-2" prefix="centi" units="metre"/>
</units>
<component name="environment">
<variable name="time" public_interface="out" units="millisecond"/>
</component>
<component name="membrane">
<variable initial_value="0" name="V" public_interface="out" units="millivolt"/>
<variable initial_value="0" name="E_R" public_interface="out" units="millivolt"/>
<variable initial_value="1" name="Cm" units="microF_per_cm2"/>
<variable name="time" public_interface="in" units="millisecond"/>
<variable name="i_Na" public_interface="in" units="microA_per_cm2"/>
<variable name="i_K" public_interface="in" units="microA_per_cm2"/>
<variable name="i_L" public_interface="in" units="microA_per_cm2"/>
<variable name="i_Stim" units="microA_per_cm2"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>i_Stim</ci>
<piecewise>
<piece>
<apply>
<minus/>
<cn cellml:units="microA_per_cm2">20</cn>
</apply>
<apply>
<and/>
<apply>
<geq/>
<ci>time</ci>
<cn cellml:units="millisecond">10</cn>
</apply>
<apply>
<leq/>
<ci>time</ci>
<cn cellml:units="millisecond">10.5</cn>
</apply>
</apply>
</piece>
<otherwise>
<cn cellml:units="microA_per_cm2">0</cn>
</otherwise>
</piecewise>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>V</ci>
</apply>
<apply>
<divide/>
<apply>
<minus/>
<apply>
<plus/>
<apply>
<minus/>
<ci>i_Stim</ci>
</apply>
<ci>i_Na</ci>
<ci>i_K</ci>
<ci>i_L</ci>
</apply>
</apply>
<ci>Cm</ci>
</apply>
</apply>
</math>
</component>
<component name="sodium_channel">
<variable name="i_Na" public_interface="out" units="microA_per_cm2"/>
<variable initial_value="120" name="g_Na" units="milliS_per_cm2"/>
<variable name="E_Na" units="millivolt"/>
<variable name="time" private_interface="out" public_interface="in" units="millisecond"/>
<variable name="V" private_interface="out" public_interface="in" units="millivolt"/>
<variable name="E_R" public_interface="in" units="millivolt"/>
<variable name="m" private_interface="in" units="dimensionless"/>
<variable name="h" private_interface="in" units="dimensionless"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>E_Na</ci>
<apply>
<minus/>
<ci>E_R</ci>
<cn cellml:units="millivolt">115</cn>
</apply>
</apply>
<apply>
<eq/>
<ci>i_Na</ci>
<apply>
<times/>
<ci>g_Na</ci>
<apply>
<power/>
<ci>m</ci>
<cn cellml:units="dimensionless">3</cn>
</apply>
<ci>h</ci>
<apply>
<minus/>
<ci>V</ci>
<ci>E_Na</ci>
</apply>
</apply>
</apply>
</math>
</component>
<component name="sodium_channel_m_gate">
<variable initial_value="0.05" name="m" public_interface="out" units="dimensionless"/>
<variable name="alpha_m" units="per_millisecond"/>
<variable name="beta_m" units="per_millisecond"/>
<variable name="V" public_interface="in" units="millivolt"/>
<variable name="time" public_interface="in" units="millisecond"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>alpha_m</ci>
<apply>
<divide/>
<apply>
<times/>
<cn cellml:units="per_millivolt_millisecond">0.1</cn>
<apply>
<plus/>
<ci>V</ci>
<cn cellml:units="millivolt">25</cn>
</apply>
</apply>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>V</ci>
<cn cellml:units="millivolt">25</cn>
</apply>
<cn cellml:units="millivolt">10</cn>
</apply>
</apply>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>beta_m</ci>
<apply>
<times/>
<cn cellml:units="per_millisecond">4</cn>
<apply>
<exp/>
<apply>
<divide/>
<ci>V</ci>
<cn cellml:units="millivolt">18</cn>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>m</ci>
</apply>
<apply>
<minus/>
<apply>
<times/>
<ci>alpha_m</ci>
<apply>
<minus/>
<cn cellml:units="dimensionless">1</cn>
<ci>m</ci>
</apply>
</apply>
<apply>
<times/>
<ci>beta_m</ci>
<ci>m</ci>
</apply>
</apply>
</apply>
</math>
</component>
<component name="sodium_channel_h_gate">
<variable initial_value="0.6" name="h" public_interface="out" units="dimensionless"/>
<variable name="alpha_h" units="per_millisecond"/>
<variable name="beta_h" units="per_millisecond"/>
<variable name="V" public_interface="in" units="millivolt"/>
<variable name="time" public_interface="in" units="millisecond"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>alpha_h</ci>
<apply>
<times/>
<cn cellml:units="per_millisecond">0.07</cn>
<apply>
<exp/>
<apply>
<divide/>
<ci>V</ci>
<cn cellml:units="millivolt">20</cn>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>beta_h</ci>
<apply>
<divide/>
<cn cellml:units="per_millisecond">1</cn>
<apply>
<plus/>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>V</ci>
<cn cellml:units="millivolt">30</cn>
</apply>
<cn cellml:units="millivolt">10</cn>
</apply>
</apply>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>h</ci>
</apply>
<apply>
<minus/>
<apply>
<times/>
<ci>alpha_h</ci>
<apply>
<minus/>
<cn cellml:units="dimensionless">1</cn>
<ci>h</ci>
</apply>
</apply>
<apply>
<times/>
<ci>beta_h</ci>
<ci>h</ci>
</apply>
</apply>
</apply>
</math>
</component>
<component name="potassium_channel">
<variable name="i_K" public_interface="out" units="microA_per_cm2"/>
<variable initial_value="36" name="g_K" units="milliS_per_cm2"/>
<variable name="E_K" units="millivolt"/>
<variable name="time" private_interface="out" public_interface="in" units="millisecond"/>
<variable name="V" private_interface="out" public_interface="in" units="millivolt"/>
<variable name="E_R" public_interface="in" units="millivolt"/>
<variable name="n" private_interface="in" units="dimensionless"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>E_K</ci>
<apply>
<plus/>
<ci>E_R</ci>
<cn cellml:units="millivolt">12</cn>
</apply>
</apply>
<apply>
<eq/>
<ci>i_K</ci>
<apply>
<times/>
<ci>g_K</ci>
<apply>
<power/>
<ci>n</ci>
<cn cellml:units="dimensionless">4</cn>
</apply>
<apply>
<minus/>
<ci>V</ci>
<ci>E_K</ci>
</apply>
</apply>
</apply>
</math>
</component>
<component name="potassium_channel_n_gate">
<variable initial_value="0.325" name="n" public_interface="out" units="dimensionless"/>
<variable name="alpha_n" units="per_millisecond"/>
<variable name="beta_n" units="per_millisecond"/>
<variable name="V" public_interface="in" units="millivolt"/>
<variable name="time" public_interface="in" units="millisecond"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>alpha_n</ci>
<apply>
<divide/>
<apply>
<times/>
<cn cellml:units="per_millivolt_millisecond">0.01</cn>
<apply>
<plus/>
<ci>V</ci>
<cn cellml:units="millivolt">10</cn>
</apply>
</apply>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>V</ci>
<cn cellml:units="millivolt">10</cn>
</apply>
<cn cellml:units="millivolt">10</cn>
</apply>
</apply>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>beta_n</ci>
<apply>
<times/>
<cn cellml:units="per_millisecond">0.125</cn>
<apply>
<exp/>
<apply>
<divide/>
<ci>V</ci>
<cn cellml:units="millivolt">80</cn>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>n</ci>
</apply>
<apply>
<minus/>
<apply>
<times/>
<ci>alpha_n</ci>
<apply>
<minus/>
<cn cellml:units="dimensionless">1</cn>
<ci>n</ci>
</apply>
</apply>
<apply>
<times/>
<ci>beta_n</ci>
<ci>n</ci>
</apply>
</apply>
</apply>
</math>
</component>
<component name="leakage_current">
<variable name="i_L" public_interface="out" units="microA_per_cm2"/>
<variable initial_value="0.3" name="g_L" units="milliS_per_cm2"/>
<variable name="E_L" units="millivolt"/>
<variable name="time" public_interface="in" units="millisecond"/>
<variable name="V" public_interface="in" units="millivolt"/>
<variable name="E_R" public_interface="in" units="millivolt"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>E_L</ci>
<apply>
<minus/>
<ci>E_R</ci>
<cn cellml:units="millivolt">10.613</cn>
</apply>
</apply>
<apply>
<eq/>
<ci>i_L</ci>
<apply>
<times/>
<ci>g_L</ci>
<apply>
<minus/>
<ci>V</ci>
<ci>E_L</ci>
</apply>
</apply>
</apply>
</math>
</component>
<group>
<relationship_ref relationship="containment"/>
<component_ref component="membrane">
<component_ref component="sodium_channel">
<component_ref component="sodium_channel_m_gate"/>
<component_ref component="sodium_channel_h_gate"/>
</component_ref>
<component_ref component="potassium_channel">
<component_ref component="potassium_channel_n_gate"/>
</component_ref>
<component_ref component="leakage_current"/>
</component_ref>
</group>
<group>
<relationship_ref relationship="encapsulation"/>
<component_ref component="sodium_channel">
<component_ref component="sodium_channel_m_gate"/>
<component_ref component="sodium_channel_h_gate"/>
</component_ref>
<component_ref component="potassium_channel">
<component_ref component="potassium_channel_n_gate"/>
</component_ref>
</group>
<connection>
<map_components component_1="membrane" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="sodium_channel" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="potassium_channel" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="leakage_current" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="membrane" component_2="sodium_channel"/>
<map_variables variable_1="V" variable_2="V"/>
<map_variables variable_1="E_R" variable_2="E_R"/>
<map_variables variable_1="i_Na" variable_2="i_Na"/>
</connection>
<connection>
<map_components component_1="membrane" component_2="potassium_channel"/>
<map_variables variable_1="V" variable_2="V"/>
<map_variables variable_1="E_R" variable_2="E_R"/>
<map_variables variable_1="i_K" variable_2="i_K"/>
</connection>
<connection>
<map_components component_1="membrane" component_2="leakage_current"/>
<map_variables variable_1="V" variable_2="V"/>
<map_variables variable_1="E_R" variable_2="E_R"/>
<map_variables variable_1="i_L" variable_2="i_L"/>
</connection>
<connection>
<map_components component_1="sodium_channel" component_2="sodium_channel_m_gate"/>
<map_variables variable_1="m" variable_2="m"/>
<map_variables variable_1="time" variable_2="time"/>
<map_variables variable_1="V" variable_2="V"/>
</connection>
<connection>
<map_components component_1="sodium_channel" component_2="sodium_channel_h_gate"/>
<map_variables variable_1="h" variable_2="h"/>
<map_variables variable_1="time" variable_2="time"/>
<map_variables variable_1="V" variable_2="V"/>
</connection>
<connection>
<map_components component_1="potassium_channel" component_2="potassium_channel_n_gate"/>
<map_variables variable_1="n" variable_2="n"/>
<map_variables variable_1="time" variable_2="time"/>
<map_variables variable_1="V" variable_2="V"/>
</connection>
</model>