Location: BG_composite_M2 @ a937e7e137dc / BG_M2_composite.cellml

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-09-09 16:29:05+12:00
Desc:
Calling new submodules from cellml
Permanent Source URI:
https://models.cellml.org/workspace/700/rawfile/a937e7e137dc3338f8fe5c4fa5505ca4cbe7f2dd/BG_M2_composite.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="BG_muscarinic_composite" 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="per_sec" units_ref="per_sec"/>
        <units name="J_per_K_per_mol" units_ref="J_per_K_per_mol"/>
        <units name="C_per_mol" units_ref="C_per_mol"/>
        <units name="fmol" units_ref="fmol"/>
        <units name="fmol_per_L" units_ref="fmol_per_L"/>
        <units name="fmol_per_L_per_sec" units_ref="fmol_per_L_per_sec"/>
        <units name="per_sec_per_fmol_per_L" units_ref="per_sec_per_fmol_per_L"/>
        <units name="per_fmol" units_ref="per_fmol"/>
        <units name="fmol_per_sec" units_ref="fmol_per_sec"/>
        <units name="J_per_mol" units_ref="J_per_mol"/>
        <units name="mM" units_ref="mM"/>
        <units name="uM" units_ref="uM"/>
        <units name="mM_per_sec" units_ref="mM_per_sec"/>
        <units name="uM_per_sec" units_ref="uM_per_sec"/>
        <units name="pL" units_ref="pL"/>
        <units name="m_to_u" units_ref="m_to_u"/>
    </import>
    <import xlink:href="units_and_constants/constants_BG.cellml">
        <component component_ref="constants" name="constants"/>
    </import>
    <import xlink:href="6f9/BG_GiProtein.cellml">
        <component component_ref="GiProtein" name="GiProtein"/>
    </import>
    <import xlink:href="6f7/BG_LRGbinding.cellml">
        <component component_ref="LRGbinding" name="LRGbinding"/>
    </import>
    <component name="muscarinic_parameters">
        <variable initial_value="238142" name="kappa_sig1" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="266.437" name="kappa_sig2" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="3304.28" name="kappa_sig3" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="53920.1" name="kappa_sig4" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="0.00103925" name="kappa_act1" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="1.69088e-05" name="kappa_act2" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="0.0682376" name="kappa_hyd" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="76.6955" name="kappa_reassoc" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="0.190462" name="K_L" public_interface="out" units="per_fmol"/>
        <variable initial_value="0.0844987" name="K_R" public_interface="out" units="per_fmol"/>
        <variable initial_value="0.00948347" name="K_G" public_interface="out" units="per_fmol"/>
        <variable initial_value="5.77509" name="K_LR" public_interface="out" units="per_fmol"/>
        <variable initial_value="16.2165" name="K_RG" public_interface="out" units="per_fmol"/>
        <variable initial_value="17.9264" name="K_LRG" public_interface="out" units="per_fmol"/>
        <variable initial_value="0.0164815" name="K_a_GTP" public_interface="out" units="per_fmol"/>
        <variable initial_value="0.0731915" name="K_beta_gamma" public_interface="out" units="per_fmol"/>
        <variable initial_value="0.00880903" name="K_a_GDP" public_interface="out" units="per_fmol"/>
    </component>
    <component name="environment">
        <variable name="time" public_interface="out" units="second"/>
        <!-- initial conditions-->
        <variable name="q_L_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_LRG_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_LR_init" units="fmol"/>
        <variable initial_value="0.00072" name="q_R_init" units="fmol"/>
        <variable initial_value="0.00836" name="q_G_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_RG_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_a_GTP_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_beta_gamma_init" units="fmol"/>
        <variable initial_value="1e-16" name="q_a_GDP_init" units="fmol"/>
        <!-- Iancu: Acetylcholine stimulus = 10uM = 0.38 fmol. then it becomes zero, not 1e-3. opencor struggles, but exporting to matlab works fine!-->
        <variable initial_value="0.38" name="q_L_max" units="fmol"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>q_L_init</ci>
                <piecewise>
                    <piece>
                        <ci>q_L_max</ci>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>time</ci>
                                <cn cellml:units="second">0</cn>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>time</ci>
                                <cn cellml:units="second">0.1</cn>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <times/>
                            <ci>q_L_max</ci>
                            <apply>
                                <minus/>
                                <cn cellml:units="second">1</cn>
                                <ci>time</ci>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>time</ci>
                                <cn cellml:units="second">0.1</cn>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>time</ci>
                                <cn cellml:units="second">0.99</cn>
                            </apply>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="fmol" type="e-notation">1<sep/>-3</cn>
                    </otherwise>
                </piecewise>
            </apply>
        </math>
        <!-- from submodules-->
        <variable name="q_R_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_G_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_RG_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_LR_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_LRG_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_a_GTP_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_beta_gamma_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_a_GDP_mGiProtein" public_interface="in" units="fmol"/>
        <variable name="q_L_mLRGbinding" public_interface="in" units="fmol"/>
        <variable name="q_R_mLRGbinding" public_interface="in" units="fmol"/>
        <variable name="q_G_mLRGbinding" public_interface="in" units="fmol"/>
        <variable name="q_LR_mLRGbinding" public_interface="in" units="fmol"/>
        <variable name="q_RG_mLRGbinding" public_interface="in" units="fmol"/>
        <variable name="q_LRG_mLRGbinding" public_interface="in" units="fmol"/>
        <!-- Global values-->
        <variable name="q_L" public_interface="out" units="fmol"/>
        <variable name="q_LRG" public_interface="out" units="fmol"/>
        <variable name="q_LR" public_interface="out" units="fmol"/>
        <variable name="q_R" public_interface="out" units="fmol"/>
        <variable name="q_G" public_interface="out" units="fmol"/>
        <variable name="q_RG" public_interface="out" units="fmol"/>
        <variable name="q_a_GTP" public_interface="out" units="fmol"/>
        <variable name="q_beta_gamma" public_interface="out" units="fmol"/>
        <variable name="q_a_GDP" public_interface="out" units="fmol"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>q_L</ci>
                <apply>
                    <plus/>
                    <ci>q_L_mLRGbinding</ci>
                    <ci>q_L_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_R</ci>
                <apply>
                    <plus/>
                    <ci>q_R_mLRGbinding</ci>
                    <ci>q_R_mGiProtein</ci>
                    <ci>q_R_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_G</ci>
                <apply>
                    <plus/>
                    <ci>q_G_mLRGbinding</ci>
                    <ci>q_G_mGiProtein</ci>
                    <ci>q_G_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_LR</ci>
                <apply>
                    <plus/>
                    <ci>q_LR_mLRGbinding</ci>
                    <ci>q_LR_mGiProtein</ci>
                    <ci>q_LR_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_RG</ci>
                <apply>
                    <plus/>
                    <ci>q_RG_mLRGbinding</ci>
                    <ci>q_RG_mGiProtein</ci>
                    <ci>q_RG_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_LRG</ci>
                <apply>
                    <plus/>
                    <ci>q_LRG_mLRGbinding</ci>
                    <ci>q_LRG_mGiProtein</ci>
                    <ci>q_LRG_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_a_GTP</ci>
                <apply>
                    <plus/>
                    <ci>q_a_GTP_mGiProtein</ci>
                    <ci>q_a_GTP_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_beta_gamma</ci>
                <apply>
                    <plus/>
                    <ci>q_beta_gamma_mGiProtein</ci>
                    <ci>q_beta_gamma_init</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_a_GDP</ci>
                <apply>
                    <plus/>
                    <ci>q_a_GDP_mGiProtein</ci>
                    <ci>q_a_GDP_init</ci>
                </apply>
            </apply>
        </math>
    </component>
    <connection>
        <map_components component_1="environment" component_2="LRGbinding"/>
        <map_variables variable_1="time" variable_2="time"/>
        <map_variables variable_1="q_L_mLRGbinding" variable_2="q_L"/>
        <map_variables variable_1="q_L" variable_2="q_L_global"/>
        <map_variables variable_1="q_R_mLRGbinding" variable_2="q_R"/>
        <map_variables variable_1="q_R" variable_2="q_R_global"/>
        <map_variables variable_1="q_G_mLRGbinding" variable_2="q_G"/>
        <map_variables variable_1="q_G" variable_2="q_G_global"/>
        <map_variables variable_1="q_LR_mLRGbinding" variable_2="q_LR"/>
        <map_variables variable_1="q_LR" variable_2="q_LR_global"/>
        <map_variables variable_1="q_RG_mLRGbinding" variable_2="q_RG"/>
        <map_variables variable_1="q_RG" variable_2="q_RG_global"/>
        <map_variables variable_1="q_LRG_mLRGbinding" variable_2="q_LRG"/>
        <map_variables variable_1="q_LRG" variable_2="q_LRG_global"/>
    </connection>
    <connection>
        <map_components component_1="environment" component_2="GiProtein"/>
        <map_variables variable_1="time" variable_2="time"/>
        <map_variables variable_1="q_R_mGiProtein" variable_2="q_R"/>
        <map_variables variable_1="q_R" variable_2="q_R_global"/>
        <map_variables variable_1="q_G_mGiProtein" variable_2="q_G"/>
        <map_variables variable_1="q_G" variable_2="q_G_global"/>
        <map_variables variable_1="q_RG_mGiProtein" variable_2="q_RG"/>
        <map_variables variable_1="q_RG" variable_2="q_RG_global"/>
        <map_variables variable_1="q_LR_mGiProtein" variable_2="q_LR"/>
        <map_variables variable_1="q_LR" variable_2="q_LR_global"/>
        <map_variables variable_1="q_LRG_mGiProtein" variable_2="q_LRG"/>
        <map_variables variable_1="q_LRG" variable_2="q_LRG_global"/>
        <map_variables variable_1="q_a_GTP_mGiProtein" variable_2="q_a_GTP"/>
        <map_variables variable_1="q_a_GTP" variable_2="q_a_GTP_global"/>
        <map_variables variable_1="q_beta_gamma_mGiProtein" variable_2="q_beta_gamma"/>
        <map_variables variable_1="q_beta_gamma" variable_2="q_beta_gamma_global"/>
        <map_variables variable_1="q_a_GDP_mGiProtein" variable_2="q_a_GDP"/>
        <map_variables variable_1="q_a_GDP" variable_2="q_a_GDP_global"/>
    </connection>
    <connection>
        <map_components component_1="muscarinic_parameters" component_2="LRGbinding"/>
        <map_variables variable_1="kappa_sig1" variable_2="kappa_sig1"/>
        <map_variables variable_1="kappa_sig2" variable_2="kappa_sig2"/>
        <map_variables variable_1="kappa_sig3" variable_2="kappa_sig3"/>
        <map_variables variable_1="kappa_sig4" variable_2="kappa_sig4"/>
        <map_variables variable_1="K_L" variable_2="K_L"/>
        <map_variables variable_1="K_R" variable_2="K_R"/>
        <map_variables variable_1="K_G" variable_2="K_G"/>
        <map_variables variable_1="K_LR" variable_2="K_LR"/>
        <map_variables variable_1="K_RG" variable_2="K_RG"/>
        <map_variables variable_1="K_LRG" variable_2="K_LRG"/>
    </connection>
    <connection>
        <map_components component_1="muscarinic_parameters" component_2="GiProtein"/>
        <map_variables variable_1="kappa_act1" variable_2="kappa_act1"/>
        <map_variables variable_1="kappa_act2" variable_2="kappa_act2"/>
        <map_variables variable_1="kappa_hyd" variable_2="kappa_hyd"/>
        <map_variables variable_1="kappa_reassoc" variable_2="kappa_reassoc"/>
        <map_variables variable_1="K_LRG" variable_2="K_LRG"/>
        <map_variables variable_1="K_R" variable_2="K_R"/>
        <map_variables variable_1="K_RG" variable_2="K_RG"/>
        <map_variables variable_1="K_G" variable_2="K_G"/>
        <map_variables variable_1="K_LR" variable_2="K_LR"/>
        <map_variables variable_1="K_a_GTP" variable_2="K_a_GTP"/>
        <map_variables variable_1="K_beta_gamma" variable_2="K_beta_gamma"/>
        <map_variables variable_1="K_a_GDP" variable_2="K_a_GDP"/>
    </connection>
    <connection>
        <map_components component_1="constants" component_2="LRGbinding"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
    </connection>
    <connection>
        <map_components component_1="constants" component_2="GiProtein"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
    </connection>
</model>