- Author:
- Shelley Fong <s.fong@auckland.ac.nz>
- Date:
- 2021-09-06 18:00:23+12:00
- Desc:
- Fixing stoich matrix and exporting all variables form module to global environment in cellml
- Permanent Source URI:
- https://models.cellml.org/workspace/6f9/rawfile/83e6482b04bce2113b5223ea7176e404a1412559/BG_GiProtein.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="BG_GiProtein" 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>
<component name="environment">
<variable name="time" public_interface="out" units="second"/>
<variable initial_value="1e-6" name="q_LRG_init" units="fmol"/>
<variable initial_value="1.697e-06" name="q_LR_init" units="fmol"/>
<variable initial_value="0.000219725" name="q_R_init" units="fmol"/>
<variable initial_value="0.145305" name="q_G_init" units="fmol"/>
<variable initial_value="1e-6" name="q_RG_init" units="fmol"/>
<variable initial_value="0.0009519" name="q_a_GTP_init" units="fmol"/>
<variable initial_value="0.00097622" name="q_beta_gamma_init" units="fmol"/>
<variable initial_value="2.44948e-05" name="q_a_GDP_init" units="fmol"/>
<!-- -->
<variable name="q_LRG_GiP" public_interface="in" units="fmol"/>
<variable name="q_LR_GiP" public_interface="in" units="fmol"/>
<variable name="q_R_GiP" public_interface="in" units="fmol"/>
<variable name="q_G_GiP" public_interface="in" units="fmol"/>
<variable name="q_RG_GiP" public_interface="in" units="fmol"/>
<variable name="q_a_GTP_GiP" public_interface="in" units="fmol"/>
<variable name="q_beta_gamma_GiP" public_interface="in" units="fmol"/>
<variable name="q_a_GDP_GiP" public_interface="in" units="fmol"/>
<!-- -->
<variable name="q_LRG" units="fmol"/>
<variable name="q_LR" units="fmol"/>
<variable name="q_R" units="fmol"/>
<variable name="q_G" units="fmol"/>
<variable name="q_RG" units="fmol"/>
<variable name="q_a_GTP" units="fmol"/>
<variable name="q_beta_gamma" units="fmol"/>
<variable name="q_a_GDP" units="fmol"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>q_LRG</ci>
<apply>
<plus/>
<ci>q_LRG_init</ci>
<ci>q_LRG_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_LR</ci>
<apply>
<plus/>
<ci>q_LR_init</ci>
<ci>q_LR_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_R</ci>
<apply>
<plus/>
<ci>q_R_init</ci>
<ci>q_R_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_G</ci>
<apply>
<plus/>
<ci>q_G_init</ci>
<ci>q_G_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_RG</ci>
<apply>
<plus/>
<ci>q_RG_init</ci>
<ci>q_RG_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_a_GTP</ci>
<apply>
<plus/>
<ci>q_a_GTP_init</ci>
<ci>q_a_GTP_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_beta_gamma</ci>
<apply>
<plus/>
<ci>q_beta_gamma_init</ci>
<ci>q_beta_gamma_GiP</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_a_GDP</ci>
<apply>
<plus/>
<ci>q_a_GDP_init</ci>
<ci>q_a_GDP_GiP</ci>
</apply>
</apply>
</math>
</component>
<component name="GiProtein_parameters">
<variable initial_value="0.0262364" name="kappa_act1" units="fmol_per_sec"/>
<variable initial_value="0.00712165" name="kappa_act2" units="fmol_per_sec"/>
<variable initial_value="0.0166591" name="kappa_hyd" units="fmol_per_sec"/>
<variable initial_value="6992.75" name="kappa_reassoc" units="fmol_per_sec"/>
<variable initial_value="8.00405e-06" name="K_R" units="per_fmol"/>
<variable initial_value="5.03013e-06" name="K_G" units="per_fmol"/>
<variable initial_value="2.76998" name="K_RG" units="per_fmol"/>
<variable initial_value="2.94872e-05" name="K_LR" units="per_fmol"/>
<variable initial_value="0.204094" name="K_LRG" units="per_fmol"/>
<variable initial_value="1.39598" name="K_a_GTP" units="per_fmol"/>
<variable initial_value="0.0837972" name="K_beta_gamma" units="per_fmol"/>
<variable initial_value="0.00174498" name="K_a_GDP" units="per_fmol"/>
</component>
<component name="GiProtein">
<variable name="time" public_interface="in" units="second"/>
<!-- Physical parameters-->
<variable name="R" public_interface="in" units="J_per_K_per_mol"/>
<variable name="T" public_interface="in" units="kelvin"/>
<!-- BG parameters-->
<variable name="kappa_act1" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_act2" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_hyd" public_interface="in" units="fmol_per_sec"/>
<variable name="kappa_reassoc" public_interface="in" units="fmol_per_sec"/>
<variable name="K_LRG" public_interface="in" units="per_fmol"/>
<variable name="K_R" public_interface="in" units="per_fmol"/>
<variable name="K_G" public_interface="in" units="per_fmol"/>
<variable name="K_LR" public_interface="in" units="per_fmol"/>
<variable name="K_RG" public_interface="in" units="per_fmol"/>
<variable name="K_a_GTP" public_interface="in" units="per_fmol"/>
<variable name="K_beta_gamma" public_interface="in" units="per_fmol"/>
<variable name="K_a_GDP" public_interface="in" units="per_fmol"/>
<!-- States (and initial conditions)-->
<variable initial_value="1e-16" name="q_LRG" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_LR" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_R" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_G" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_RG" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_a_GTP" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_beta_gamma" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_a_GDP" public_interface="out" units="fmol"/>
<!-- input from global environment-->
<variable name="q_R_global" public_interface="in" units="fmol"/>
<variable name="q_G_global" public_interface="in" units="fmol"/>
<variable name="q_RG_global" public_interface="in" units="fmol"/>
<variable name="q_LRG_global" public_interface="in" units="fmol"/>
<variable name="q_LR_global" public_interface="in" units="fmol"/>
<variable name="q_a_GTP_global" public_interface="in" units="fmol"/>
<variable name="q_beta_gamma_global" public_interface="in" units="fmol"/>
<variable name="q_a_GDP_global" public_interface="in" units="fmol"/>
<!-- Bond variables-->
<variable name="vact1" units="fmol_per_sec"/>
<variable name="vact2" units="fmol_per_sec"/>
<variable name="vhyd" units="fmol_per_sec"/>
<variable name="vreassoc" units="fmol_per_sec"/>
<variable name="mu_R" units="J_per_mol"/>
<variable name="mu_G" units="J_per_mol"/>
<variable name="mu_RG" units="J_per_mol"/>
<variable name="mu_LR" units="J_per_mol"/>
<variable name="mu_LRG" units="J_per_mol"/>
<variable name="mu_a_GTP" units="J_per_mol"/>
<variable name="mu_beta_gamma" units="J_per_mol"/>
<variable name="mu_a_GDP" units="J_per_mol"/>
<!-- Constitutive equations-->
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>mu_R</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_R</ci>
<ci>q_R_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_G</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_G</ci>
<ci>q_G_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_RG</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_RG</ci>
<ci>q_RG_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_LR</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_LR</ci>
<ci>q_LR_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_LRG</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_LRG</ci>
<ci>q_LRG_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_a_GTP</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_a_GTP</ci>
<ci>q_a_GTP_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_beta_gamma</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_beta_gamma</ci>
<ci>q_beta_gamma_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_a_GDP</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_a_GDP</ci>
<ci>q_a_GDP_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>vact1</ci>
<apply>
<times/>
<ci>kappa_act1</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>mu_RG</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>mu_a_GTP</ci>
<ci>mu_beta_gamma</ci>
<ci>mu_R</ci>
</apply>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>vact2</ci>
<apply>
<times/>
<ci>kappa_act2</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>mu_LRG</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>mu_a_GTP</ci>
<ci>mu_beta_gamma</ci>
<ci>mu_LR</ci>
</apply>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>vhyd</ci>
<apply>
<times/>
<ci>kappa_hyd</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<ci>mu_a_GTP</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>mu_a_GDP</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>vreassoc</ci>
<apply>
<times/>
<ci>kappa_reassoc</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>mu_a_GDP</ci>
<ci>mu_beta_gamma</ci>
</apply>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<ci>mu_G</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_R</ci>
</apply>
<ci>vact1</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_RG</ci>
</apply>
<apply>
<minus/>
<ci>vact1</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_G</ci>
</apply>
<ci>vreassoc</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_LR</ci>
</apply>
<ci>vact2</ci>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_LRG</ci>
</apply>
<apply>
<minus/>
<ci>vact2</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_a_GTP</ci>
</apply>
<apply>
<minus/>
<apply>
<plus/>
<ci>vact1</ci>
<ci>vact2</ci>
</apply>
<ci>vhyd</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_beta_gamma</ci>
</apply>
<apply>
<minus/>
<apply>
<plus/>
<ci>vact1</ci>
<ci>vact2</ci>
</apply>
<ci>vreassoc</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_a_GDP</ci>
</apply>
<apply>
<minus/>
<ci>vhyd</ci>
<ci>vreassoc</ci>
</apply>
</apply>
</math>
</component>
<connection>
<map_components component_1="environment" component_2="GiProtein"/>
<map_variables variable_1="time" variable_2="time"/>
<map_variables variable_1="q_LRG_GiP" variable_2="q_LRG"/>
<map_variables variable_1="q_LR_GiP" variable_2="q_LR"/>
<map_variables variable_1="q_R_GiP" variable_2="q_R"/>
<map_variables variable_1="q_G_GiP" variable_2="q_G"/>
<map_variables variable_1="q_RG_GiP" variable_2="q_RG"/>
<map_variables variable_1="q_a_GTP_GiP" variable_2="q_a_GTP"/>
<map_variables variable_1="q_beta_gamma_GiP" variable_2="q_beta_gamma"/>
<map_variables variable_1="q_a_GDP_GiP" variable_2="q_a_GDP"/>
<map_variables variable_1="q_LRG" variable_2="q_LRG_global"/>
<map_variables variable_1="q_LR" variable_2="q_LR_global"/>
<map_variables variable_1="q_R" variable_2="q_R_global"/>
<map_variables variable_1="q_G" variable_2="q_G_global"/>
<map_variables variable_1="q_RG" variable_2="q_RG_global"/>
<map_variables variable_1="q_a_GTP" variable_2="q_a_GTP_global"/>
<map_variables variable_1="q_beta_gamma" variable_2="q_beta_gamma_global"/>
<map_variables variable_1="q_a_GDP" variable_2="q_a_GDP_global"/>
</connection>
<connection>
<map_components component_1="GiProtein_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="GiProtein"/>
<map_variables variable_1="R" variable_2="R"/>
<map_variables variable_1="T" variable_2="T"/>
</connection>
</model>