two_reaction_model_doc

A Simple Two Reaction Pathway Model

A Simple Two Reaction Pathway Model

Author:
        Melanie Nelson (Physiome Sciences Inc.)
Collaborator:
        Warren Hedley (Bioengineering Institute, University of Auckland)

Introduction

This document continues the demonstration of recommended “best practices” for marking up models of biochemical reactions in CellML begun in the basic reaction example. The current example extends the basic reaction by adding a second reaction that uses one of the products from the first reaction. This demonstrates how a chemical species can participate in more than one reaction.

It is assumed that you are already familiar with the basic reaction example. Concepts covered in that example are not duplicated here.

You might find it helpful to refer to a full printout of the CellML document that makes up this example as you progress through this documentation. The various forms available online are presented in the section “Download This Model”.

Basic Model Structure

This model defines two reversible reactions:

A + B <-> 2C + D
C + E <-> F

The conventional rendering (pathway diagram) for the simple two reaction model is shown in Figure 1. In this rendering the reactants and products are shown as rounded rectangles on opposite ends of bidirectional arrows representing the reactions.

the conventional rendering of the simple two reaction model
Figure 1. The conventional rendering (pathway diagram) for the simple two reaction model.

In CellML, models are thought of as connected networks of discrete components. These components may correspond to physiologically separated regions or chemically distinct objects, or may be useful modelling abstractions. This simple two reaction model has eight components representing chemically distinct objects (six chemical species and two reactions) and one component defined purely for modelling convenience, which stores environment variables such as time. The CellML rendering of the simple two reaction model is shown in Figure 2 (the different shapes in the diagram are explained in the notation guide).

the cellml rendering of the simple reaction model
Figure 2. A network diagram for the simple two reaction example. The model has a component for each of the chemical species, a component for each reaction, and an “abstract” component that is used as a convenient container for the environment variable time. The variables in the model are shown next to the components in which their value may be modified, and alongside the connections along which they are passed to other components (where their value may not be modified). The environment component has not been included in this diagram.

Analysis of the XML

The model element and declaration of units

The root <model> element of the CellML model for this simple reaction is identical to the corresponding element in the simple electrophysiological model, and the set of <units> elements (defining new units for use in the model) is similar to the set defined in the simple electrophysiological model (readers should refer to the analysis of that model for discussion of these parts of the model).

The species C component

The components in this two reaction model are very similar to the components in the simple reaction model. Only the component representing the chemical species named C differs. This species is used in both reactions in the model, and therefore there are two delta variables: delta_C_rxn1 to represent the changes in the concentration of C due to the first reaction, and delta_C_rxn2 to represent the changes in the concentration of C due to the second reaction. The two delta variables are then summed to define the total rate of change of concentration of the chemical species C, as shown in Figure 3.


<component name="C">
<variable name="C" public_interface="out" units="concentration_units" />
<variable name="delta_C_rxn1" public_interface="in" units="flux_units" />
<variable name="delta_C_rxn2" public_interface="in" units="flux_units" />
<variable name="time" public_interface="in" units="second" />

<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><eq />
<apply><diff />
<bvar><ci> time </ci></bvar>
<ci> C </ci>
</apply>
<apply><plus />
<ci> delta_C_rxn1 </ci>
<ci> delta_C_rxn2 </ci>
</apply>
</apply>
</math>
</component>

Figure 3. The definition of the C component. This component represents a chemical species used in both reactions in the two reaction model, and therefore requires two delta variables.

The first_reaction component

The first reaction component (corresponding to “A + B <-> 2C + D”) is identical to the reaction component in the simple reaction model. The interesting thing to note is that the reaction doesn't care that one of the chemical species involved (C) is also involved in another reaction. The only component that “knows” this is the C component, which must declare two delta variables, one for each reaction. These two delta variables are mapped to the delta_C variables exposed by each of the reactions, as shown in the section “Connections”.

This approach makes the reaction components re-usable. Each reaction contains all of the information about reaction rates and stoichiometry and may be connected to any species components.

Connections

Most of the connections in the two reaction model are identical to those in the basic reaction model. However, the component representing the chemical species C is now connected to both the first_reaction and the second_reaction components, as shown in Figure 4. Note that the variable representing the concentration of C in the chemical species component is connected to corresponding variables in both reaction components. CellML allows modellers to connect a single output variable to multiple input variables.


<connection>
<map_components component_1="C" component_2="first_reaction">
<map_variables variable_1="C" variable_2="C" />
<map_variables variable_1="delta_C_rxn1" variable_2="delta_C" />
</map_components>
</connection>

<connection>
<map_components component_1="C" component_2="second_reaction">
<map_variables variable_1="C" variable_2="C" />
<map_variables variable_1="delta_C_rxn2" variable_2="delta_C" />
</map_components>
</connection>

Figure 4. The definition of the connections between the species C component and the two reaction components, with the associated variable mappings.

Download This Model

The CellML description of the model that this documentation discusses is available in a number of formats. If you have your browser set up to view text files served with the “text/xml” MIME type, then you can have a look at the XML file directly here. If not, you can save the target of that link to disk by shift-clicking on the preceding link. A “pretty-printed” browsable HTML version of the XML file is available here — note that you cannot download and save this version for later viewing since it makes use of stylesheets for formatting. If you wish to save or print out the “pretty-printed” version of the XML, a PDF version is also available here.

Here are those links again: