<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1471-2105-10-238</ui>
   <ji>1471-2105</ji>
   <fm>
      <dochead>Methodology article</dochead>
      <bibl>
         <title>
            <p>Generating rate equations for complex enzyme systems by a computer-assisted systematic method</p>
         </title>
         <aug>
            <au id="A1">
               <snm>Qi</snm>
               <fnm>Feng</fnm>
               <insr iid="I1"/>
               <email>fqi@mcw.edu</email>
            </au>
            <au id="A2">
               <snm>Dash</snm>
               <mi>K</mi>
               <fnm>Ranjan</fnm>
               <insr iid="I1"/>
               <email>rdash@mcw.edu</email>
            </au>
            <au id="A3">
               <snm>Han</snm>
               <fnm>Yu</fnm>
               <insr iid="I1"/>
               <email>yhan@mcw.edu</email>
            </au>
            <au ca="yes" id="A4">
               <snm>Beard</snm>
               <mi>A</mi>
               <fnm>Daniel</fnm>
               <insr iid="I1"/>
               <email>dbeard@mcw.edu</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Biotechnology and Bioengineering Center and Department of Physiology, Medical College of Wisconsin, Milwaukee, Wisconsin, 53226, USA</p>
            </ins>
         </insg>
         <source>BMC Bioinformatics</source>
         <issn>1471-2105</issn>
         <pubdate>2009</pubdate>
         <volume>10</volume>
         <issue>1</issue>
         <fpage>238</fpage>
         <url>http://www.biomedcentral.com/1471-2105/10/238</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="doi">10.1186/1471-2105-10-238</pubid>
               <pubid idtype="pmpid">19653903</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>26</day>
               <month>1</month>
               <year>2009</year>
            </date>
         </rec>
         <acc>
            <date>
               <day>4</day>
               <month>8</month>
               <year>2009</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>4</day>
               <month>8</month>
               <year>2009</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2009</year>
         <collab>Qi et al; licensee BioMed Central Ltd.</collab>
         <note>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note>
      </cpyrt>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <sec>
               <st>
                  <p>Background</p>
               </st>
               <p>While the theory of enzyme kinetics is fundamental to analyzing and simulating biochemical systems, the derivation of rate equations for complex mechanisms for enzyme-catalyzed reactions is cumbersome and error prone. Therefore, a number of algorithms and related computer programs have been developed to assist in such derivations. Yet although a number of algorithms, programs, and software packages are reported in the literature, one or more significant limitation is associated with each of these tools. Furthermore, none is freely available for download and use by the community.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>We have implemented an algorithm based on the schematic method of King and Altman (KA) that employs the topological theory of linear graphs for systematic generation of valid reaction patterns in a GUI-based stand-alone computer program called <it>KAPattern</it>. The underlying algorithm allows for the assumption steady-state, rapid equilibrium-binding, and/or irreversibility for individual steps in catalytic mechanisms. The program can automatically generate MathML and MATLAB output files that users can easily incorporate into simulation programs.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusion</p>
               </st>
               <p>A computer program, called <it>KAPattern</it>, for generating rate equations for complex enzyme system is a freely available and can be accessed at <url>http://www.biocoda.org</url>.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>Since Haldane's analysis of a simple enzyme mechanism <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>, kinetic analysis has been central to our quantitative understanding of enzyme mechanisms <abbrgrp><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr></abbrgrp>. In conventional applications, kinetic data from initial-rate experiments are used to evaluate enzyme mechanisms based upon derived mechanistic rate expressions. Such rate expressions are important in building integrated models of metabolic systems which involve a number of enzymatic reactions <abbrgrp><abbr bid="B4">4</abbr><abbr bid="B5">5</abbr></abbrgrp>. In principle, the rate equations for a given discrete-state reaction mechanism can be derived by solving a system of simultaneous nonlinear algebraic equations that result from the steady-state expressions for the concentrations of all of the enzyme intermediates. This approach was first applied successfully by Botts and Morales <abbrgrp><abbr bid="B6">6</abbr></abbrgrp> to some enzymatic systems. However, when the system involves multiple substrates, enzyme complexes, and products <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>, deriving rate equations based on steady-state equations may be too complex to be of practical interest and also can be liable to human errors. Therefore, systematic approaches, as reviewed by Huang <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>, are desirable.</p>
         <p>King and Altman <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> introduced a graphical/schematic method for facilitating derivation of steady-state rate equations in enzymatic systems. Modifications introduced by Volkenstein and Goldsein <abbrgrp><abbr bid="B9">9</abbr></abbrgrp> and Cha <abbrgrp><abbr bid="B10">10</abbr></abbrgrp> added substantial power to the King-Altman method by applying graph theory and allowing for the assumption that one or more of the reversible steps in the enzyme mechanism is maintained in rapid equilibrium <abbrgrp><abbr bid="B10">10</abbr></abbrgrp>. Other alternative methods include those described by Fromm <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>, Orsi <abbrgrp><abbr bid="B12">12</abbr></abbrgrp>, Ainsworth <abbrgrp><abbr bid="B13">13</abbr><abbr bid="B14">14</abbr></abbrgrp>, Indge and Childs <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>, and Chou and Forsen <abbrgrp><abbr bid="B16">16</abbr></abbrgrp>.</p>
         <p>Even when using graphical methods, manually deriving the steady-state rate equations for non-trivial enzyme mechanisms can be cumbersome and error-prone. Therefore, computer-assisted methods are useful. Applying the method of King-Altman, Pring <abbrgrp><abbr bid="B17">17</abbr></abbrgrp> and Rhoads <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> developed two programmes, <it>K </it>and <it>D</it>, which perform logical operations essential for generating rate equations based on the strictly steady-state assumption with respect to a certain class of species present. Lam and Priest <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> introduced an algorithm based on graph theory that is computer programmable. Cornish-Bowden <abbrgrp><abbr bid="B20">20</abbr></abbrgrp> presented a computer implementation of Cha's method using an exhaustive search. A computer program developed by Kinderlerer and Ainsworth <abbrgrp><abbr bid="B21">21</abbr></abbrgrp> is restricted to enzyme mechanisms involving up to 10 enzyme intermediates. Straathof and Heijnen <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> and Fromm and Fromm <abbrgrp><abbr bid="B23">23</abbr></abbrgrp> introduced methods to derive rate equations for enzyme systems using the symbolic algebra packages Maple and Mathematica. However, these programs derive only strictly steady-state rate equations and cannot obtain rate equations involving irreversible steps. Varon <it>et al</it>. <abbrgrp><abbr bid="B24">24</abbr></abbrgrp> developed a program called Albass that overcame many of the limitations of earlier programs. Several years later, the Varon group developed two new programs written in C++, called Referass <abbrgrp><abbr bid="B25">25</abbr></abbrgrp> and WinStes <abbrgrp><abbr bid="B26">26</abbr></abbrgrp>, which can derive rate equations for mechanisms with up to 255 intermediate states with up to 255 reactions. The algorithms and software developed by Varon and colleagues represent the most powerful and flexible previously developed tools for deriving enzyme rate expressions. Yet, like other previous packages, it does not appear to be currently available.</p>
         <p>We present here a simple, stand-alone computer program written in MATLAB GUI, called <it>KAPattern</it>, for generating rate equations in complex enzyme systems. This program is based on the schematic method of King and Altman <abbrgrp><abbr bid="B8">8</abbr></abbrgrp>, and uses the topological theory of linear graphs, called Wang Algebra <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>, that systematically generates valid King-Altman directed graph patterns. Our package provides the functionality of the WinStes program of Varon and colleagues (in that it can handle strictly steady-state as well as quasi-equilibrium steps, can be applied to branched as well as unbranched systems, and does not rely on an exhaustive search for determining directed graphs) with several additional features:</p>
         <p indent="1">1. There is no limitation on the size of the system other than that imposed by the available memory and CPU resources.</p>
         <p indent="1">2. The program can output the results (the generated rate equations) as a MathML file or a MATLAB .<it>m </it>file which may be integrated into simulation program. (For instance, it can be used in conjunction with a simulation package such as <it>BISEN </it><abbrgrp><abbr bid="B28">28</abbr></abbrgrp>.)</p>
         <p indent="1">3. The program provides visualization of all the valid KA patterns.</p>
         <p indent="1">4. Functions available in <it>KAPattern </it>may help the end-users to obtain insights on catalytic mechanism (e.g., structural properties, topological features, stoichiometric matrix etc.) that may be useful for other applications.</p>
         <p indent="1">5. Foremost, the package is freely available for download and use by the community.</p>
      </sec>
      <sec>
         <st>
            <p>Results and Discussion</p>
         </st>
         <sec>
            <st>
               <p>The King-Altman method</p>
            </st>
            <p>The King-Altman (KA) procedure is easily understood based on an illustrative example, as described here for the enzyme mechanism illustrated in Figure <figr fid="F1">1</figr>. This mechanism is the proposed five-state catalytic scheme for fumarase (or fumarate hydratase), which catalyzes the hydration of fumarate to malate <abbrgrp><abbr bid="B29">29</abbr></abbrgrp>. This mechanism involves 5 enzyme states (<it>n </it>= 5) and 6 links between those states, characterized by 12 rate constants.</p>
            <fig id="F1">
               <title>
                  <p>Figure 1</p>
               </title>
               <caption>
                  <p>Illustration of an enzyme-catalyzed reaction mechanism: fumarase</p>
               </caption>
               <text>
                  <p><b>Illustration of an enzyme-catalyzed reaction mechanism: fumarase</b>. Here <it>E</it><sub><it>i </it></sub>is <it>i</it>th enzyme form, <it>A </it>is fumarate (substrate), <it>B </it>is proton, <it>C </it>is hydroxyl, and <it>P </it>is malate (product). This mechanism is proposed in <abbrgrp><abbr bid="B29">29</abbr></abbrgrp>.</p>
               </text>
               <graphic file="1471-2105-10-238-1"/>
            </fig>
            <p>The first step in applying the KA procedure is listing all of the valid KA patterns for the enzyme mechanism. These patterns, illustrated in Figure <figr fid="F2">2A</figr>, are the set of all subsets of the graph in Figure <figr fid="F1">1</figr>, with the maximum number of edges while excluding any closed loops. There there are 12 possible KA patterns associated with the mechanism of Figure <figr fid="F1">1</figr>.</p>
            <fig id="F2">
               <title>
                  <p>Figure 2</p>
               </title>
               <caption>
                  <p>The graph representation of the valid reaction patterns generated by the King-Altman (KA) method</p>
               </caption>
               <text>
                  <p><b>The graph representation of the valid reaction patterns generated by the King-Altman (KA) method</b>. (A) Valid KA patterns. (B) Directional diagrams associated with the enzyme state 1. The numbers in plot A are the indexes of the links in the linear graph representation of the mechanism. Using the cut matrix method introduced in the text, one can easily get that the number of valid KA patterns is 12. Accordingly, the number of directional diagrams associated with the 5 enzyme states is 5 &#215; 12 = 60.</p>
               </text>
               <graphic file="1471-2105-10-238-2"/>
            </fig>
            <p>The next step is to determine all of the <it>directional diagrams </it>associated with each state in the enzyme mechanism. The directional diagrams associated with a given state are constructed from the KA pattern set, with directions indicated on each edge on each KA pattern. The directions are chosen so that, for state <it>i</it>, the arrows are directed toward state <it>i </it>with no diverging edges. The set of all directional diagrams associated with state 1 for the mechanism of Figure <figr fid="F1">1</figr> is illustrated in Figure <figr fid="F2">2B</figr>. Since there are 5 states and 12 KA patterns, there are 5 &#215; 12 = 60 directional diagrams associated with the mechanism of Figure <figr fid="F1">1</figr>. Each directional diagram is associated with a product of pseudo-first order rate constants for the arrows in the directional diagram. For example, the term for the top-left directional diagram in Figure <figr fid="F2">2B</figr> is <inline-formula><graphic file="1471-2105-10-238-i1.gif"/></inline-formula>. The relative steady-state concentration of each state is proportional to the summation of 12 terms associated with the 12 directional diagrams for each state. Specifically, the relative concentration of the <it>i</it>th enzyme state can be computed as a fraction of the total enzyme concentration whose numerator is the sum of the 12 terms associated with the 12 directional diagrams which all point or end to <it>i</it>th state (for example, as shown in Figure <figr fid="F2">2B</figr>, 12 directional diagrams point or end to state 1), and denominator is the sum of all 60 terms associated with the directional diagrams for all 5 states in the system (5 &#215; 12). That can be written as:</p>
            <p>
               <display-formula id="M1">
                  <graphic file="1471-2105-10-238-i2.gif"/>
               </display-formula>
            </p>
            <p>Here &#931;<sub><it>i </it></sub>represents the sum of the 12 terms associated with the state <it>i </it>and &#931; is the sum over all 5 sets of 12 terms for all states, and <it>E</it><sub><it>o </it></sub>is the total enzyme concentration.</p>
            <p>The KA method is described in somewhat more detail in <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> and <abbrgrp><abbr bid="B31">31</abbr></abbrgrp>.</p>
         </sec>
         <sec>
            <st>
               <p>Algorithm</p>
            </st>
            <p>As described above, the graphical method of King and Altman is based on determining a set of KA patterns that are subsets of the graph of the enzyme mechanism. Each KA pattern contains the maximal number of edges possible while not containing any closed loops. Each enzyme state (each vertex in the graph) has associated with it a directional diagram for each KA pattern. Enumerating all directional diagrams becomes more difficult as the enzyme mechanism becomes more complex.</p>
            <p>Previous applications of the theory of graphs to the solution of enzyme kinetic problems have been aimed at developing algorithms that are easy to program and allow users to rapidly calculate the steady-state concentrations of enzyme states, and thereby obtain expressions for the rate of product accumulation <abbrgrp><abbr bid="B9">9</abbr><abbr bid="B11">11</abbr></abbrgrp>. Unlike using symbolic algebra packages to solve a set of nonlinear algebraic equations based on steady-state and mass conservation, these approaches take advantage of the similarity between complex enzyme mechanisms and electrical networks. Specifically, it has been proved that the method used to generate trees from linear graphs can be applied to complex enzymatic reaction mechanisms <abbrgrp><abbr bid="B32">32</abbr></abbrgrp>.</p>
            <p>Here we use the method described by Lam and Priest <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> to automatically generate the valid KA patterns from the reaction graph. This method makes use of the theory called Wang Algebra <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>, where the key principle is that the addition or multiplication operation on two or more identical elements leads to zero (none). This property can be expressed as</p>
            <p>
               <display-formula id="M2">
                  <graphic file="1471-2105-10-238-i3.gif"/>
               </display-formula>
            </p>
            <p>
               <display-formula id="M3">
                  <graphic file="1471-2105-10-238-i4.gif"/>
               </display-formula>
            </p>
            <p>where <it>c </it>is a element which has been operated. We will see below how this property can be applied as an algebraic representation of a requirement for valid KA patterns.</p>
            <p>To apply the Lam-Priest algorithm, we first simplify and re-plot the enzymatic system as shown in Figure <figr fid="F3">3</figr>. In this linear graph representation, a node (vertex) represents the enzyme form and a link (edge) represents the inter-conversion relationship between two enzyme forms. That means if there is inter-conversion between two enzyme forms, whether reversible or irreversible, then there is a link to connect them. The links are nondirectional. A number is assigned to each node (vertex), and each link (edge). The linear graph structure is represented by an <it>n </it>&#215; <it>n </it>symmetrical matrix (called the link matrix &#8466; in our program). For the example of Figure <figr fid="F3">3</figr>, &#8466; can be written as:</p>
            <p>
               <display-formula id="M4">
                  <graphic file="1471-2105-10-238-i5.gif"/>
               </display-formula>
            </p>
            <fig id="F3">
               <title>
                  <p>Figure 3</p>
               </title>
               <caption>
                  <p>Linear graph representation of the enzyme catalyzed reaction mechanism of fumarase shown in Figure 1</p>
               </caption>
               <text>
                  <p><b>Linear graph representation of the enzyme catalyzed reaction mechanism of fumarase shown in Figure 1</b>. The numbers inside the circles are the indexes of enzyme forms in the system. The numbers along the lines which connecting the nodes are indexes of links assigned by the program. Directions are assigned arbitrarily to get the cut matrix <inline-formula><graphic file="1471-2105-10-238-i6.gif"/></inline-formula>, see text for details.</p>
               </text>
               <graphic file="1471-2105-10-238-3"/>
            </fig>
            <p>Each element &#8466;<sub><it>ij </it></sub>is the index of the link between node (enzyme state) <it>i </it>and <it>j</it>.</p>
            <p>Further information on the kinetic mechanism of the reaction system is stored in an <it>n </it>&#215; <it>n </it>matrix (called kinetic matrix <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> in our program). For the current example, <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> is given by:</p>
            <p>
               <display-formula id="M5">
                  <graphic file="1471-2105-10-238-i8.gif"/>
               </display-formula>
            </p>
            <p>Note that <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> is not symmetric in general.</p>
            <p>Application of the Lamb-Priest algorithm starts with randomly selecting <it>n </it>- 1 nodes from the linear graph, and determining the links connected to the <it>n </it>-1 nodes. (It makes no difference which node is excluded; the same final results are obtained for any arbitrary choices.) It is easy to carry out this operation on &#8466; by deleting a row (column) and then listing separately all the nonzero entries from the remaining <it>n </it>- 1 rows (columns). In the next step, using the Wang Algebra described above, the links listing obtained in previous step are <it>alphanumerically </it>multiplied. Here the alphanumeric multiplication of elements (integers or other symbols) is defined as a list rather than numerical values. For example, multiplying alphanumerically 1 and 2 is equal 12 rather than 2. The result of this operation is the set of all valid KA patterns, expressed by a set of link index array. The Wang Algebra principle guarantees that no invalid or redundant patterns are generated through these steps.</p>
            <p>In the final step, the links (edges) in each KA pattern are assigned directions so that the reaction steps, individually or in sequence, lead to a given enzyme state <it>E</it><sub><it>i</it></sub>. For example, if we delete the second row corresponding to the enzyme form 2 (surround by dashed circle in Figure <figr fid="F3">3</figr>), we obtain E1 (1 2 3); E3 (2 5); E4 (4 5 6); E5 (3 6). In the next step, we alphanumerically multiply these four lists:</p>
            <p>
               <display-formula id="M6">
                  <graphic file="1471-2105-10-238-i9.gif"/>
               </display-formula>
            </p>
            <p>Thus, an alphanumerical multiplication of two lists, such as (1 2 3) and (2 5), yields a list of all of the entry-by-entry products, (1&#8211;2 1&#8211;5 2&#8211;5 2&#8211;3 3&#8211;5) (Recall that the product of identical elements, such as 2-2 is discarded. The product is discarded if it shows up more than once.). The result lists all the valid KA patterns represented by 12 lists of link indexes. The graph representation of all the valid KA patterns is shown in Figure <figr fid="F2">2A</figr>. The algorithm ensures that only one link shows up in one single pattern only once (Equation (2) and Equation (3)), and that there are no redundant patterns.</p>
            <p>As an internal check, we apply an independent method to calculate the expected number of valid KA patterns. Several such methods are available, including one introduced by Chou and Forsen <abbrgrp><abbr bid="B16">16</abbr></abbrgrp> based on the Wong-Hanes rule <abbrgrp><abbr bid="B33">33</abbr><abbr bid="B34">34</abbr></abbrgrp>. A simpler method is to calculate the determinant of the product of the cut matrix <inline-formula><graphic file="1471-2105-10-238-i6.gif"/></inline-formula> and its transpose, yielding the correct number of valid KA patterns for any enzyme mechanism <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. The cut matrix is defined by using the <it>n </it>- 1 nodes of <it>n </it>enzyme complexes as the row numbers and the link indexes as the column numbers. Thus</p>
            <p>
               <display-formula id="M7">
                  <graphic file="1471-2105-10-238-i10.gif"/>
               </display-formula>
            </p>
            <p>where</p>
            <p>
               <display-formula id="M8">
                  <graphic file="1471-2105-10-238-i11.gif"/>
               </display-formula>
            </p>
            <p>Here, <it>n </it>= total number of enzyme forms and <it>m </it>= total number of links. Each entry is defined <it>c</it><sub><it>i</it>,<it>j </it></sub>= 1 if link <it>j </it>enters state <it>i</it>, <it>c</it><sub><it>i</it>,<it>j </it></sub>= -1 if link <it>j </it>leaves enzyme <it>i</it>, and = 0 otherwise. Thus there is a different definition of the cut matrix <inline-formula><graphic file="1471-2105-10-238-i6.gif"/></inline-formula> for each set of definitions of link directions. For the purpose of computing the number of valid KA patterns, the assignment of directions of these links is arbitrary. For example, if we exclude node 2 (dashed circled in Figure <figr fid="F3">3</figr>) and assign directions for each link as shown in Figure <figr fid="F3">3</figr>, the cut matrix will be:</p>
            <p>
               <display-formula id="M9">
                  <graphic file="1471-2105-10-238-i12.gif"/>
               </display-formula>
            </p>
            <p>and</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-238-i13.gif"/>
               </display-formula>
            </p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Implementation</p>
         </st>
         <p>We use the enzyme-catalyzed reaction mechanism of fumarase to illustrate the usage of the <it>KAPattern </it>program. Given a simple input file for this complex enzymatic reaction, this program produces the link matrix &#8466; and kinetic matrix <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> as well as generates all the valid KA patterns, outputs each pathway corresponding to each enzyme form based on the generated valid patterns, and outputs the results (i.e., the generated rate equations) as a MathML file or a MATLAB .<it>m </it>file, which can be used in a simulation program of an integrated metabolic system model.</p>
         <p>In this program, the input file for an enzyme-catalyzed reaction mechanism is a simple .<it>txt </it>file that lists every pseudo-first-order rate constants in the enzyme catalytic system. Below is the input file for the fumarase reaction mechanism; the first column and the second column are the indexes of the enzyme forms, the third column is the pseudo-first-order rate constants connecting the corresponding two enzyme forms (transferring from the first to the second):</p>
         <p>
            <monospace>input.txt</monospace>
         </p>
         <p>
            <monospace>1 3 k1*A</monospace>
         </p>
         <p>
            <monospace>3 1 k_1</monospace>
         </p>
         <p>
            <monospace>1 2 k_6*P</monospace>
         </p>
         <p>
            <monospace>2 1 k6</monospace>
         </p>
         <p>
            <monospace>1 5 k3*B</monospace>
         </p>
         <p>
            <monospace>5 1 k_3</monospace>
         </p>
         <p>
            <monospace>2 4 k_5</monospace>
         </p>
         <p>
            <monospace>4 2 k5*C</monospace>
         </p>
         <p>
            <monospace>3 4 k2*B</monospace>
         </p>
         <p>
            <monospace>4 3 k_2</monospace>
         </p>
         <p>
            <monospace>4 5 k_4</monospace>
         </p>
         <p>
            <monospace>5 4 k4*A</monospace>
         </p>
         <p>To clarify, the first line of the input.txt file is <monospace>1 3 k1*A</monospace>, which means the rate constant for the enzyme conversion from form 1 (E1) to 3 (E3) is k1*A. The functions <monospace>ReadInput</monospace> and <monospace>GetLink</monospace> in our <it>KAPattern </it>program, read the input file and generate the matrices &#8466; (Equation (4)) and <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> (Equation (5)). The function <monospace>Wang</monospace> is used to generate the valid KA patterns. (For detailed description of functions and the full example, see the additional file <supplr sid="S1">1</supplr>: Appendix.)</p>
         <suppl id="S1">
            <title>
               <p>Additional file 1</p>
            </title>
            <text>
               <p><b>Appendix for "Generating rate equations for complex enzyme systems by a computer-assisted systematic method"</b>. Contains the brief description of all of the functions in the package and a full example to demonstrate the use of the package.</p>
            </text>
            <file name="1471-2105-10-238-S1.pdf">
               <p>Click here for file</p>
            </file>
         </suppl>
         <p>With all the valid KA patterns generated, it is straightforward to enumerate all of the directional diagrams using the information from the <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> and &#8466; matrices. For the enzyme form <it>E</it><sub><it>i</it></sub>, the program checks each non-zero entry of the <it>i</it>th column in the &#8466; matrix against all links in the link list of one pattern and finds every link that points to the enzyme form <it>E</it><sub><it>i</it></sub>. Based on the next end point, the process is repeated until no links is left out in the list. Finally, multiplying all the pseudo-first-order rate constants, we can get the expression corresponding to one pattern. Repeating this procedure for each KA pattern and for each enzyme form, we obtain the concentration of each enzyme form <it>E</it><sub><it>i </it></sub>relative to the total concentration of enzyme <it>E</it><sub><it>o</it></sub>.</p>
         <p>The cost of the rate equation generation depends not only on the size of the problem, but also on the complexity of the problem. For most small-sized enzyme systems we tested, the program gives results less than 1 second. For the moderate-size problem example we present in the additional file (See the additional file <supplr sid="S1">1</supplr>: Appendix.), the program generates 288 valid KA patterns in about 4.5 seconds (on Intel Pentium IV, 2.0 GHz, 2 GB RAM).</p>
         <p>Below is the MATLAB output file generated from the function <monospace>BuildFile</monospace> of the <it>KAPattern </it>program for the fumarase reaction mechanism. The output has one or two input parameters, depending on whether there are pseudo-first-order rate constants, and three output variables. If there are pseudo-first-order rate constants, which include substrates or products concentrations, the two parameters will be two arrays <monospace>K</monospace> and <monospace>Con</monospace>, corresponding to reaction rate constants and substrate and product concentrations, respectively. The three output variables are <monospace>N</monospace>, <monospace>F</monospace>, and <monospace>D</monospace>, where <monospace>N</monospace> and <monospace>F</monospace> are vectors listing the numerators &#931;<sub><it>i </it></sub>and the fractions &#931;<sub><it>i</it></sub>/&#931; for Equation (1). The output variable <monospace>D</monospace> is the denominator <monospace>D</monospace>.</p>
         <p>
            <monospace>function [E, F, D] = Expression(K, Con)</monospace>
         </p>
         <p>
            <monospace>%% concentration values</monospace>
         </p>
         <p>
            <monospace>A = Con(1);</monospace>
         </p>
         <p>
            <monospace>B = Con(2);</monospace>
         </p>
         <p>
            <monospace>C = Con(3);</monospace>
         </p>
         <p>
            <monospace>P = Con(4);</monospace>
         </p>
         <p>
            <monospace>%% rate constant k values</monospace>
         </p>
         <p>
            <monospace>k1 = K(1);</monospace>
         </p>
         <p>
            <monospace>k2 = K(2);</monospace>
         </p>
         <p>
            <monospace>k3 = K(3);</monospace>
         </p>
         <p>
            <monospace>k4 = K(4);</monospace>
         </p>
         <p>
            <monospace>k5 = K(5);</monospace>
         </p>
         <p>
            <monospace>k6 = K(6);</monospace>
         </p>
         <p>
            <monospace>k_1 = K(7);</monospace>
         </p>
         <p>
            <monospace>k_2 = K(8);</monospace>
         </p>
         <p>
            <monospace>k_3 = K(9);</monospace>
         </p>
         <p>
            <monospace>k_4 = K(10);</monospace>
         </p>
         <p>
            <monospace>k_5 = K(11);</monospace>
         </p>
         <p>
            <monospace>k_6 = K(12);</monospace>
         </p>
         <p>
            <monospace>%% numerators</monospace>
         </p>
         <p>
            <monospace>E(1) = k6*k_1* k_3*k5*C + k6*k_1*k_3*k_2 + k6*k_1*k_3*k_4 + k6*k_1*k5*C*k4*A + k6*k_1*k_2*k4*A + k6*k_3*k5*C*k2*B + k6*k_3*k_4*k2*B + k6*k5*C*k2*B*k4*A + k_1*k_3*k_2*k_5 + k_1*k_3*k_4*k_5 + k_1*k_2*k_5*k4*A + k_3*k_4*k_5*k2*B;</monospace>
         </p>
         <p>
            <monospace>E(2) = k_6*P*k5*C*k_1*k_3 + k_6*P*k_1*k_3*k_2 + k_6*P*k_1*k_3*k_4 + k_6*P*k5*C*k_1*k4*A + k_6*P*k_1*k_2*k4*A + k_6*P*k5*C*k_3*k2*B + k_6*P*k_3*k_4*k2*B + k_6*P*k5*C*k2*B*k4*A + k5*C*k2*B*k1*A*k_3 + k5*C*k4*A*k3*B*k_1 + k5*C*k2*B*k4*A*k1*A + k5*C*k2*B*k4*A*k3*B;</monospace>
         </p>
         <p>
            <monospace>E(3) = k1*A*k6*k_3*k5*C + k1*A*k_2*k6*k_3 + k1*A*k6*k_3*k_4 + k1*A*k6*k5*C*k4*A + k1*A*k_2*k6*k4*A + k_2*k_5*k_6*P*k_3 + k_2*k4*A*k3*B*k6 + k_2*k_5*k4*A*k_6*P + k1*A*k_2*k_3*k_5 + k1*A*k_3*k_4*k_5 + k1*A*k_2*k_5*k4*A + k_2*k_5*k4*A*k3*B;</monospace>
         </p>
         <p>
            <monospace>E(4) = k_5*k_6*P*k_1*k_3 + k2*B*k1*A*k6*k_3 + k4*A*k3*B*k6*k_1 + k_5*k4*A*k_6*P*k_1 + k2*B*k4*A*k1*A*k6 + k_5*k2*B*k_6*P*k_3 + k2*B*k4*A*k3*B*k6 + k_5*k2*B*k4*A*k_6*P + k_5*k2*B*k1*A*k_3 + k_5*k4*A*k3*B*k_1 + k_5*k2*B*k4*A*k1*A + k_5*k2*B*k4*A*k3*B;</monospace>
         </p>
         <p>
            <monospace>E(5) = k3*B*k6*k_1*k5*C + k3*B*k6*k_1*k_2 + k3*B*k_4*k6*k_1 + k_4*k_5*k_6*P*k_1 + k_4*k2*B*k1*A*k6 + k3*B*k6*k5*C*k2*B + k3*B*k_4*k6*k2*B + k_4*k_5*k2*B*k_6*P + k3*B*k_1*k_2*k_5 + k3*B*k_4*k_1*k_5 + k_4*k_5*k2*B*k1*A + k3*B*k_4*k_5*k2*B;</monospace>
         </p>
         <p>
            <monospace>%% denominator</monospace>
         </p>
         <p>
            <monospace>D = E(1) + E(2) + E(3) + E(4) + E(5);</monospace>
         </p>
         <p>
            <monospace>%% fractions</monospace>
         </p>
         <p>
            <monospace>F(1) = E(1)/D;</monospace>
         </p>
         <p>
            <monospace>F(2) = E(2)/D;</monospace>
         </p>
         <p>
            <monospace>F(3) = E(3)/D;</monospace>
         </p>
         <p>
            <monospace>F(4) = E(4)/D;</monospace>
         </p>
         <p>
            <monospace>F(5) = E(5)/D;</monospace>
         </p>
         <p>Another useful feature of our <it>KAPattern </it>program is that it can deal with the irreversible reaction steps. This feature is accessed through the input file. For example, assume that we can neglect the reaction from state 1 to state 2 and from state 2 to state 4. In this case, the input file is simply modified by deleting the lines <monospace>'1 2 k_6*P'</monospace> and <monospace>'2 4 k_5'</monospace>. The generated link matrix &#8466; will be the same as above. But the kinetic matrix <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula> matrix will be modified:</p>
         <p>
            <display-formula id="M10">
               <graphic file="1471-2105-10-238-i14.gif"/>
            </display-formula>
         </p>
         <p>Correspondingly, the numerator part in the output file will be changed to</p>
         <p>
            <monospace>%% numerators</monospace>
         </p>
         <p>
            <monospace>E(1) = k6*k_1*k_3*k5*C + k6*k_1*k_3*k_2 + k6*k_1*k_3*k_4 + k6*k_1*k5*C*k4*A + k6*k_1*k_2*k4*A + k6*k_3*k5*C*k2*B + k6*k_3*k_4*k2*B + k6*k5*C*k2*B*k4*A;</monospace>
         </p>
         <p>
            <monospace>E(2) = k5*C*k2*B*k1*A*k_3 + k5*C*k4*A*k3*B*k_1 + k5*C*k2*B*k4*A*k1*A + k5*C*k2*B*k4*A*k3*B;</monospace>
         </p>
         <p>
            <monospace>E(3) = k1*A*k6*k_3*k5*C + k1*A*k_2*k6*k_3 + k1*A*k6*k_3*k_4 + k1*A*k6*k5*C*k4*A + k1*A*k_2*k6*k4*A + k_2*k4*A*k3*B*k6;</monospace>
         </p>
         <p>
            <monospace>E(4) = k2*B*k1*A*k6*k_3 + k4*A*k3*B*k6*k_1 + k2*B*k4*A*k1*A*k6 + k2*B*k4*A*k3*B*k6;</monospace>
         </p>
         <p>
            <monospace>E(5) = k3*B*k6*k_1*k5*C + k3*B*k6*k_1*k_2 + k3*B*k_4*k6*k_1 + k_4*k2*B*k1*A*k6 + k3*B*k6*k5*C*k2*B + k3*B*k_4*k6*k2*B;</monospace>
         </p>
      </sec>
      <sec>
         <st>
            <p>Graphical User Interface (GUI)</p>
         </st>
         <p>Our stand-alone <it>KAPattern </it>package is developed using MATLAB GUI. The executable program is available in Windows, Mac, or Linux formats that do not require MATLAB installed on the end-user's computer. Furthermore, end-users do not need any particular computer programming knowledge to use the package. The GUI has different windows that can display various components of the program, such as input file, link matrix &#8466;, kinetic matrix <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula>, generated KA pattern list, and MATLAB .<it>m </it>output file. There is also a separate window called <it>Pattern Viewer </it>which provides users the flexibility to visualize any selected KA pattern, like that shown in Figure <figr fid="F2">2A</figr>. Users can drag and drop nodes and links of one pattern to where they want to deploy them. As an example, a screen-shot of the fumarase enzyme-catalysed reaction system is shown in Figure <figr fid="F4">4</figr>. Users can provide their own input.txt file defining any specific enzyme catalyzed reaction, and run the program in the GUI to view all the valid KA patterns and generate the corresponding rate equation. In addition, the program can generate MathML and MATLAB .m output file in the end-user's working directory. (See the additional file <supplr sid="S1">1</supplr>: Appendix.)</p>
         <fig id="F4">
            <title>
               <p>Figure 4</p>
            </title>
            <caption>
               <p>A screen-shot of the <it>KAPattern </it>program GUI for enzyme catalyzed reaction system of fumarase</p>
            </caption>
            <text>
               <p><b>A screen-shot of the <it>KAPattern </it>program GUI for enzyme catalyzed reaction system of fumarase</b>.</p>
            </text>
            <graphic file="1471-2105-10-238-4"/>
         </fig>
      </sec>
      <sec>
         <st>
            <p>Conclusion</p>
         </st>
         <p>We have described a systematic method and the corresponding computer program, called <it>KAPattern</it>, for generating rate equations for any complex enzyme systems. This program generates complete set of valid King-Altman patterns for complex enzyme-catalyzed reaction mechanisms. Unlike other computer-assisted methods that use symbolic algebra packages to solve the system of nonlinear algebraic equations arising from steady-state mass conservation, our program is developed from the original schematic method of King-Altman <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> and employs the topological theory of linear graphs <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. Our program can derive rate equations for both strictly steady-state conditions and those with rapid equilibrium steps. The enzyme mechanism can be either branched or unbranched enzyme mechanisms containing both reversible and irreversible reactions steps. Using a simple, easy-to-understand input file, our program can produce a MATLAB .m file or MathML file that can be integrated into other biochemical system model programs. It can illustrate the visualization of all the valid KA patterns as well. In addition, the generated link matrix &#8466; and kinetic matrix <inline-formula><graphic file="1471-2105-10-238-i7.gif"/></inline-formula>, which characterize the enzyme mechanisms here, may be useful for other applications (e.g. to characterize the topological properties and stoichiometric matrix of large-scale networks).</p>
         <p>It should be emphasized that in the current version, our program is restricted to systems whose element reactions are association or dissociation of substrates or first-order inter-conversion of enzyme species.</p>
         <p>Systems involving allosteric activation and inhibition or other protein-protein interactions should be handled carefully, because our approach still lacks direct connections between the rate constants and the kinetic constants, such as Michaelis-Menten constants. Those connections are important for analyzing enzyme kinetic experimental data.</p>
      </sec>
      <sec>
         <st>
            <p>Availability and requirements</p>
         </st>
         <p>The <it>KAPattern </it>is written in MATLAB and distributed as a standalone GUI-based application for Windows, Mac or Linux/Unix. The MATLAB source codes, and the <it>KAPattern </it>stand-alone program are freely available and can be accessed at <url>http://www.biocoda.org</url>.</p>
      </sec>
      <sec>
         <st>
            <p>Authors' contributions</p>
         </st>
         <p>Basic idea was conceived by FQ. Software was developed and implemented by FQ and YH, with RKD and DAB advising. The manuscript was written by FQ and revised by RKD and DAB. Manuscript was read and approved by all authors.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>We thank Fan Wu and Kalyan Vinnakota for helpful discussions. Special thanks to Brain Carlson for helping us compile the Mac version package. This work was supported by National Institute of Health Grant R01-HL072011.</p>
         </sec>
      </ack>
      <refgrp>
         <bibl id="B1">
            <aug>
               <au>
                  <snm>Segel</snm>
                  <fnm>IH</fnm>
               </au>
            </aug>
            <source>Enzyme Kinetics</source>
            <publisher>New York: John Wiley &amp; Sons</publisher>
            <pubdate>1993</pubdate>
         </bibl>
         <bibl id="B2">
            <title>
               <p>Detailed enzyme kinetics in terms of biochemical species: study of citrate synthase</p>
            </title>
            <aug>
               <au>
                  <snm>Beard</snm>
                  <fnm>DA</fnm>
               </au>
               <au>
                  <snm>Vinnakota</snm>
                  <fnm>KC</fnm>
               </au>
               <au>
                  <snm>Wu</snm>
                  <fnm>F</fnm>
               </au>
            </aug>
            <source>PLoS One</source>
            <pubdate>2008</pubdate>
            <volume>3</volume>
            <fpage>e1825</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1371/journal.pone.0001825</pubid>
                  <pubid idtype="pmcid">2266798</pubid>
                  <pubid idtype="pmpid" link="fulltext">18350161</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B3">
            <title>
               <p>Detailed kinetics and regulation of mammalian NAD-linked isocitrate dehydrogenase</p>
            </title>
            <aug>
               <au>
                  <snm>Qi</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Chen</snm>
                  <fnm>XW</fnm>
               </au>
               <au>
                  <snm>Beard</snm>
                  <fnm>DA</fnm>
               </au>
            </aug>
            <source>Biochim Biophys Acta</source>
            <pubdate>2008</pubdate>
            <volume>1784</volume>
            <fpage>1641</fpage>
            <lpage>1651</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">18672100</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B4">
            <title>
               <p>A biophysical model of the mitochondrial respiratory system and oxidative phosphorylation</p>
            </title>
            <aug>
               <au>
                  <snm>Beard</snm>
                  <fnm>DA</fnm>
               </au>
            </aug>
            <source>PLoS Comput Biol</source>
            <pubdate>2005</pubdate>
            <volume>1</volume>
            <issue>4</issue>
            <fpage>e36</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1371/journal.pcbi.0010036</pubid>
                  <pubid idtype="pmcid">1201326,1201326</pubid>
                  <pubid idtype="pmpid" link="fulltext">16163394</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B5">
            <title>
               <p>Computer modeling of mitochondrial TCA cycle, oxidative phosphorylation, metabolite transport, and electophysiology</p>
            </title>
            <aug>
               <au>
                  <snm>Wu</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Yang</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Vinnakota</snm>
                  <fnm>KC</fnm>
               </au>
               <au>
                  <snm>Beard</snm>
                  <fnm>DA</fnm>
               </au>
            </aug>
            <source>J Biol Chem</source>
            <pubdate>2007</pubdate>
            <volume>282</volume>
            <fpage>24525</fpage>
            <lpage>24537</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1074/jbc.M701024200</pubid>
                  <pubid idtype="pmpid" link="fulltext">17591785</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B6">
            <title>
               <p>Analytical description of the effects of modifiers and of enzyme multivalency upon the steady state catalyzed reaction rate</p>
            </title>
            <aug>
               <au>
                  <snm>Botts</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Morales</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>Trans Faraday Soc</source>
            <pubdate>1953</pubdate>
            <volume>49</volume>
            <fpage>696</fpage>
            <lpage>707</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1039/tf9534900696</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B7">
            <title>
               <p>Derivation of initial velocity and isotope exchange rate equations</p>
            </title>
            <aug>
               <au>
                  <snm>Huang</snm>
                  <fnm>CY</fnm>
               </au>
            </aug>
            <source>Method Enzymo</source>
            <pubdate>1979</pubdate>
            <volume>63</volume>
            <fpage>54</fpage>
            <lpage>84</lpage>
            <xrefbib>
               <pubid idtype="doi">full_text</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B8">
            <title>
               <p>A schematic method of deriving the rate laws for enzyme catalyzed reactions</p>
            </title>
            <aug>
               <au>
                  <snm>King</snm>
                  <fnm>EL</fnm>
               </au>
               <au>
                  <snm>Altman</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>J Phys Chem</source>
            <pubdate>1956</pubdate>
            <volume>60</volume>
            <fpage>1375</fpage>
            <lpage>1378</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1021/j150544a010</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B9">
            <title>
               <p>Allosteric enzyme models and their analysis by the theory of graphs</p>
            </title>
            <aug>
               <au>
                  <snm>Volkenstein</snm>
                  <fnm>MV</fnm>
               </au>
               <au>
                  <snm>Goldsein</snm>
                  <fnm>BN</fnm>
               </au>
            </aug>
            <source>Biochim Biophys Acta</source>
            <pubdate>1966</pubdate>
            <volume>115</volume>
            <fpage>478</fpage>
            <lpage>485</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">5943446</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B10">
            <title>
               <p>A simple method for derivation of rate equation for enzyme-catalyzed reactions under the rapid equilibrium assumption or combined assumptions of equilibrium and steady state</p>
            </title>
            <aug>
               <au>
                  <snm>Cha</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>J Biol Chem</source>
            <pubdate>1968</pubdate>
            <volume>243</volume>
            <fpage>820</fpage>
            <lpage>825</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">5638598</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B11">
            <title>
               <p>A simplified schematic method for deriving steady-state rate equations using a modification of the theory of graphs procedure</p>
            </title>
            <aug>
               <au>
                  <snm>Fromm</snm>
                  <fnm>HJ</fnm>
               </au>
            </aug>
            <source>Biochem Biophys Res Commun</source>
            <pubdate>1970</pubdate>
            <volume>40</volume>
            <fpage>692</fpage>
            <lpage>697</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/0006-291X(70)90959-9</pubid>
                  <pubid idtype="pmpid" link="fulltext">5492163</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B12">
            <title>
               <p>A simple method for the derivation of the steady-state rate equation for an enzyme mechanism</p>
            </title>
            <aug>
               <au>
                  <snm>Orsi</snm>
                  <fnm>BA</fnm>
               </au>
            </aug>
            <source>Biochim Biophys Acta</source>
            <pubdate>1972</pubdate>
            <volume>258</volume>
            <fpage>4</fpage>
            <lpage>8</lpage>
            <xrefbib>
               <pubid idtype="pmpid">5058404</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B13">
            <title>
               <p>A slide rule for deriving the rate equations of enzyme catalysed reactions with unbranched mechanisms</p>
            </title>
            <aug>
               <au>
                  <snm>Ainsworth</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>J Theor Biol</source>
            <pubdate>1974</pubdate>
            <volume>44</volume>
            <fpage>161</fpage>
            <lpage>165</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0022-5193(74)80036-6</pubid>
                  <pubid idtype="pmpid">4822911</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B14">
            <title>
               <p>A slide rule for deriving the rate equations of enzyme catalysed reactions with mechanisms involving up to six enzyme containing intermediates</p>
            </title>
            <aug>
               <au>
                  <snm>Ainsworth</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>J Theor Biol</source>
            <pubdate>1974</pubdate>
            <volume>48</volume>
            <fpage>141</fpage>
            <lpage>147</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/0022-5193(74)90185-4</pubid>
                  <pubid idtype="pmpid" link="fulltext">4456035</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B15">
            <title>
               <p>A new method for deriving steady state rate equations suitable for manual or computer use</p>
            </title>
            <aug>
               <au>
                  <snm>Indge</snm>
                  <fnm>KJ</fnm>
               </au>
               <au>
                  <snm>Childs</snm>
                  <fnm>RE</fnm>
               </au>
            </aug>
            <source>Biochem J</source>
            <pubdate>1976</pubdate>
            <volume>155</volume>
            <fpage>567</fpage>
            <lpage>570</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1172878</pubid>
                  <pubid idtype="pmpid">949319</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B16">
            <title>
               <p>Graphical rules for enzyme catalysed rate laws</p>
            </title>
            <aug>
               <au>
                  <snm>Chou</snm>
                  <fnm>KC</fnm>
               </au>
               <au>
                  <snm>Forsen</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Biochem J</source>
            <pubdate>1980</pubdate>
            <volume>187</volume>
            <fpage>829</fpage>
            <lpage>835</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1162468</pubid>
                  <pubid idtype="pmpid">7188428</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B17">
            <title>
               <p>The simulation and analysis by digital computer of biochemical systems in terms of kinetic models. 3. Generator programming</p>
            </title>
            <aug>
               <au>
                  <snm>Pring</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>J Theor Biol</source>
            <pubdate>1967</pubdate>
            <volume>17</volume>
            <fpage>436</fpage>
            <lpage>440</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/0022-5193(67)90104-X</pubid>
                  <pubid idtype="pmpid">5586523</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B18">
            <title>
               <p>The simulation and analysis by digital computer of biochemical systems in terms of kinetic models. IV. Automatic derivation of enzymic rate laws</p>
            </title>
            <aug>
               <au>
                  <snm>Rhoads</snm>
                  <fnm>DG</fnm>
               </au>
               <au>
                  <snm>Pring</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>J Theor Biol</source>
            <pubdate>1968</pubdate>
            <volume>20</volume>
            <fpage>297</fpage>
            <lpage>313</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/0022-5193(68)90130-6</pubid>
                  <pubid idtype="pmpid" link="fulltext">5728347</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B19">
            <title>
               <p>Systematic generation of valid King-Altman patterns</p>
            </title>
            <aug>
               <au>
                  <snm>Lam</snm>
                  <fnm>CF</fnm>
               </au>
               <au>
                  <snm>Priest</snm>
                  <fnm>DG</fnm>
               </au>
            </aug>
            <source>Biophys J</source>
            <pubdate>1972</pubdate>
            <volume>12</volume>
            <fpage>248</fpage>
            <lpage>256</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0006-3495(72)86084-3</pubid>
                  <pubid idtype="pmcid">1484093</pubid>
                  <pubid idtype="pmpid" link="fulltext">5016111</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B20">
            <title>
               <p>An automatic method for deriving steady-state rate equations</p>
            </title>
            <aug>
               <au>
                  <snm>Cornish-Bowden</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Biochem J</source>
            <pubdate>1977</pubdate>
            <volume>165</volume>
            <fpage>55</fpage>
            <lpage>59</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1164868</pubid>
                  <pubid idtype="pmpid">889575</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B21">
            <title>
               <p>A computer program to derive the rate equations of enzyme catalysed reactions with up to ten enzyme containg intermediates in the reaction mechanism</p>
            </title>
            <aug>
               <au>
                  <snm>Kinderlerer</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Ainsworth</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Int J Bio-Med Comput</source>
            <pubdate>1976</pubdate>
            <volume>7</volume>
            <fpage>1</fpage>
            <lpage>20</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/0020-7101(76)90002-7</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B22">
            <title>
               <p>Derivation of enzyme rate equations using symbolic software</p>
            </title>
            <aug>
               <au>
                  <snm>Straathof</snm>
                  <fnm>AJJ</fnm>
               </au>
               <au>
                  <snm>Heijnen</snm>
                  <fnm>JJ</fnm>
               </au>
            </aug>
            <source>Biocatal Biotransformation</source>
            <pubdate>1997</pubdate>
            <volume>15</volume>
            <fpage>29</fpage>
            <lpage>37</lpage>
            <xrefbib>
               <pubid idtype="doi">10.3109/10242429709003608</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B23">
            <title>
               <p>A two step computer-assisted method for deriving steady-state rate equations</p>
            </title>
            <aug>
               <au>
                  <snm>Fromm</snm>
                  <fnm>SJ</fnm>
               </au>
               <au>
                  <snm>Fromm</snm>
                  <fnm>HJ</fnm>
               </au>
            </aug>
            <source>Biochem Biophys Res Commun</source>
            <pubdate>1999</pubdate>
            <volume>265</volume>
            <fpage>448</fpage>
            <lpage>452</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1006/bbrc.1999.1679</pubid>
                  <pubid idtype="pmpid" link="fulltext">10558887</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B24">
            <aug>
               <au>
                  <snm>Varon</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Moreno</snm>
                  <fnm>MG</fnm>
               </au>
               <au>
                  <snm>Sevilla</snm>
                  <fnm>FG</fnm>
               </au>
               <au>
                  <snm>Galea</snm>
                  <fnm>MMR</fnm>
               </au>
               <au>
                  <snm>Canovas</snm>
                  <fnm>FG</fnm>
               </au>
            </aug>
            <source>Computeized Derivation of the Steady State Equations of Enzyme Reactions</source>
            <publisher>Albacete Spain</publisher>
            <pubdate>1995</pubdate>
            <volume>A5</volume>
         </bibl>
         <bibl id="B25">
            <title>
               <p>Computer program the equations describing the steady state of enzyme reactions</p>
            </title>
            <aug>
               <au>
                  <snm>Varon</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Sevilla</snm>
                  <fnm>FG</fnm>
               </au>
               <au>
                  <snm>Canovas</snm>
                  <fnm>MGFG</fnm>
               </au>
               <au>
                  <snm>Peyro</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Duggleby</snm>
                  <fnm>RG</fnm>
               </au>
            </aug>
            <source>Comput Appl Biosci</source>
            <pubdate>1997</pubdate>
            <volume>13</volume>
            <fpage>159</fpage>
            <lpage>167</lpage>
            <xrefbib>
               <pubid idtype="pmpid">9146963</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B26">
            <title>
               <p>A windows program for the derivation of steady-state equations in enzyme systems</p>
            </title>
            <aug>
               <au>
                  <snm>Yago</snm>
                  <fnm>JM</fnm>
               </au>
               <au>
                  <snm>Sevilla</snm>
                  <fnm>FG</fnm>
               </au>
               <au>
                  <snm>del Solo</snm>
                  <fnm>CG</fnm>
               </au>
               <au>
                  <snm>Duggleby</snm>
                  <fnm>RG</fnm>
               </au>
               <au>
                  <snm>Varon</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>Appl Math Comput</source>
            <pubdate>2006</pubdate>
            <volume>181</volume>
            <fpage>837</fpage>
            <lpage>852</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/j.amc.2006.02.016</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B27">
            <aug>
               <au>
                  <snm>Seshu</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Reed</snm>
                  <fnm>MB</fnm>
               </au>
            </aug>
            <source>Linear Graphs and Electrical Networks</source>
            <publisher>Reading, Mass.: Addison-Wesley Publishing Company, Inc</publisher>
            <pubdate>1961</pubdate>
         </bibl>
         <bibl id="B28">
            <title>
               <p>BISEN: Biochemical Simulation Environment</p>
            </title>
            <aug>
               <au>
                  <snm>Vanlier</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Wu</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Qi</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Vinnakota</snm>
                  <fnm>KC</fnm>
               </au>
               <au>
                  <snm>Han</snm>
                  <fnm>Y</fnm>
               </au>
               <au>
                  <snm>Dash</snm>
                  <fnm>RK</fnm>
               </au>
               <au>
                  <snm>Yang</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Beard</snm>
                  <fnm>DA</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2009</pubdate>
            <volume>25</volume>
            <fpage>836</fpage>
            <lpage>837</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1093/bioinformatics/btp069</pubid>
                  <pubid idtype="pmpid" link="fulltext">19244386</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B29">
            <title>
               <p>Initial and equilibrium <sup>18</sup>O, <sup>14</sup>C, <sup>3</sup>H, and <sup>2</sup>H exchange rates as probe of the fumarase reaction mechanism</p>
            </title>
            <aug>
               <au>
                  <snm>Hansen</snm>
                  <fnm>JM</fnm>
               </au>
               <au>
                  <snm>Dinovo</snm>
                  <fnm>EC</fnm>
               </au>
               <au>
                  <snm>Boyer</snm>
                  <fnm>PD</fnm>
               </au>
            </aug>
            <source>J Biol Chem</source>
            <pubdate>1969</pubdate>
            <volume>244</volume>
            <fpage>6270</fpage>
            <lpage>6279</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">5350961</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B30">
            <aug>
               <au>
                  <snm>Hill</snm>
                  <fnm>TL</fnm>
               </au>
            </aug>
            <source>Free energy transduction and biochemical cycle kinetics</source>
            <publisher>New York: Dover Publications, Inc</publisher>
            <pubdate>2005</pubdate>
         </bibl>
         <bibl id="B31">
            <aug>
               <au>
                  <snm>Engel</snm>
                  <fnm>PC</fnm>
               </au>
            </aug>
            <source>Enzyme kinetics: the steady-state approach</source>
            <publisher>London and New York: Chapman and Hall</publisher>
            <pubdate>1981</pubdate>
         </bibl>
         <bibl id="B32">
            <title>
               <p>Topological network analysis by algebraic method</p>
            </title>
            <aug>
               <au>
                  <snm>Maxwell</snm>
                  <fnm>MS</fnm>
               </au>
               <au>
                  <snm>Cline</snm>
                  <fnm>JM</fnm>
               </au>
            </aug>
            <source>Proc IEEE</source>
            <pubdate>1966</pubdate>
            <volume>113</volume>
            <fpage>1344</fpage>
            <lpage>1347</lpage>
         </bibl>
         <bibl id="B33">
            <title>
               <p>Kinetic formulations for enzymic reactions involving two substrates</p>
            </title>
            <aug>
               <au>
                  <snm>Wong</snm>
                  <fnm>JTF</fnm>
               </au>
               <au>
                  <snm>Hanes</snm>
                  <fnm>CS</fnm>
               </au>
            </aug>
            <source>Can J Biochem Physiol</source>
            <pubdate>1962</pubdate>
            <volume>40</volume>
            <fpage>763</fpage>
            <lpage>804</lpage>
            <xrefbib>
               <pubid idtype="pmpid">14008137</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B34">
            <aug>
               <au>
                  <snm>Wong</snm>
                  <fnm>JTF</fnm>
               </au>
            </aug>
            <source>Kinetics of enzyme mechanism</source>
            <publisher>London: Academic Press</publisher>
            <pubdate>1975</pubdate>
         </bibl>
      </refgrp>
   </bm>
</art>

