Main Content

Determining the Stoichiometry Matrix for a Model

What Is a Stoichiometry Matrix?

A stoichiometry matrix provides stoichiometric information about reactants and products in model reactions. It lets you easily determine:

  • The reactants and products in a specific reaction in a model, including the stoichiometric value of the reactants and products

  • The reactions that a specific species is part of, and whether the species is a reactant or product in that reaction

A stoichiometry matrix is an M-by-R matrix, where M equals the total number of species in a model, and R equals the total number of reactions in a model. Each row corresponds to a species, and each column corresponds to a reaction.

The matrix indicates which species and reactions are involved as reactants and products:

  • Reactants are represented in the matrix with their stoichiometric value at the appropriate location (row of species, column of reaction). Reactants appear as negative values.

  • Products are represented in the matrix with their stoichiometric value at the appropriate location (row of species, column of reaction). Products appear as positive values.

  • All other locations in the matrix contain a 0.

For example, consider a model object containing two reactions. One reaction (named R1) is equal to 2 A + B -> 3 C, and the other reaction (named R2) is equal to B + 3 D -> 4 A. The stoichiometry matrix is:

      R1   R2
A     -2    4
B     -1   -1
C      3    0
D      0   -3

Get Stoichiometry Matrix of SimBiology Model

Load the lotka model.

m1 = sbmlimport('lotka.xml');

Get the stoichiometry matrix of the model.

[M,objSpecies,objReactions] = getstoichmatrix(m1)
M = 4x3 sparse double matrix (5 nonzeros)
   (2,1)        1
   (2,2)       -1
   (3,2)        1
   (3,3)       -1
   (4,3)        1

objSpecies = 4x1 cell
    {'x' }
    {'y1'}
    {'y2'}
    {'z' }

objReactions = 3x1 cell
    {'Reaction1'}
    {'Reaction2'}
    {'Reaction3'}

See Also

Related Topics