Location: Hodgkin & Huxley (1952) model @ ab2962b87966 / BG / AP_BG.cellml

Author:
WeiweiAi <wai484@aucklanduni.ac.nz>
Date:
2022-03-31 10:48:40+13:00
Desc:
Add open channel IV of HH models; Add simulation and plot python scripts
Permanent Source URI:
https://models.cellml.org/workspace/64f/rawfile/ab2962b8796666ad9938a2577611c954f006b5fd/BG/AP_BG.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="AP_BG" 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="../cellLib/BG/units_BG.cellml">
        <units name="per_fmol" units_ref="per_fmol"/>
        <units name="fmol" units_ref="fmol"/>
        <units name="fmol_per_sec" units_ref="fmol_per_sec"/>
        <units name="fA" units_ref="fA"/>
        <units name="fF" units_ref="fF"/>
        <units name="fC" units_ref="fC"/>
        <units name="fS" units_ref="fS"/>
    </import>
    <import xlink:href="INa_BG.cellml">
        <component component_ref="INa_BG" name="INa_BG"/>
    </import>
    <import xlink:href="IK_BG.cellml">
        <component component_ref="IK_BG" name="IK_BG"/>
    </import>
    <import xlink:href="Ileak_BG.cellml">
        <component component_ref="Ileak_BG" name="Ileak_BG"/>
    </import>
    <component name="AP_BG">
        <!--Parameters-->
        <variable name="T" private_interface="out" public_interface="in" units="kelvin"/>
        <variable name="C_m" public_interface="in" units="fF"/>
        <variable name="q_m_init" public_interface="in" units="fC"/>
        <variable name="g_leak" private_interface="out" public_interface="in" units="fS"/>
        <variable name="V_leak" private_interface="out" public_interface="in" units="volt"/>
        <variable name="kappa_Na" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="z_Na" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="K_i_Na" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="q_i_Na_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="K_e_Na" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="q_e_Na_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S00_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S10_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S20_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S30_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S01_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S11_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S21_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S31_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="K_S00" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S10" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S20" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S30" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S01" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S11" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S21" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S31" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="kappa_m10" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_m20" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_m30" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_m11" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_m21" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_m31" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_h0" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_h1" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_h2" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_h3" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="z_m_f" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="z_m_r" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="z_h_f" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="z_h_r" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="kappa_K" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="z_K" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="K_i_K" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="q_i_K_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="K_e_K" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="q_e_K_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S0_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S1_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S2_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S3_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="q_S4_init" private_interface="out" public_interface="in" units="fmol"/>
        <variable name="K_S0" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S1" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S2" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S3" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="K_S4" private_interface="out" public_interface="in" units="per_fmol"/>
        <variable name="kappa_n1" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_n2" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_n3" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_n4" private_interface="out" public_interface="in" units="fmol_per_sec"/>
        <variable name="z_n_f" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="z_n_r" private_interface="out" public_interface="in" units="dimensionless"/>
        <!--Inputs-->
        <variable name="t" private_interface="out" public_interface="in" units="second"/>
        <!--Outputs-->
        <variable name="V_m" private_interface="out" public_interface="out" units="volt"/>
        <variable name="I_Na" private_interface="in" public_interface="out" units="fA"/>
        <variable name="I_K" private_interface="in" public_interface="out" units="fA"/>
        <variable name="I_leak" private_interface="in" public_interface="out" units="fA"/>
        <variable name="I_i" public_interface="out" units="fA"/>
        <variable initial_value="q_m_init" name="q_m" public_interface="out" units="fC"/>
        <variable name="A_g_K" private_interface="in" public_interface="out" units="J_per_mol"/>
        <variable name="A_g_Na" private_interface="in" public_interface="out" units="J_per_mol"/>
        <variable name="q_S00" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S10" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S20" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S30" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S01" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S11" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S21" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S31" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S0" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S1" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S2" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S3" private_interface="in" public_interface="out" units="fmol"/>
        <variable name="q_S4" private_interface="in" public_interface="out" units="fmol"/>
        <!-- Constitutive relation of the C:mem-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>V_m</ci>
                <apply>
                    <divide/>
                    <ci>q_m</ci>
                    <ci>C_m</ci>
                </apply>
            </apply>
            <!--Conservation laws-->
            <apply>
                <eq/>
                <ci>I_i</ci>
                <apply>
                    <plus/>
                    <ci>I_Na</ci>
                    <ci>I_K</ci>
                    <ci>I_leak</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_m</ci>
                </apply>
                <ci>I_i</ci>
            </apply>
        </math>
    </component>
    <group>
        <relationship_ref relationship="encapsulation"/>
        <component_ref component="AP_BG">
            <component_ref component="INa_BG"/>
            <component_ref component="IK_BG"/>
            <component_ref component="Ileak_BG"/>
        </component_ref>
    </group>
    <connection>
        <map_components component_1="AP_BG" component_2="INa_BG"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="t" variable_2="t"/>
        <map_variables variable_1="kappa_Na" variable_2="kappa_Na"/>
        <map_variables variable_1="z_Na" variable_2="z_Na"/>
        <map_variables variable_1="K_i_Na" variable_2="K_i_Na"/>
        <map_variables variable_1="q_i_Na_init" variable_2="q_i_Na_init"/>
        <map_variables variable_1="K_e_Na" variable_2="K_e_Na"/>
        <map_variables variable_1="q_e_Na_init" variable_2="q_e_Na_init"/>
        <map_variables variable_1="q_S00_init" variable_2="q_S00_init"/>
        <map_variables variable_1="q_S10_init" variable_2="q_S10_init"/>
        <map_variables variable_1="q_S20_init" variable_2="q_S20_init"/>
        <map_variables variable_1="q_S30_init" variable_2="q_S30_init"/>
        <map_variables variable_1="q_S01_init" variable_2="q_S01_init"/>
        <map_variables variable_1="q_S11_init" variable_2="q_S11_init"/>
        <map_variables variable_1="q_S21_init" variable_2="q_S21_init"/>
        <map_variables variable_1="q_S31_init" variable_2="q_S31_init"/>
        <map_variables variable_1="K_S00" variable_2="K_S00"/>
        <map_variables variable_1="K_S10" variable_2="K_S10"/>
        <map_variables variable_1="K_S20" variable_2="K_S20"/>
        <map_variables variable_1="K_S30" variable_2="K_S30"/>
        <map_variables variable_1="K_S01" variable_2="K_S01"/>
        <map_variables variable_1="K_S11" variable_2="K_S11"/>
        <map_variables variable_1="K_S21" variable_2="K_S21"/>
        <map_variables variable_1="K_S31" variable_2="K_S31"/>
        <map_variables variable_1="kappa_m10" variable_2="kappa_m10"/>
        <map_variables variable_1="kappa_m20" variable_2="kappa_m20"/>
        <map_variables variable_1="kappa_m30" variable_2="kappa_m30"/>
        <map_variables variable_1="kappa_m11" variable_2="kappa_m11"/>
        <map_variables variable_1="kappa_m21" variable_2="kappa_m21"/>
        <map_variables variable_1="kappa_m31" variable_2="kappa_m31"/>
        <map_variables variable_1="kappa_h0" variable_2="kappa_h0"/>
        <map_variables variable_1="kappa_h1" variable_2="kappa_h1"/>
        <map_variables variable_1="kappa_h2" variable_2="kappa_h2"/>
        <map_variables variable_1="kappa_h3" variable_2="kappa_h3"/>
        <map_variables variable_1="z_m_f" variable_2="z_m_f"/>
        <map_variables variable_1="z_m_r" variable_2="z_m_r"/>
        <map_variables variable_1="z_h_f" variable_2="z_h_f"/>
        <map_variables variable_1="z_h_r" variable_2="z_h_r"/>
        <map_variables variable_1="I_Na" variable_2="I_Na"/>
        <map_variables variable_1="V_m" variable_2="V_m"/>
        <map_variables variable_1="q_S00" variable_2="q_S00"/>
        <map_variables variable_1="q_S10" variable_2="q_S10"/>
        <map_variables variable_1="q_S20" variable_2="q_S20"/>
        <map_variables variable_1="q_S30" variable_2="q_S30"/>
        <map_variables variable_1="q_S01" variable_2="q_S01"/>
        <map_variables variable_1="q_S11" variable_2="q_S11"/>
        <map_variables variable_1="q_S21" variable_2="q_S21"/>
        <map_variables variable_1="q_S31" variable_2="q_S31"/>
        <map_variables variable_1="A_g_Na" variable_2="A_g_Na"/>
    </connection>
    <connection>
        <map_components component_1="AP_BG" component_2="IK_BG"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="t" variable_2="t"/>
        <map_variables variable_1="kappa_K" variable_2="kappa_K"/>
        <map_variables variable_1="z_K" variable_2="z_K"/>
        <map_variables variable_1="K_i_K" variable_2="K_i_K"/>
        <map_variables variable_1="q_i_K_init" variable_2="q_i_K_init"/>
        <map_variables variable_1="K_e_K" variable_2="K_e_K"/>
        <map_variables variable_1="q_e_K_init" variable_2="q_e_K_init"/>
        <map_variables variable_1="q_S0_init" variable_2="q_S0_init"/>
        <map_variables variable_1="q_S1_init" variable_2="q_S1_init"/>
        <map_variables variable_1="q_S2_init" variable_2="q_S2_init"/>
        <map_variables variable_1="q_S3_init" variable_2="q_S3_init"/>
        <map_variables variable_1="q_S4_init" variable_2="q_S4_init"/>
        <map_variables variable_1="K_S0" variable_2="K_S0"/>
        <map_variables variable_1="K_S1" variable_2="K_S1"/>
        <map_variables variable_1="K_S2" variable_2="K_S2"/>
        <map_variables variable_1="K_S3" variable_2="K_S3"/>
        <map_variables variable_1="K_S4" variable_2="K_S4"/>
        <map_variables variable_1="kappa_n1" variable_2="kappa_n1"/>
        <map_variables variable_1="kappa_n2" variable_2="kappa_n2"/>
        <map_variables variable_1="kappa_n3" variable_2="kappa_n3"/>
        <map_variables variable_1="kappa_n4" variable_2="kappa_n4"/>
        <map_variables variable_1="z_n_f" variable_2="z_n_f"/>
        <map_variables variable_1="z_n_r" variable_2="z_n_r"/>
        <map_variables variable_1="I_K" variable_2="I_K"/>
        <map_variables variable_1="V_m" variable_2="V_m"/>
        <map_variables variable_1="q_S0" variable_2="q_S0"/>
        <map_variables variable_1="q_S1" variable_2="q_S1"/>
        <map_variables variable_1="q_S2" variable_2="q_S2"/>
        <map_variables variable_1="q_S3" variable_2="q_S3"/>
        <map_variables variable_1="q_S4" variable_2="q_S4"/>
        <map_variables variable_1="A_g_K" variable_2="A_g_K"/>
    </connection>
    <connection>
        <map_components component_1="AP_BG" component_2="Ileak_BG"/>
        <map_variables variable_1="g_leak" variable_2="g_leak"/>
        <map_variables variable_1="V_leak" variable_2="V_leak"/>
        <map_variables variable_1="I_leak" variable_2="I_leak"/>
        <map_variables variable_1="V_m" variable_2="V_m"/>
    </connection>
</model>