CellML.org - Progress Notes 20 January 2001

CellML Logo

Progress Notes 20 January 2001

Alternative Forms of Reaction Specification

Get
the PDF!

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

1  Introduction

In these meeting minutes we compare some of the solutions developed for specifying reactions using several simple example reactions. These reactions will probably appear as examples in the specification and they have been chosen to demonstrate a wide variety of reaction problems. The solutions developed are discussed in detail in the January 19 meeting minutes.

1.1  XML Formulation One

The delta_variable attributes appear on the <variable_ref> elements, and there is no stoichiometry attributes. All math is defined in a separate <math> element.

1.2  XML Formulation Two

Mathematics is moved into each <variable_ref> element adjacent to the <role> elements. We still have delta_variable attributes on <variable_ref> elements.

1.3  XML Formulation Three

delta_variable and stoichiometry attributes are moved on to the <role> elements. No mathematics for calculating the value of the delta variables is needed if both delta_variable and stoichiometry attributes exist on the same <role> element.

2  Simple Reversible Reaction


Equation

A + B <-> 2C + D

Description

A simple reversible reaction.

Picture

reaction picture

XML Formulation One

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_C" variable="C">
    
<role role="product" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
  
</variable_ref>

</reaction>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 ...
</math>


XML Formulation Two

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_A </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_B </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_C" variable="C">
    
<role role="product" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_C </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -2.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_D </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>


XML Formulation Three

<reaction reversible="yes">

  
<variable_ref variable="A">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_A"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="B">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_B"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role
        
role="product"
        
direction="forward"
        
delta_variable="delta_C"
        
stoichiometry="2" />
  
</variable_ref>

  
<variable_ref variable="D">
    
<role
        
role="product"
        
direction="forward"
        
delta_variable="delta_D"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>

3  Simple Reversible Reaction with Catalysis


Equation

A + B <-> D (catalyzed in the forward direction by C)

Description

A reversible reaction where C acts as a catalyst in the forward direction only.

Picture

reaction picture

XML Formulation One

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
  
</variable_ref>

</reaction>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 ...
</math>


XML Formulation Two

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_A </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>

  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_B </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>

  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_D </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>


XML Formulation Three

<reaction reversible="yes">

  
<variable_ref variable="A">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_A"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="B">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_B"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="D">
    
<role
        
role="product"
        
direction="forward"
        
delta_variable="delta_D"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>

4  Autophosphorylation


Equation

A + B <-> C (catalyzed by A in the forward direction)

Description

A autocatalyzes a reaction (e.g., an autophosphorylation, where B is phosphate).

Picture

reaction picture

XML Formulation One

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>

  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
  
</variable_ref>

</reaction>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 ...
</math>


XML Formulation Two

<reaction reversible="yes">

  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
    
<role role="catalyst" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_A </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_B </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_C" variable="C">
    
<role role="product" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_C </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>
  
</reaction>


XML Formulation Three

<reaction reversible="yes">

  
<variable_ref variable="A">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_A"
        
stoichiometry="1" />
    
<role role="catalyst" direction="forward" />
  
</variable_ref>

  
<variable_ref variable="B">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_B"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role
        
role="product"
        
direction="forward"
        
delta_variable="delta_C"
        
stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
  
</variable_ref>

</reaction>

5  Simple Reaction with Catalysis and Substrate Inhibition


Equation

A + B <-> D (catalyzed by C, inhibited by A)

Description

A reversible reaction in which the reverse reaction is inhibited by one of the substrates.

Picture

reaction picture

XML Formulation One

<reaction reversible="yes">
  
  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
    
<role role="inhibitor" direction="reverse" />
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
  
</variable_ref>
  
  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>
  
  
<variable_ref variable="D">
    
<role role="product" direction="forward" />
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
  
</variable_ref>

</reaction>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 ...
</math>


XML Formulation Two

<reaction reversible="yes">
  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" direction="forward" />
    
<role role="inhibitor" direction="reverse" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_A </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_B </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>
  
   
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_D </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>


XML Formulation Three

<reaction reversible="yes">
  
  
<variable_ref variable="A">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_A"
        
stoichiometry="1" />
    
<role
        
role="inhibitor"
        
direction="reverse"
        
delta_variable="delta_A"
        
stoichiometry="1" />
  
</variable_ref>
  
  
<variable_ref variable="B">
    
<role
        
role="reactant"
        
direction="forward"
        
delta_variable="delta_B"
        
stoichiometry="1" />
  
</variable_ref>
  
  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>
  
  
<variable_ref variable="D">
    
<role
        
role="product"
        
direction="forward"
        
delta_variable="delta_D"
        
stoichiometry="1" />
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" direction="forward" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>

6  Simple Reaction with Catalysis and Product Inhibition


Equation

A + B -> D (catalyzed by C, inhibited by D)

Description

An irreversible, catalyzed reaction that exhibits product-inhibition.

Picture

reaction picture

XML Formulation One

<reaction reversible="no">
  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" />
  
</variable_ref>
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" />
  
</variable_ref>
  
<variable_ref variable="C">
    
<role role="catalyst" />
  
</variable_ref>
  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" />
    
<role role="inhibitor" />
  
</variable_ref>
  
<variable_ref variable="r">
    
<role role="rate" />
  
</variable_ref>
</reaction>
<math xmlns="http://www.w3.org/1998/Math/MathML">
 ...
</math>


XML Formulation Two

<reaction reversible="no">
  
  
<variable_ref delta_variable="delta_A" variable="A">
    
<role role="reactant" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_A </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_B" variable="B">
    
<role role="reactant" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_B </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="C">
    
<role role="catalyst" direction="forward" />
  
</variable_ref>
  
  
<variable_ref delta_variable="delta_D" variable="D">
    
<role role="product" />
    
<role role="inhibitor" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<ci> delta_D </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> -1.0 </cn>
          
<ci> r </ci>
        
</apply>
      
</apply>
    
</math>
  
</variable_ref>
  
  
<variable_ref variable="r">
    
<role role="rate" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>
  
</reaction>


XML Formulation Three

<reaction reversible="no">

  
<variable_ref variable="A">
    
<role role="reactant" delta_variable="delta_A" stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="B">
    
<role role="reactant" delta_variable="delta_B" stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="C">
    
<role role="catalyst" />
  
</variable_ref>

  
<variable_ref variable="D">
    
<role role="product" delta_variable="delta_D" stoichiometry="1" />
    
<role role="inhibitor" stoichiometry="1" />
  
</variable_ref>

  
<variable_ref variable="r">
    
<role role="rate" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      ...
    
</math>
  
</variable_ref>

</reaction>

                                                                                

Valid HTML!Valid CSS!XML/XSL