Removing the Reaction Element in CellML Models

A guide to recoding models which contain the reaction element into models without the reaction element.

What is the Reaction Element?

The flexibility of the CellML language means it can be used to describe many different physiological processes which occur over a range of spatial and temporal scales. Such processes included signal transduction pathways, metabolic pathways, cell division cycles, and electrophysiological phenomena in excitable cells. While it is possible to specify a model purely in terms of equations expressed in MathML, when the CellML language was first defined a reaction element was included. This reaction element was designed to describe individual steps in a reaction pathway or network, and it included a description of the reaction kinetics, the identites of the reactants and products, and also identified any enzyme catalysts or inhibitors. The justification for the inclusion of the reaction element in the CellML specification was because it was felt valuable information about the reaction would be lost if the model was reduced to pure mathematics.

Removing the Reaction Element

However, in practice we found implementing the reaction element in a CellML model often required the equations to be re-written, such that they no longer reflected theose in the original publication. At best this created extra work and some confusion, at worst it broke the model. Consequently we have decided to remove the reaction element from the CellML 1.2 specification. Reaction information will not be lost because in the future we intend to implement the use of an ontology to label the model variables as reactants, enzymes, products etc., and this information will be stored as metadata.

Rewriting the Reaction Models

In the meantime, we have been left with many models in the CellML repository which include the reaction element. The majority of these have already been re-written and the reaction element has been replaced by simple mathematical equations. As part of this process many of the CellML models have been fixed, such that they are now capable of replicating the results of the published model.

In most cases we found the structure of a model with and without the reaction element was so different it necessitated completely re-writing the model. In this way we were able to translate approximately three quarters of the reaction models in the CellM model repository. Where we were unable to translate the models it was usually because the original published paper did not contain sufficient information. In particular the reaction element supported qualitative models, defined as models which consist solely of information about how the different chemical species in the pathway relate, and contain no mathematics. As such there is no mathematical representation of these models, and we were unable to re-write them without the reaction element.

How to Recode a CellML Model to Remove the Reaction Element

  1. Assess whether or not the publication contains a complete, quantitative model with sufficient data to translate it into a working CellML model.
  2. Assuming it does, the model is best re-written from scratch, either following the structure outlined in the published paper, or by breaking the model down into a set of differential equations representing the reactions and the changing concentration of reactants and products as the sum of these fluxes.
  3. Here we highlight, using a simple example, how the reaction element can be removed from the CellML model:
    A + B <---> C
    Where A and B are the reactants, C is the product, it's a simple mass action reaction with no catalysts or inhibitors, and the reaction is non-reversible.

With the reaction element:

Each substrate (A, B, C, etc.) is defined in its own component and its changing concentration is defined by a differential equation, calculated as the sum of the imported reaction fluxes:


Example to come.


Each reaction is also defined in its own component, and the reaction element assigns a role to the imported substrates such as reactant (A&B) or product (C), and states whether or not the reaction is reversible (in this example it is). The stoichiometry attribute defines the stoichiometry of a variable relative to the other reaction participants the direction attribute defines which direction the referenced, variable serves as reactant or product, while the delta variable represents the change in the concentration of the variable due to its involvement in the current reaction.


Example to come.


Without the reaction element:


Example to come.


It is relatively straight forward to extract the variable information and the mathematical equation from the CellML reaction element, as illustrated above. However, the reaction element also contains a lot of other descriptive information which we do not wish to lose. It is our intention that this information will be captured in the model metadata using OWL ontologies. We are currently working on the best method of implementation for this, and we will describe this process as soon as it has been finalised.