- Author:
- Randall Britten <r.britten@auckland.ac.nz>
- Date:
- 2013-04-17 15:30:14+12:00
- Desc:
- To "clone" an imported component, the top level import element needs to be duplicated, not just the component reference within an existing import. The rationale is that all connections within a top-level import are kept intact, as dictated by the encapsulation in the imported model.
- Permanent Source URI:
- https://models.cellml.org/w/matthiaskoenig/MetabolicComponentLibrary/rawfile/702b54b45018b04ef1bc074677379dc20d983234/examples/Example_MassAction_2.cellml
<?xml version="1.0"?>
<!--
--><model xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cmeta="http://www.cellml.org/metadata/1.1#" cmeta:id="Example_MassAction_2" name="Example_MassAction_2">
<import xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="MetabolicComponentLibrary-v0.1.cellml">
<component component_ref="MassActionUniUniRev" name="R1_MassActionUniUniRev"/>
<units name="mM" units_ref="mM"/><units name="per_second" units_ref="per_second"/>
<units name="mM_per_second" units_ref="mM_per_second"/>
<units name="per_mM_per_second" units_ref="per_mM_per_second"/>
<units name="per_mM" units_ref="per_mM"/>
</import>
<component name="Network">
<variable name="t" units="second"/>
<variable name="v1" public_interface="in" units="mM_per_second"/>
<variable name="v2" public_interface="in" units="mM_per_second"/>
<variable initial_value="1" name="A" public_interface="out" units="mM"/>
<variable initial_value="0" name="B" public_interface="out" units="mM"/>
<variable initial_value="0" name="C" public_interface="out" units="mM"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>A</ci>
</apply>
<apply>
<minus/>
<ci>v1</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>B</ci>
</apply>
<apply>
<minus/>
<ci>v1</ci>
<ci>v2</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>C</ci>
</apply>
<ci>v2</ci>
</apply>
</math>
</component>
<component name="Reaction_1">
<variable name="v1" private_interface="in" public_interface="out" units="mM_per_second"/>
<variable name="A" private_interface="out" public_interface="in" units="mM"/>
<variable name="B" private_interface="out" public_interface="in" units="mM"/>
<variable name="k_f" private_interface="out" units="per_second"/>
<variable name="k_b" private_interface="out" units="per_second"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>k_f</ci>
<cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_second">10</cn>
</apply>
<apply>
<eq/>
<ci>k_b</ci>
<cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_second">3</cn>
</apply>
</math>
</component>
<component name="Reaction_2">
<variable name="v2" private_interface="in" public_interface="out" units="mM_per_second"/>
<variable name="B" private_interface="out" public_interface="in" units="mM"/>
<variable name="C" private_interface="out" public_interface="in" units="mM"/>
<variable name="k_f" private_interface="out" units="per_second"/>
<variable name="k_b" private_interface="out" units="per_second"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>k_f</ci>
<cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_second">8</cn>
</apply>
<apply>
<eq/>
<ci>k_b</ci>
<cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_second">6</cn>
</apply>
</math>
</component>
<group>
<relationship_ref relationship="encapsulation"/>
<component_ref component="Reaction_1">
<component_ref component="R1_MassActionUniUniRev"/>
</component_ref>
</group>
<group>
<relationship_ref relationship="encapsulation"/>
<component_ref component="Reaction_2">
<component_ref component="R2_MassActionUniUniRev"/>
</component_ref>
</group>
<connection>
<map_components component_1="Network" component_2="Reaction_1"/>
<map_variables variable_1="v1" variable_2="v1"/>
<map_variables variable_1="A" variable_2="A"/>
<map_variables variable_1="B" variable_2="B"/>
</connection>
<connection>
<map_components component_1="Network" component_2="Reaction_2"/>
<map_variables variable_1="v2" variable_2="v2"/>
<map_variables variable_1="B" variable_2="B"/>
<map_variables variable_1="C" variable_2="C"/>
</connection>
<connection>
<map_components component_1="Reaction_1" component_2="R1_MassActionUniUniRev"/>
<map_variables variable_1="v1" variable_2="J"/>
<map_variables variable_1="A" variable_2="S"/>
<map_variables variable_1="B" variable_2="P"/>
<map_variables variable_1="k_f" variable_2="k_f"/>
<map_variables variable_1="k_b" variable_2="k_b"/>
</connection>
<connection>
<map_components component_1="Reaction_2" component_2="R2_MassActionUniUniRev"/>
<map_variables variable_1="v2" variable_2="J"/>
<map_variables variable_1="B" variable_2="S"/>
<map_variables variable_1="C" variable_2="P"/>
<map_variables variable_1="k_f" variable_2="k_f"/>
<map_variables variable_1="k_b" variable_2="k_b"/>
</connection>
<import xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="MetabolicComponentLibrary-v0.1.cellml">
<component component_ref="MassActionUniUniRev" name="R2_MassActionUniUniRev"/>
</import>
</model>