In the above examples the task of specifying the stoichiometric matrix, N, was a simple one. However, for larger and more complex metabolic networks, the generation of these matrices can be tedious and error prone. The functions StoichiometryMatrix and NMatrix automate this process, thus generating the stoichiometic matrix from the list of reactions that constitute the metabolic scheme of interest.

NMatrixfeqn, extpars] |
generates a stoichiometry |

matrix for the reaction system | |

defined in the equation list eqn; it takes into | |

account the fact that the parameters in the list, | |

extpars, are any external parameters | |

StoichiometryMatrixf |
same as NMatrix except that it |

eqn, extpars] |
returns a stiochiometry matrix which has |

rows and columns labelled with metabolite | |

names and reaction names, respectively | |

SMatrixfeqn, extpars] |
generates the corresponding substrate list, S, for the |

reaction system defined by eqn and extpars | |

VMatrixfeqn] |
generates the corresponding reaction velocity list, |

v, for the reaction system defined by eqn |

Generating stoichiometry matrices and substrate lists.

Generating stoichiometry matrices and substrate lists.

Q: Generate a stoichiometry matrix, substrate list, and reaction velocity list for the following outline model of anaerobic energy metabolism in muscle:

where Eqns [4.5] - [4.8] describe glycolysis, various ATPases, creatine kinase, and myokinase, respectively. Assume that the concentrations of glucose and lactate remain constant. In other words, assume that the rate of input of glucose and the rate of removal of lactate from the system are such that the concentrations of these metabolites remain constant.

A: To generate the required matrices and lists we first need to input a list that contains the details of the reaction scheme in a format that the MetabolicControlAnalySiS package commands can recognise. This can be done with the following list of labelled eqnS:

There are a number of features to note about the format of eqns. The first is that each element of the list contains the name of the reaction and then the reaction written in conventional biochemical notation. The name that is entered for each reaction is used to index the reaction rate equation. For example, by naming the first reaction gly we have told Mathematica that its associated rate equation will be called v[gly]. So when we define the rate equation for this reaction we will need to give it the name v[gly]. It is, however, not necessary to give a name to each reaction. For example, if we had failed to name the reactions, the first reaction would then be called reaction number 1 with associated rate equation v[1], and so on. The other important feature in the format of eqns is the use of the arrow to separate the substrates from the products in each reaction. You can use any type of arrow you like to do this separation. The type that is used does not effect the final form of the stoichiometric matrix. In this example we have used one-way arrows to denote irreversible reactions and two-way arrows to denote reversible reactions, but this is only for our own benefit and it makes no difference to the generation of the stoichiometry matrix.

Having defined the equation list we are now in a position to use the functions SMatrix, NMatrix, and VMatrix from the MetabolicControlAnalysis package, to directly generate S, N, and v. This can be done with the following input:

S = SMatrix[eqns, {glc, lac}]; S // MatrixForm adp amp atp cr pcr ,phos ,

In generating the list of substrates we have given a list of the 'external' metabolites as the second argument of the SMatrix function. These are the metabolites whose concentrations are kept constant by some external processes. Having done this, the function then picked out all six of the 'internal' metabolites and has listed them in alphabetical order in the vector. This is the order used for the rows in the following stoichiometry matrix:

Similarly, the columns of N correspond to the following vector of reaction rate expressions:

Note that as mentioned above, each reaction rate in v is indexed by the names in the first column of eqns.

In the absence of generating S it would not be immediately obvious which row corresponds to which metabolite, and which column to which reaction. Thus it is useful to be able to generate an annotated form as is shown next. The order of the reactions is simply that used in the initial eqns list.

StoidhiometryMatrixfeqns, {Glc, Lac}] // MatrixForm

' sir |
gly |
atpase |
ck |
mk |

adp |
-2 |
1 |
-1 |
-2 |

amp |
0 |
0 |
0 |
1 |

atp |
2 |
-1 |
1 |
1 |

cr |
0 |
0 |
1 |
0 |

glc |
-1 |
0 |
0 |
0 |

lac |
2 |
0 |
0 |
0 |

pcr |
0 |
0 |
-1 |
0 |

phos |
-2 |
1 |
0 |
0 |

Thus it is clear, for example, that in each elementary ATPase reaction, i ADP molecule and i phos(phate) are produced, and i ATP is consumed.

Was this article helpful?

In The Next 45 Minutes You're Going To Discover How To Boost Your Metabolism And Lose Weight. Who Else Wants To Boost Their Metabolism And Shed Pounds Fast?

## Post a comment