<title>Background</title> <p>Flux balance analysis is becoming a well developed and frequently used theoretical tool to study the capabilities of large stoichiometric networks [##REF##15494745##1##]. Flux balance analysis relies on several assumptions that essentially impose constraints on the allowable states of a network. Ideally, these constraints are derived from fundamental physical and chemical principles so that the physically realistic states of a network can be accurately identified and the unrealistic states ignored. Ensuring the conservation of mass can be achieved in a relatively straightforward manner, but it is much more challenging to incorporate the conservation of energy [##REF##12080101##2##, ####REF##12425318##3##, ##REF##16533855##4##, ##REF##17123434##5##, ##REF##15135031##6##, ##REF##16140239##7##, ##REF##16447983##8####16447983##8##]. Methods that rely on the identification of steady state reaction cycles have been developed to achieve this [##REF##12425318##3##, ####REF##16533855##4##, ##REF##17123434##5####17123434##5##]. Knowledge of these cycles can be used to constrain the direction or magnitude of certain fluxes to prevent the occurrence of thermodynamically inconsistent network states.</p> <p>The incorporation of energetic constraints in flux balance analysis is not the only motivation to identify cycles. Cycles may also point towards important aspects of network function. For instance, it has been proposed that cycles in metabolic networks can affect the sensitivity and robustness of network function and allow for regulation of biochemical pathways [##REF##16986621##9##]. In signal transduction networks, which are also stoichiometric in nature [##REF##15240442##10##,##REF##14990392##11##], cycles may allow for feedback. Feedback is known to be an important property of signal transduction, and it has been shown to result in a variety of complex and potentially useful biochemical behaviors [##REF##11891111##12##,##REF##11099031##13##].</p> <p>Two algorithms have been explicitly described for the identification of steady state cycles in stoichiometric networks. Schilling, Letscher, and Palsson (SLP) described the first of these in 2000 [##REF##10716907##14##]. The SLP algorithm first defines a network of <italic>internal </italic>and <italic>exchange </italic>reactions. Internal reactions are those that are actually being studied. For metabolic networks, for example, the internal reactions are those that occur in or around the cell, such as reactions involved in glycolysis, respiration, transport of metabolites across cellular membranes, etc. Exchange reactions are pseudo-reactions that are used to supply (remove) chemical species to (from) the reaction system. The flux, or rate, of each internal reaction is constrained to be positive, while the fluxes of exchange reactions may be left unconstrained. If reversible reactions are present in the network, they are broken apart into a pair of unidirectional forward-reverse reactions, each with its own flux. These reactions are used to construct a stoichiometry matrix <italic>S </italic>which is used to formulate the equation <italic>Sv = 0</italic>, where <italic>v </italic>is a vector of fluxes of all reactions in the network. The solutions to this equation represent the allowable steady states of the network, where <italic>steady </italic>refers to the fact that the concentrations of internal chemical species remain constant.</p> <p>The SLP algorithm then identifies all of the <italic>extreme pathways </italic>of a network, which are a unique set of flux vectors whose superposition can generate all steady-state fluxes in a network that do not violate the principle of mass conservation. The extreme pathways are then categorized based on the types of active reactions they contain. We use the word <italic>cycles </italic>from this point forward to refer exclusively to internal cycles, that is <italic>type III </italic>extreme pathways, which are the extreme pathways that do not contain active exchange reactions ([##REF##10716907##14##] and see Appendix). Type III extreme pathways are also elementary flux modes [##REF##10700151##15##,##REF##15283984##16##] and extremal currents [##REF##16183876##17##]. The identification of extreme pathways is equivalent to computing the set of extreme rays of a convex cone [##REF##10716907##14##], which is known to be an NP-hard problem [##REF##15283984##16##,##REF##15527509##18##,##UREF##0##19##]. This computational complexity limits the size of networks for which the SLP algorithm can be used [##REF##12765837##20##], although numerous algorithmic improvements have been recently made in an effort to alleviate this problem [##UREF##0##19##,##REF##15539452##21##, ####REF##16986267##22##, ##REF##15613397##23####15613397##23##].</p> <p>Mahadevan and Schilling (MS) very briefly described the second algorithm for cycle identification in 2003 [##REF##14642354##24##]. In this approach, the network and its corresponding stoichiometry matrix are defined in the same way as for the SLP algorithm. The MS algorithm, however, uses a unique property of cycles to assist with their detection. If a network does not contain exchange reactions, and the fluxes of all internal reactions are constrained to the interval [0, ∞), the only reactions in the network capable of functioning will be those that participate in cycles (see Appendix). The MS algorithm takes advantage of this fact by using linear programming to determine the maximum flux of each reaction in the network. All of the reactions with unbounded fluxes are then used to create a sub-network of the original network. Every reaction in this sub-network necessarily participates in a cycle of the original network (see Appendix). The SLP algorithm is then applied to the sub-network to identify all of its extreme pathways, which are necessarily the complete set of cycles in the original network (see Appendix). Since the sub-network supplied to the SLP algorithm is potentially smaller than the original network, the identification of cycles in larger networks may become possible.</p> <p>In this paper, we describe a new algorithm, which we refer to here as the WW algorithm. The WW algorithm is an extension of the MS algorithm, and it can reduce the size of the sub-network supplied to the SLP algorithm far beyond that of the MS algorithm. We also measure and compare, for the first time, the performances of all three algorithms using five genome-scale metabolic networks.</p>
<title>Methods</title> <title>Stoichiometric networks</title> <p>Genome-scale stoichiometry matrices for <italic>H. pylori </italic>[##REF##16077130##28##], <italic>M. barkeri </italic>[##UREF##4##29##], <italic>E. coli </italic>[##REF##17593909##30##], <italic>S. cerevisiae </italic>[##REF##15197165##31##], and <italic>H. sapiens </italic>[##REF##17267599##32##] were constructed from the files Hpylori_341_model_smbl.zip, Mb_iAF692.xml, E_coli_AF1260.xml, Sc_iND750.xml, and H_sapien_Recon_1.xml, respectively, which we obtained from [##UREF##5##33##] and [##UREF##6##34##]. We followed the SLP convention that reversible reactions are broken into forward and backward reactions, which are represented as two distinct columns in the stoichiometry matrix. Exchange reactions were not included in stoichiometry matrices. The matrices thus constructed were used to define the equation <italic>Sv = 0</italic>, where <italic>S </italic>denotes a stoichiometry matrix and <italic>v </italic>denotes a vector of fluxes.</p> <title>Implementations</title> <p>The Systems Biology Research Tool [##REF##18588708##35##] (version 1.3.0) was used to create the sub-networks of the WW and MS algorithms, using the GNU Linear Programming Kit to solve all linear programs for both algorithms. Metatool [##REF##16731697##36##,##REF##10222413##37##] (version 5.0), in combination with MATLAB (version 7.2), was used to execute the SLP algorithm, since it utilizes the most recent techniques for identifying elementary flux modes [##REF##16986267##22##,##REF##16731697##36##]. Metatool currently uses a 32-bit binary file to identify elementary flux modes, resulting in an upper memory limit of 2<sup>32 </sup>bytes, that is, 4 GB.</p> <title>Performance measurements</title> <p>The time and memory requirements of each algorithm were used as measures of algorithmic performance. All performance measurements were made on a Dell Precision 490 computer equipped with 8 GB of RAM and a 2.33 GHz Intel Xeon processor with Kubuntu 7.10 (AMD64) as the operating system. A bash script was used to execute 10 programs sequentially for each algorithm and network. The time was recorded before each program began and after each algorithm finished execution to determine the total running time. A perl script (memmon) was used to frequently sample the contents of/proc/meminfo to monitor the memory usage during each program execution. Memory monitoring began before each algorithm was executed to establish a baseline, and the maximum memory consumption during algorithm execution was measured relative to this baseline.</p>
<title>Results and Discussion</title> <title>The WW algorithm</title> <p>Step 1. Ensure that the network does not contain exchange reactions, and constrain the flux of each internal reaction to the interval [0, ∞).</p> <p>Step 2. Let <italic>U </italic>denote an empty set, and for each reaction <italic>R </italic>in the network, do the following:</p> <p>Step i. By pair-wise comparison, identify all reactions in the network that are the reverse of <italic>R</italic>.</p> <p>Step ii. For each of the reverse reactions identified in Step i, constrain its flux to be zero.</p> <p>Step iii. Determine if the flux of reaction <italic>R </italic>can assume a value other than zero, while still satisfying all currently defined constraints. If so, add reaction <italic>R </italic>to the set <italic>U</italic>.</p> <p>Step iv. For each of the reverse reactions identified in Step i, restore the constraint on its flux to [0, ∞).</p> <p>Step 3. Identify the extreme pathways in the network defined by the reactions contained in the set <italic>U</italic>.</p> <p>Step 4. By pair-wise comparison, identify each pair of internal forward-reverse reactions, <italic>R</italic><sub><italic>F </italic></sub>and <italic>R</italic><sub><italic>R</italic></sub>, in the stoichiometric network. A particular <italic>R</italic><sub><italic>F</italic></sub>-<italic>R</italic><sub><italic>R </italic></sub>pair forms a single type III extreme pathway (see Appendix).</p> <p>Step 5. Combine the results of Steps 3 and 4 to obtain the set of all cycles present in the network (see Appendix).</p> <p>Step 1 ensures that the only extreme pathways present in the network are of type III, since all other types of extreme pathways must contain active exchange reactions. Step 2 is used to identify all reactions that participate in cycles composed of three or more reactions. Under these circumstances, the fluxes of reactions that participate in such cycles can assume any value on the interval [0, ∞), and the fluxes of reactions that do <italic>not </italic>participate in such cycles must be zero. Any technique capable of making this distinction, such as linear programming, can be used during this step. The reason for this property is that if a reaction <italic>R </italic>only participates in cycles composed of two reactions, it must be inactive when its reverse reactions are constrained to be inactive. In Step 3, a sub-network is created that is composed of the reactions identified in Step 2, and an algorithm is applied to that network to identify the type III extreme pathways it contains. That algorithm could be the SLP algorithm, or another that achieves the same result. Step 4 is used to identify all of the extreme pathways composed of only two reactions. This could also be accomplished during Step 2.i, but it is listed separately here for the sake of clarity. The appendix contains a more explicit justification of the principle behind the WW algorithm.</p> <p>There are two key differences between the WW and MS algorithms. Firstly, the MS algorithm, as it is defined, individually maximizes the flux of each reaction in a network. Flux maximization can also be performed to accomplish Step 2.iii of the WW algorithm, but other (potentially faster) techniques could be used as well. Secondly, the MS algorithm creates sub-networks composed of all of the reactions in a network that participate in cycles. The WW algorithm, however, creates sub-networks composed only of those reactions that participate in cycles composed of three or more reactions. Consequently, the WW algorithm can sometimes produce sub-networks drastically smaller than those of the MS algorithm, which is demonstrated below.</p> <title>Performance comparisons</title> <p>We tested the performance of the MS, SLP, and WW algorithms for genome-scale metabolic networks from four different microbes and from <italic>Homo sapiens </italic>(human), comprising between 486 and 2786 chemical species, and between 642 and 4482 reactions. Our results show that both execution time efficiency (Figure ##FIG##0##1## and Additional file ##SUPPL##0##1##) and memory efficiency (Figures ##FIG##1##2##, ##FIG##2##3##, and Additional file ##SUPPL##0##1##) were substantially different for the three algorithms, with the WW algorithm being more efficient than the MS algorithm, which was more efficient than the SLP algorithm. These performance differences are described in detail in the following sections.</p> <title>Preprocessing</title> <p>Both the WW and MS algorithms use a preprocessing procedure to reduce the size of the network before identification of cycles is attempted. For both algorithms, the time and memory consumption of the preprocessing phase increases as network size increases, although not substantially; and WW preprocessing consumes more time and moderately more memory than MS preprocessing (Figures ##FIG##0##1## and ##FIG##1##2##).</p> <title>Extreme pathway identification</title> <p>The time and memory consumption of the MS, SLP, and WW algorithms during extreme pathway identification were quite different. To begin with, the SLP algorithm was unable to complete execution with the <italic>E. coli</italic>, <italic>S. cerevisiae</italic>, and <italic>H. sapiens </italic>networks due to memory exhaustion. This also occurred for both the MS and WW algorithms with the <italic>H. sapiens </italic>network. Therefore, at least for the hardware and software configurations used for these analyses, memory efficiency during extreme pathway identification was the most important factor for achieving successful computation. For the microbial networks, the maximum memory consumption of the MS algorithm was much less than that of the SLP algorithm, and the memory consumption of the WW algorithm was less than that of the MS algorithm (Figure ##FIG##2##3##). The memory usage of both the MS and SLP algorithms increased substantially with increasing network size, but in contrast, the memory usage of the WW algorithm changed little as the size of the microbial networks increased (Figure ##FIG##2##3##). Similar trends were observed for time efficiency, as well (Figure ##FIG##0##1##).</p> <p>The observed performance differences of extreme pathway identification can best be explained by noting the reduction of network sizes achieved during the preprocessing phases of the MS and WW algorithms. The SLP algorithm uses the entire network, whose numbers of reactions and metabolites are shown in Table ##TAB##0##1##. The MS algorithm uses sub-networks containing only reactions that participate in cycles, but the WW algorithm uses sub-networks containing only reactions that participate in cycles that are composed of more than two reactions. The reduction in size between the full network and the sub-network used by the WW algorithm is dramatic, spanning more than an order of magnitude for each of the microbial networks (Table ##TAB##0##1##). For these networks, the majority of cycles are composed of only two reactions (Table ##TAB##1##2##), allowing the WW algorithm to produce much smaller sub-networks than the MS algorithm. This greatly reduces the computational effort required of the SLP algorithm, resulting in better performance.</p> <title>Overall performance</title> <p>Although the WW preprocessing step consumes more time and memory than MS preprocessing, the time and memory efficiency of identifying extreme pathways during the WW algorithm is dramatically better. Consequently, the overall execution time of the WW algorithm is substantially less than the MS algorithm, and the memory consumption is also significantly reduced during the phase of the computation that is most memory-intensive and most susceptible to combinatorial explosion.</p> <title>Caveats</title> <p>There are certain extreme cases where these performance differences will not persist. For example, if every reaction in a stoichiometric network participates in a cycle, the MS algorithm will fail to outperform the SLP algorithm. In this situation, the maximum flux of each reaction will be unbounded, resulting in a "sub-network" that is exactly the same as the original. Similarly, if every reaction in a stoichiometric network participates in cycles composed of more than two reactions, neither the MS nor WW algorithm will outperform the SLP algorithm. If all the cycles in a stoichiometric network are composed of more than two reactions, the WW algorithm will fail to outperform the MS algorithm. If a reaction network does not contain any cycles, the MS algorithm will likely have a performance advantage over the WW algorithm, depending on implementation details. We note that these extreme scenarios are not realistic for genome-scale metabolic networks (Table ##TAB##1##2##), the kinds of networks for which application of the WW algorithm would be most fruitful. If, finally, a network only contains cycles composed of two reactions, the WW algorithm will never make use of the SLP algorithm, which eliminates the chance of combinatorial explosion and most likely provides further dramatic performance improvements over the MS algorithm.</p> <p>It should also be noted that the algorithmic performances described herein are dependent upon implementation details and the choice of underlying algorithms. Other software and algorithms [##UREF##1##25##, ####UREF##2##26##, ##UREF##3##27####3##27##], for example, could be used to identify extreme pathways, which would certainly change the time and memory requirements of these computations. Additionally, flux maximization was performed by both implementations of the WW and MS algorithms during the preprocessing phase. As mentioned above, replacing flux maximization with another technique, such as an infeasibility test, would also change the time and memory requirements of this portion of the algorithms.</p>
<title>Results and Discussion</title> <title>The WW algorithm</title> <p>Step 1. Ensure that the network does not contain exchange reactions, and constrain the flux of each internal reaction to the interval [0, ∞).</p> <p>Step 2. Let <italic>U </italic>denote an empty set, and for each reaction <italic>R </italic>in the network, do the following:</p> <p>Step i. By pair-wise comparison, identify all reactions in the network that are the reverse of <italic>R</italic>.</p> <p>Step ii. For each of the reverse reactions identified in Step i, constrain its flux to be zero.</p> <p>Step iii. Determine if the flux of reaction <italic>R </italic>can assume a value other than zero, while still satisfying all currently defined constraints. If so, add reaction <italic>R </italic>to the set <italic>U</italic>.</p> <p>Step iv. For each of the reverse reactions identified in Step i, restore the constraint on its flux to [0, ∞).</p> <p>Step 3. Identify the extreme pathways in the network defined by the reactions contained in the set <italic>U</italic>.</p> <p>Step 4. By pair-wise comparison, identify each pair of internal forward-reverse reactions, <italic>R</italic><sub><italic>F </italic></sub>and <italic>R</italic><sub><italic>R</italic></sub>, in the stoichiometric network. A particular <italic>R</italic><sub><italic>F</italic></sub>-<italic>R</italic><sub><italic>R </italic></sub>pair forms a single type III extreme pathway (see Appendix).</p> <p>Step 5. Combine the results of Steps 3 and 4 to obtain the set of all cycles present in the network (see Appendix).</p> <p>Step 1 ensures that the only extreme pathways present in the network are of type III, since all other types of extreme pathways must contain active exchange reactions. Step 2 is used to identify all reactions that participate in cycles composed of three or more reactions. Under these circumstances, the fluxes of reactions that participate in such cycles can assume any value on the interval [0, ∞), and the fluxes of reactions that do <italic>not </italic>participate in such cycles must be zero. Any technique capable of making this distinction, such as linear programming, can be used during this step. The reason for this property is that if a reaction <italic>R </italic>only participates in cycles composed of two reactions, it must be inactive when its reverse reactions are constrained to be inactive. In Step 3, a sub-network is created that is composed of the reactions identified in Step 2, and an algorithm is applied to that network to identify the type III extreme pathways it contains. That algorithm could be the SLP algorithm, or another that achieves the same result. Step 4 is used to identify all of the extreme pathways composed of only two reactions. This could also be accomplished during Step 2.i, but it is listed separately here for the sake of clarity. The appendix contains a more explicit justification of the principle behind the WW algorithm.</p> <p>There are two key differences between the WW and MS algorithms. Firstly, the MS algorithm, as it is defined, individually maximizes the flux of each reaction in a network. Flux maximization can also be performed to accomplish Step 2.iii of the WW algorithm, but other (potentially faster) techniques could be used as well. Secondly, the MS algorithm creates sub-networks composed of all of the reactions in a network that participate in cycles. The WW algorithm, however, creates sub-networks composed only of those reactions that participate in cycles composed of three or more reactions. Consequently, the WW algorithm can sometimes produce sub-networks drastically smaller than those of the MS algorithm, which is demonstrated below.</p> <title>Performance comparisons</title> <p>We tested the performance of the MS, SLP, and WW algorithms for genome-scale metabolic networks from four different microbes and from <italic>Homo sapiens </italic>(human), comprising between 486 and 2786 chemical species, and between 642 and 4482 reactions. Our results show that both execution time efficiency (Figure ##FIG##0##1## and Additional file ##SUPPL##0##1##) and memory efficiency (Figures ##FIG##1##2##, ##FIG##2##3##, and Additional file ##SUPPL##0##1##) were substantially different for the three algorithms, with the WW algorithm being more efficient than the MS algorithm, which was more efficient than the SLP algorithm. These performance differences are described in detail in the following sections.</p> <title>Preprocessing</title> <p>Both the WW and MS algorithms use a preprocessing procedure to reduce the size of the network before identification of cycles is attempted. For both algorithms, the time and memory consumption of the preprocessing phase increases as network size increases, although not substantially; and WW preprocessing consumes more time and moderately more memory than MS preprocessing (Figures ##FIG##0##1## and ##FIG##1##2##).</p> <title>Extreme pathway identification</title> <p>The time and memory consumption of the MS, SLP, and WW algorithms during extreme pathway identification were quite different. To begin with, the SLP algorithm was unable to complete execution with the <italic>E. coli</italic>, <italic>S. cerevisiae</italic>, and <italic>H. sapiens </italic>networks due to memory exhaustion. This also occurred for both the MS and WW algorithms with the <italic>H. sapiens </italic>network. Therefore, at least for the hardware and software configurations used for these analyses, memory efficiency during extreme pathway identification was the most important factor for achieving successful computation. For the microbial networks, the maximum memory consumption of the MS algorithm was much less than that of the SLP algorithm, and the memory consumption of the WW algorithm was less than that of the MS algorithm (Figure ##FIG##2##3##). The memory usage of both the MS and SLP algorithms increased substantially with increasing network size, but in contrast, the memory usage of the WW algorithm changed little as the size of the microbial networks increased (Figure ##FIG##2##3##). Similar trends were observed for time efficiency, as well (Figure ##FIG##0##1##).</p> <p>The observed performance differences of extreme pathway identification can best be explained by noting the reduction of network sizes achieved during the preprocessing phases of the MS and WW algorithms. The SLP algorithm uses the entire network, whose numbers of reactions and metabolites are shown in Table ##TAB##0##1##. The MS algorithm uses sub-networks containing only reactions that participate in cycles, but the WW algorithm uses sub-networks containing only reactions that participate in cycles that are composed of more than two reactions. The reduction in size between the full network and the sub-network used by the WW algorithm is dramatic, spanning more than an order of magnitude for each of the microbial networks (Table ##TAB##0##1##). For these networks, the majority of cycles are composed of only two reactions (Table ##TAB##1##2##), allowing the WW algorithm to produce much smaller sub-networks than the MS algorithm. This greatly reduces the computational effort required of the SLP algorithm, resulting in better performance.</p> <title>Overall performance</title> <p>Although the WW preprocessing step consumes more time and memory than MS preprocessing, the time and memory efficiency of identifying extreme pathways during the WW algorithm is dramatically better. Consequently, the overall execution time of the WW algorithm is substantially less than the MS algorithm, and the memory consumption is also significantly reduced during the phase of the computation that is most memory-intensive and most susceptible to combinatorial explosion.</p> <title>Caveats</title> <p>There are certain extreme cases where these performance differences will not persist. For example, if every reaction in a stoichiometric network participates in a cycle, the MS algorithm will fail to outperform the SLP algorithm. In this situation, the maximum flux of each reaction will be unbounded, resulting in a "sub-network" that is exactly the same as the original. Similarly, if every reaction in a stoichiometric network participates in cycles composed of more than two reactions, neither the MS nor WW algorithm will outperform the SLP algorithm. If all the cycles in a stoichiometric network are composed of more than two reactions, the WW algorithm will fail to outperform the MS algorithm. If a reaction network does not contain any cycles, the MS algorithm will likely have a performance advantage over the WW algorithm, depending on implementation details. We note that these extreme scenarios are not realistic for genome-scale metabolic networks (Table ##TAB##1##2##), the kinds of networks for which application of the WW algorithm would be most fruitful. If, finally, a network only contains cycles composed of two reactions, the WW algorithm will never make use of the SLP algorithm, which eliminates the chance of combinatorial explosion and most likely provides further dramatic performance improvements over the MS algorithm.</p> <p>It should also be noted that the algorithmic performances described herein are dependent upon implementation details and the choice of underlying algorithms. Other software and algorithms [##UREF##1##25##, ####UREF##2##26##, ##UREF##3##27####3##27##], for example, could be used to identify extreme pathways, which would certainly change the time and memory requirements of these computations. Additionally, flux maximization was performed by both implementations of the WW and MS algorithms during the preprocessing phase. As mentioned above, replacing flux maximization with another technique, such as an infeasibility test, would also change the time and memory requirements of this portion of the algorithms.</p>
<title>Conclusion</title> <p>The WW algorithm consistently achieves significant performance improvements over both the MS and SLP algorithms for the microbial networks we examined. For these networks, the execution time and maximum memory consumption of the WW algorithm are both smaller by multiple factors. The scaling behavior of the WW algorithm as a function of network size is also preferable to both the MS and SLP algorithms. Due to combinatorial explosion during extreme pathway identification, however, all of the algorithms fail to identify the cycles within the human metabolic network. At this point in time, the WW algorithm appears to be the best choice for identifying steady state cycles in large, real-world stoichiometric networks, although additional algorithmic innovation is clearly desirable.</p>
<p>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/2.0"/>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</p> <title>Background</title> <p>Identifying cyclic pathways in chemical reaction networks is important, because such cycles may indicate <italic>in silico </italic>violation of energy conservation, or the existence of feedback <italic>in vivo</italic>. Unfortunately, our ability to identify cycles in stoichiometric networks, such as signal transduction and genome-scale metabolic networks, has been hampered by the computational complexity of the methods currently used.</p> <title>Results</title> <p>We describe a new algorithm for the identification of cycles in stoichiometric networks, and we compare its performance to two others by exhaustively identifying the cycles contained in the genome-scale metabolic networks of <italic>H. pylori</italic>, <italic>M. barkeri</italic>, <italic>E. coli</italic>, and <italic>S. cerevisiae</italic>. Our algorithm can substantially decrease both the execution time and maximum memory usage in comparison to the two previous algorithms.</p> <title>Conclusion</title> <p>The algorithm we describe improves our ability to study large, real-world, biochemical reaction networks, although additional methodological improvements are desirable.</p>
<title>Authors' contributions</title> <p>Both JW and AW contributed to the algorithm's conception and participated in drafting the manuscript. JW carried out all performance comparisons.</p> <title>Appendix</title> <p>The following is a list of properties of extreme pathways that have been published previously [##REF##10716907##14##,##REF##15283984##16##], and a list of logical deductions we make based on these properties. Each of these properties and deductions is very simple, but taken together, they lead to the principle (Deduction 8) that allows the WW algorithm to be much more efficient than its predecessors.</p> <p>Property 1. Extreme pathways are composed of the minimum number of reactions needed to function (that is, to have non-zero flux) at steady state [##REF##15283984##16##].</p> <p>Property 2. Extreme pathways are systematically independent, that is, extreme pathways cannot be composed of other extreme pathways [##REF##10716907##14##,##REF##15283984##16##].</p> <p>Property 3. Type III extreme pathways contain only internal reactions, that is, they never contain exchange reactions. All other types of extreme pathways contain at least one exchange reaction [##REF##10716907##14##].</p> <p>Deduction 1. Given Property 1, if any reaction is removed from an extreme pathway, or inactivated by constraining its flux to zero, the entire pathway is rendered inactive, that is, the flux of each reaction in the pathway must be zero.</p> <p>Deduction 2. Given Property 1, an extreme pathway can be viewed as a single, independent functional unit. For example, if all reactions in a network are inactivated, except those participating in a given extreme pathway, that particular pathway can still have non-zero flux.</p> <p>Deduction 3. Given Property 1, a single unidirectional internal reaction can never be an extreme pathway, because it cannot function at steady state by itself (excluding 'null' reactions, like A → A).</p> <p>Deduction 4. A pair of unidirectional forward-reverse reactions can form a type III extreme pathway. The pair can function at steady state without the need for other reactions and only by functioning together, satisfying Property 1. The pair cannot be composed of other extreme pathways, since a single reaction can never be an extreme pathway (Deduction 3), satisfying Property 2.</p> <p>Deduction 5. If an extreme pathway is composed of only two unidirectional reactions, they must be a forward-reverse reaction pair (R<sub>F</sub>, R<sub>R</sub>). The only way a reaction pair can maintain steady state concentrations is if R<sub>R </sub>consumes the products of R<sub>F </sub>at the same rate that R<sub>F </sub>consumes the products of R<sub>R</sub>.</p> <p>Deduction 6. Given Properties 1 and 2, and Deduction 4, an extreme pathway composed of more than two reactions can never contain a forward-reverse reaction pair.</p> <p>Deduction 7. Given Property 3 and Deduction 2, if the exchange reactions in a stoichiometric network are removed, only type III extreme pathways will remain. (Note, however, that the set of type III pathways in a network may change as a result of exchange reaction removal.)</p> <p>Deduction 8. If a unidirectional internal reaction R is active (i.e. its flux is greater than zero), all reverse reactions of R are inactivated (i.e. their fluxes have been constrained to zero), and the network contains no exchange reactions, R necessarily participates in a type III extreme pathway composed of more than two reactions. This statement is a direct consequence of Deductions 1, 4, 6 and 7.</p> <title>Supplementary Material</title>
<title>Acknowledgements</title> <p>We thank Christopher Lewis for his invaluable advice during software development, Axel von Kamp for his helpful discussions concerning Metatool, and João Rodrigues for his suggestions during preparation of this manuscript. AW acknowledges support from Swiss National Science Foundation (315200-116814), the Swiss Initiative in Systems Biology (SystemsX), and the Santa Fe Institute.</p>
<fig position="float" id="F1"><label>Figure 1</label><caption><p><bold>The average execution time of each algorithm with each network.</bold> Light grey indicates the time spent in the preprocessing phase, and dark grey indicates the time spent identifying extreme pathways. A dagger (†) directly over a bar indicates that the algorithm halted due to memory exhaustion. The indicated values are, therefore, only a lower bound on the total execution time required for successful completion.</p></caption></fig> <fig position="float" id="F2"><label>Figure 2</label><caption><p>The average maximum memory consumption of the preprocessing phase of the MS and WW algorithms with each network.</p></caption></fig> <fig position="float" id="F3"><label>Figure 3</label><caption><p><bold>The average maximum memory consumption of the extreme pathway identification phase of each algorithm with each network.</bold> A dagger (†) directly over a bar indicates that the algorithm halted due to memory exhaustion. The indicated values are, therefore, only a lower bound on the maximum memory required for successful completion.</p></caption></fig>
<table-wrap position="float" id="T1"><label>Table 1</label><caption><p>Sizes of networks supplied to the SLP algorithm by each algorithm.</p></caption><table frame="hsides" rules="groups"><thead><tr><td/><td align="center" colspan="3"><bold>Chemical Species</bold></td><td align="center" colspan="3"><bold>Reactions</bold></td><td align="center" colspan="3"><bold>Non-Zero</bold><break/><bold>Matrix Elements</bold></td></tr><tr><td colspan="1"><hr/></td><td colspan="3"><hr/></td><td colspan="3"><hr/></td><td colspan="3"><hr/></td></tr><tr><td align="left"><bold>Network</bold></td><td align="center"><bold>SLP</bold></td><td align="center"><bold>MS</bold></td><td align="center"><bold>WW</bold></td><td align="center"><bold>SLP</bold></td><td align="center"><bold>MS</bold></td><td align="center"><bold>WW</bold></td><td align="center"><bold>SLP</bold></td><td align="center"><bold>MS</bold></td><td align="center"><bold>WW</bold></td></tr></thead><tbody><tr><td align="left"><italic>H. pylori</italic></td><td align="center">486</td><td align="center">251</td><td align="center">34</td><td align="center">642</td><td align="center">335</td><td align="center">26</td><td align="center">2861</td><td align="center">1285</td><td align="center">110</td></tr><tr><td align="left"><italic>M. barkeri</italic></td><td align="center">628</td><td align="center">308</td><td align="center">34</td><td align="center">816</td><td align="center">400</td><td align="center">40</td><td align="center">3781</td><td align="center">1609</td><td align="center">182</td></tr><tr><td align="left"><italic>E. coli</italic></td><td align="center">1673</td><td align="center">897</td><td align="center">57</td><td align="center">2635</td><td align="center">1140</td><td align="center">50</td><td align="center">10487</td><td align="center">3366</td><td align="center">201</td></tr><tr><td align="left"><italic>S. cerevisiae</italic></td><td align="center">1061</td><td align="center">636</td><td align="center">77</td><td align="center">1580</td><td align="center">873</td><td align="center">98</td><td align="center">6746</td><td align="center">3182</td><td align="center">384</td></tr><tr><td align="left"><italic>H. sapiens</italic></td><td align="center">2786</td><td align="center">1630</td><td align="center">633</td><td align="center">4482</td><td align="center">2812</td><td align="center">1229</td><td align="center">17571</td><td align="center">9677</td><td align="center">5010</td></tr></tbody></table></table-wrap> <table-wrap position="float" id="T2"><label>Table 2</label><caption><p>Number of cycles per microbial network.</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="left"><bold>Network</bold></td><td align="center"><bold>Cycles of Size = 2</bold></td><td align="center"><bold>Cycles of Size &gt; 2</bold></td><td align="center"><bold>Total Cycles</bold></td></tr></thead><tbody><tr><td align="left"><italic>H. pylori</italic></td><td align="center">165</td><td align="center">7</td><td align="center">172</td></tr><tr><td align="left"><italic>M. barkeri</italic></td><td align="center">200</td><td align="center">27</td><td align="center">227</td></tr><tr><td align="left"><italic>E. coli</italic></td><td align="center">564</td><td align="center">27</td><td align="center">591</td></tr><tr><td align="left"><italic>S. cerevisiae</italic></td><td align="center">434</td><td align="center">39</td><td align="center">473</td></tr></tbody></table></table-wrap>
<supplementary-material content-type="local-data" id="S1"><caption><title>Additional file 1</title><p>Supplementary Figures. Algorithmic performances represented on a log scale.</p></caption></supplementary-material>
<graphic xlink:href="1752-0509-2-61-1"/> <graphic xlink:href="1752-0509-2-61-2"/> <graphic xlink:href="1752-0509-2-61-3"/>
<media xlink:href="1752-0509-2-61-S1.ppt" mimetype="application" mime-subtype="vnd.ms-powerpoint"><caption><p>Click here for file</p></caption></media>
[{"surname": ["Terzer", "Stelling"], "given-names": ["M", "J"], "article-title": ["Accelerating the computation of elementary modes using pattern trees"], "source": ["Alg in Bioinformatics"], "year": ["2006"], "volume": ["4175"], "fpage": ["333ff"]}, {"surname": ["Motzkin", "Raiffa", "Thompson", "Thrall"], "given-names": ["TS", "H", "GL", "RM"], "article-title": ["The double description method"], "source": ["Contributions to the Theory of Games"], "year": ["1953"], "volume": ["2"], "fpage": ["51"], "lpage": ["73"]}, {"surname": ["Avis"], "given-names": ["D"], "article-title": ["Computational experience with the reverse search vertex enumeration algorithm"], "source": ["Optimization Methods and Software"], "year": ["1998"], "volume": ["10"], "fpage": ["107"], "lpage": ["124"], "pub-id": ["10.1080/10556789808805706"]}, {"surname": ["Avis"], "given-names": ["D"], "article-title": ["A revised implementation of the reverse search vertex enumeration algorithm"], "source": ["Polytopes-Combinatorics and Computation"], "volume": ["29"], "fpage": ["177"], "lpage": ["198"]}, {"surname": ["Feist", "Scholten", "Palsson", "Brockman", "Ideker"], "given-names": ["AM", "JCM", "BO", "FJ", "T"], "article-title": ["Modeling methanogenesis with a genome-scale metabolic reconstruction of "], "italic": ["Methanosarcina barkeri"], "source": ["Mol Syst Biol"], "year": ["2006"], "volume": ["2"], "fpage": ["1"], "lpage": ["14"], "pub-id": ["10.1038/msb4100046"]}, {"article-title": ["Systems Biology Research Group"]}, {"article-title": ["BiGG Database"]}]
BMC Syst Biol. 2008 Jul 11; 2:61