<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1752-0509-2-40</ui>
   <ji>1752-0509</ji>
   <fm>
      <dochead>Methodology article</dochead>
      <bibl>
         <title>
            <p>Exploiting the pathway structure of metabolism to reveal high-order epistasis</p>
         </title>
         <aug>
            <au id="A1" ca="yes">
               <snm>Imielinski</snm>
               <fnm>Marcin</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>imielinski@chop.edu</email>
            </au>
            <au id="A2">
               <snm>Belta</snm>
               <fnm>Calin</fnm>
               <insr iid="I3"/>
               <email>cbelta@bu.edu</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Center for Applied Genomics, Children's Hospital of Philadelphia, Philadelphia, USA</p>
            </ins>
            <ins id="I2">
               <p>MD/PhD Program, University of Pennsylvania School of Medicine, Philadelphia, USA</p>
            </ins>
            <ins id="I3">
               <p>Bioinformatics Graduate Program, Boston University, Brookline, USA</p>
            </ins>
         </insg>
         <source>BMC Systems Biology</source>
         <issn>1752-0509</issn>
         <pubdate>2008</pubdate>
         <volume>2</volume>
         <issue>1</issue>
         <fpage>40</fpage>
         <url>http://www.biomedcentral.com/1752-0509/2/40</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="pmpid">18447928</pubid>
               <pubid idtype="doi">10.1186/1752-0509-2-40</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>05</day>
               <month>12</month>
               <year>2007</year>
            </date>
         </rec>
         <acc>
            <date>
               <day>30</day>
               <month>4</month>
               <year>2008</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>30</day>
               <month>4</month>
               <year>2008</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2008</year>
         <collab>Imielinski and Belta; 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>Biological robustness results from redundant pathways that achieve an essential objective, e.g. the production of biomass. As a consequence, the biological roles of many genes can only be revealed through multiple knockouts that identify a <it>set </it>of genes as essential for a given function. The identification of such "epistatic" essential relationships between network components is critical for the understanding and eventual manipulation of robust systems-level phenotypes.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>We introduce and apply a network-based approach for genome-scale metabolic knockout design. We apply this method to uncover over 11,000 minimal knockouts for biomass production in an <it>in silico </it>genome-scale model of <it>E. coli</it>. A large majority of these "essential sets" contain 5 or more reactions, and thus represent complex epistatic relationships between components of the <it>E. coli </it>metabolic network.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusion</p>
               </st>
               <p>The complex minimal biomass knockouts discovered with our approach illuminate robust essential systems-level roles for reactions in the <it>E. coli </it>metabolic network. Unlike previous approaches, our method yields results regarding high-order epistatic relationships and is applicable at the genome-scale.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>The complexity of biological systems arises from the highly parallel and epistatic relationships between their components. Determination of the systems level role of biological components has been classically approached through the study and characterization of knockout phenotypes. However, the robustness of biological systems obscures the role of most individual components, which are redundant and seemingly "dispensible". The role of such robust modules can only be revealed through multiple knockout of complex <it>essential sets </it><abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr></abbrgrp>.</p>
         <p>This property of complex biological systems is particularly true for small-molecule metabolism, which is governed by an intricate and highly robust network of biochemical reactions that leaves most single knockouts without a discernible <it>in vivo </it>or <it>in silico </it>phenotype. A recent study by Deutscher et al. employs <it>in silico </it>multiple knockout analysis to reveal novel essential roles for reactions in the yeast metabolic network <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. These results indicate the presence of "deep" epistatic relationships between large sets of network components that manifest only with multiple knockouts. They suggest that systematic probing of such complex "essential reaction sets" can establish novel links between reactions and systems level functions.</p>
         <p>Interest in epistasis between biological network components is motivated by practical considerations. Firstly, the emergence of microbial resistance motivates the search for new antibiotics. Systems biology can inform this search through "rational" identification of multivalent pharmaceutical targets via a functional analysis of biological network robustness. Secondly, higher order interactions detected in <it>in silico </it>network models can help suggest "epistatic" candidate gene combinations for genomic association studies linking genotype to phenotype (e.g. human disease). Derivation of such interactions from a functional network model is one important way systems biology could impact applied genomics.</p>
         <p>Current approaches to <it>in silico </it>analysis of essentiality and epistasis in metabolism employ flux balance analysis (FBA), a linear programming (LP) based approach that optimizes biomass production subject to a given combination of capacity constraints on reactions <abbrgrp><abbr bid="B3">3</abbr></abbrgrp>. Applying a "brute force LP" approach, one can exhaustively test all combinations of single, double, triple etc. <it>in silico </it>mutants. This approach, though applicable to analysis of low-order (&#8804; 4) knockout combinations, is untenable for higher-order mutant combinations <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. For example, a network of 1000 reactions would require over 10<sup>14 </sup>linear programs to exhaustively test all possible quintuple-knockout combinations.</p>
         <p>A more "elegant" approach for probing essentiality in metabolic networks is the minimal cut set (MCS) algorithm of Klamt and Gilles <abbrgrp><abbr bid="B4">4</abbr></abbrgrp>. This algorithm employs the elementary modes (EM) of a metabolic network to uncover minimal cut sets, or minimal sets of reactions whose knockout disables a particular objective reaction. Underlying the MCS algorithm is the principle that a minimal cut set <it>R </it>for an objective reaction <it>j </it>is a minimal set of reactions that intersects all <it>j</it>-containing EM <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>. As a result, MCS can be enumerated for a network through the simple identification of "minimal hitting sets" for <it>j</it>-containing EM <abbrgrp><abbr bid="B6">6</abbr></abbrgrp>. The main limitation of the MCS algorithm is the intractability of EM calculation for large networks (i.e. larger than 300 reactions) given current computing resources and algorithms. This limitation renders the Klamt and Gilles method inapplicable to genome-scale models.</p>
         <p>In this paper, we demonstrate a scalable approach for uncovering high-order epistatic relationships between components of large metabolic networks. Our method is based on the analysis of <it>pathway fragments</it>, which arise as the extreme pathways of a submatrix of the stoichiometry matrix formed by taking a subset of its rows. Alternatively stated, pathway fragments are flux configurations that place only a subset of species in the system at steady state. Pathway fragments naturally emerge in the intermediate steps of the tableau algorithm for elementary mode computation <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>, and are thus obtainable for a network of any size. By employing properties of the feasible flux cone, we show how knockouts, or cut sets, for an objective reaction <it>j </it>can be constructed by enumerating minimal hitting sets for <it>j</it>-containing pathway fragments. Though the resulting cut sets are not guaranteed to be minimal, they can be reduced to minimality via a second LP based step. As we show, this method offers a practical and high-yield approach for MCS computation and the study of epistasis in genome-scale metabolic networks.</p>
         <p>We demonstrate the applicability of this approach to a genome scale metabolic model of <it>E. coli</it>, iJR904 <abbrgrp><abbr bid="B8">8</abbr></abbrgrp>. We use our method to calculate over 11,000 MCS for biomass production. This greatly exceeds the yield of LP-based brute force and random knockout approaches in identifying such complex "essential sets". Our results represent high order epistatic relationships between components of <it>E. coli </it>metabolism and illuminate essential systems level roles of reactions in highly redundant and robust <it>E. coli </it>subnetworks.</p>
      </sec>
      <sec>
         <st>
            <p>Results and Discussion</p>
         </st>
         <sec>
            <st>
               <p>Algorithm</p>
            </st>
            <sec>
               <st>
                  <p>Notation</p>
               </st>
               <p>&#8477; is the set of real numbers, <inline-formula><m:math name="1752-0509-2-40-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>&#8477;</m:mi><m:mo>+</m:mo><m:mi>n</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWefv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaacqWFDeIudaqhaaWcbaGaey4kaScabaGaemOBa4gaaaaa@3900@</m:annotation></m:semantics></m:math></inline-formula> is the set of all <it>n </it>- dimensional vectors with real and positive components, and &#8477;<sup><it>m </it>&#215; <it>n </it></sup>is the set of all <it>m </it>&#215; <it>n </it>matrices with real entries. Given <it>m</it>, <it>n </it>&#8712; &#8469;, we use the notation <it>M </it>= {1, ..., <it>m</it>} and <it>N </it>= {1, ..., <it>n</it>}. For a set <it>C</it>, we use |<it>C</it>| to denote its cardinality. If <it>A </it>&#8712; &#8477;<sup><it>m </it>&#215; <it>n </it></sup>and <it>U </it>&#8838; <it>M</it>, then <it>A</it><sub><it>U </it></sub>denotes the submatrix of <it>A </it>containing the rows with indices in the set <it>U</it>. Therefore, if <it>x </it>&#8712; &#8477;<sup><it>n</it></sup>, <it>i </it>&#8712; <it>N</it>, and <it>U </it>&#8834; <it>N</it>, then <it>x</it><sub><it>i </it></sub>and <it>x</it><sub><it>U </it></sub>&#8712; &#8477;<sup>|<it>U</it>| </sup>denote its <it>i</it>th component and the vector formed by taking components with indices in set <it>U</it>, respectively. The inequality <it>x </it>&#8805; 0 is interpreted componentwise, <it>i.e</it>., <it>x</it><sub><it>i </it></sub>&#8805; 0, <it>i </it>= 1, ..., <it>n</it>. Each vector <it>x </it>&#8712; &#8477;<sup><it>n </it></sup>induces a <it>ray</it>, <it>r </it>= {<it>&#945;x</it>| <it>&#945; </it>> 0}. We denote the set of nonzero indices of a ray <it>r </it>&#8834; &#8477;<sup><it>n </it></sup>as <it>NZ</it>(<it>r</it>) &#8834; <it>N</it>. The notation <it>r</it><sup>1 </sup>+ <it>r</it><sup>2</sup>, where <it>r</it><sup>1</sup>, <it>r</it><sup>2 </sup>are rays, refers to the usual (Minkowski) set sum.</p>
            </sec>
            <sec>
               <st>
                  <p>Minimal cut sets</p>
               </st>
               <p>A cut set for an objective metabolic function is a set of reactions whose knockout abolishes that function <abbrgrp><abbr bid="B4">4</abbr></abbrgrp>. Formally, a set of reactions <it>C </it>is a <it>cut set </it>for an objective reaction <it>j </it>in metabolic network <it>S </it>if and only if <it>v</it><sub><it>j </it></sub>> 0 is feasible in the wild type (i.e. &#8707;<it>v </it>&#8712; <it>K</it>|<it>v</it><sub><it>j </it></sub>> 0) and</p>
               <p>
                  <display-formula id="M1"><it>v</it><sub><it>C </it></sub>= 0 &#8594; <it>v</it><sub><it>j </it></sub>= 0, &#8704;<it>v </it>&#8712; <it>K</it>.</display-formula>
               </p>
               <p>where</p>
               <p>
                  <display-formula id="M2"><it>K </it>= {<it>v </it>&#8712; &#8477;<sup><it>n</it></sup>|<it>S</it><sub><it>v </it></sub>= 0, <it>v </it>&#8805; 0}</display-formula>
               </p>
               <p>is the <it>feasible flux cone </it>of <it>S</it>.</p>
               <p>More generally, we call <it>C </it>&#8834; <it>N </it>a cut set for an objective reaction <it>set J </it>&#8834; <it>N </it>if the wild type is able to sustain flux through <it>every </it>reaction in <it>J </it>and Equation 1 is satisfied for at least one <it>j </it>&#8712; <it>J</it>. For example if <it>J </it>corresponds to the set of biomass component sinks in the network, a cut set for <it>J </it>will be a reaction set <it>C </it>whose knockout disables the producibility <abbrgrp><abbr bid="B9">9</abbr></abbrgrp> of <it>at least </it>one biomass component.</p>
               <p>A cut set <it>C </it>is <it>minimal </it>if no proper subset of <it>C </it>is a cut set. Minimal cut sets (MCS) represent "elementary failure modes" of metabolic networks <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>. MCS also capture epistatic relationships between network components that have essential roles in robust systems-level functions. In this paper, we refer to a reaction as "<it>k</it>-essential" (e.g. 1-essential, 2-essential etc.) for a metabolic objective (e.g. biomass production) if it belongs in a MCS of size <it>k </it>for that function.</p>
               <p>Brute force LP approaches (e.g. FBA) can be applied to find MCS by exhaustively testing a collection of reaction knockouts to determine which of these "cuts" the objective reaction <it>j</it>. To test whether a reaction set <it>C </it>is a cutset for <it>k</it>, one employs an LP to determine the feasibility of <it>v</it><sub><it>j </it></sub>> 0 subject to <it>v</it><sub><it>C </it></sub>= 0, <it>v </it>&#8712; <it>K</it>. MCS can also be identified as "minimal hitting sets" of elementary modes <abbrgrp><abbr bid="B10">10</abbr></abbrgrp>. In combinatorics, a <it>hitting set </it>of a collection of sets <inline-formula><m:math name="1752-0509-2-40-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">C</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NaXpeaaa@374D@</m:annotation></m:semantics></m:math></inline-formula>, each taken from a universe of items <it>U</it>, is a set <it>H </it>&#8834; <it>U </it>that intersects every set in <inline-formula><m:math name="1752-0509-2-40-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">C</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NaXpeaaa@374D@</m:annotation></m:semantics></m:math></inline-formula>. In this paper, we refer to a set <it>H </it>&#8834; <it>N </it>as a hitting set for a collection of <it>vectors E </it>&#8834; &#8477;<sup><it>n </it></sup>if <it>H </it>intersects the nonzero components of <it>r </it>for every <it>r </it>&#8712; <it>E</it>. <it>H </it>is a <it>minimal hitting set </it>for <it>E </it>if none of its subsets are hitting sets.</p>
               <p>The results of Klamt and Gilles show that an MCS for an objective reaction <it>j </it>is a minimal hitting set of the collection of all elementary modes that employ <it>j </it><abbrgrp><abbr bid="B4">4</abbr><abbr bid="B10">10</abbr></abbrgrp>. This network-based cut set criterion follows from the fact that if one knocks out a set of reactions that disables all <it>j</it>-containing elementary modes, then one will constrain the flux through reaction <it>j </it>to 0 in all feasible fluxes. These results directly extend to extreme pathways, which are equivalent to the elementary modes of an irreversible metabolic network <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>. Namely, an MCS for reaction <it>j </it>is a minimal hitting set of all the <it>j</it>-containing extreme pathways. We choose the extreme pathway convention in this paper because it tends to be a more compact representation of the pathway structure of metabolism <abbrgrp><abbr bid="B12">12</abbr></abbrgrp>.</p>
               <p>Both the brute-force LP approach and the MCS algorithm of Klamt and Gilles have deep limitations in discovering genome-scale MCS. The size of most genome-scale metabolic networks (> 500 &#8211; 1000 reactions) renders brute-force LP approaches practical only for finding low cardinality MCS (<it>k </it>&#8804; 2), though high performance computing and restriction of the search to a subset of model reactions can extend this limit to <it>k </it>&#8804; 4 <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. The MCS algorithm of Klamt and Gilles is not applicable to the genome-scale due to its dependence on elementary mode computation, which is only feasible for small metabolic networks (i.e. less than 300 reactions) <abbrgrp><abbr bid="B4">4</abbr><abbr bid="B10">10</abbr><abbr bid="B11">11</abbr><abbr bid="B13">13</abbr></abbrgrp>.</p>
               <p>In this paper we introduce <it>NetKO</it>, a three-step procedure for generating genome scale MCS. In the first step, we use the tableau algorithm to generate a collection of <it>pathway fragments </it>for the metabolic network. In the second step, we compute a collection of cut sets for each reaction <it>j </it>&#8712; <it>J </it>through the analysis of pathway fragments. In the third step, we use pairwise set comparisons and LP to generate a collection of MCS for the objective reaction set <it>J</it>.</p>
            </sec>
            <sec>
               <st>
                  <p>Extreme pathways</p>
               </st>
               <p>The feasible flux cone <it>K </it>of a metabolic network <it>S </it>is the set sum of a finite and unique collection of extreme rays <it>E</it>(<it>K</it>), called <it>extreme pathways </it><abbrgrp><abbr bid="B14">14</abbr></abbrgrp>. The standard tableau algorithm for computing extreme pathways <it>E</it>(<it>K</it>) associated with stoichiometry matrix <it>S </it>is an iterative procedure that computes the extreme rays <it>E</it>(<it>K</it><sup><it>i</it></sup>) for a series of polyhedral cones <it>K</it><sup><it>i </it></sup>&#8834; &#8477;<sup><it>n</it></sup>, <it>i </it>&#8712; {0, ..., <it>m</it>} given by:</p>
               <p>
                  <display-formula id="M3">
                     <m:math name="1752-0509-2-40-i4" xmlns:m="http://www.w3.org/1998/Math/MathML">
                        <m:semantics>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>K</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msup>
                              <m:mo>=</m:mo>
                              <m:mo>{</m:mo>
                              <m:mi>v</m:mi>
                              <m:mo>|</m:mo>
                              <m:msub>
                                 <m:mi>S</m:mi>
                                 <m:mrow>
                                    <m:msub>
                                       <m:mi>M</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                 </m:mrow>
                              </m:msub>
                              <m:mi>v</m:mi>
                              <m:mo>=</m:mo>
                              <m:mn>0</m:mn>
                              <m:mo>,</m:mo>
                              <m:mi>v</m:mi>
                              <m:mo>&#8805;</m:mo>
                              <m:mn>0</m:mn>
                              <m:mo>,</m:mo>
                              <m:msub>
                                 <m:mi>M</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>=</m:mo>
                              <m:mo>{</m:mo>
                              <m:mn>1</m:mn>
                              <m:mo>&#8230;</m:mo>
                              <m:mi>i</m:mi>
                              <m:mo>}</m:mo>
                              <m:mo>}</m:mo>
                              <m:mo>.</m:mo>
                           </m:mrow>
                           <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4saS0aaWbaaSqabeaacqWGPbqAaaGccqGH9aqpcqGG7bWEcqWG2bGDcqGG8baFcqWGtbWudaWgaaWcbaGaemyta00aaSbaaWqaaiabdMgaPbqabaaaleqaaOGaemODayNaeyypa0JaeGimaaJaeiilaWIaemODayNaeyyzImRaeGimaaJaeiilaWIaemyta00aaSbaaSqaaiabdMgaPbqabaGccqGH9aqpcqGG7bWEcqaIXaqmcqWIMaYscqWGPbqAcqGG9bqFcqGG9bqFcqGGUaGlaaa@4E47@</m:annotation>
                        </m:semantics>
                     </m:math>
                  </display-formula>
               </p>
               <p>The algorithm is seeded with the initial cone <it>K</it><sup>0 </sup>= <inline-formula><m:math name="1752-0509-2-40-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>&#8477;</m:mi><m:mo>+</m:mo><m:mi>n</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWefv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaacqWFDeIudaqhaaWcbaGaey4kaScabaGaemOBa4gaaaaa@3900@</m:annotation></m:semantics></m:math></inline-formula>. The initial collection of generators <it>E</it>(<it>K</it><sup>0</sup>) consists of rays induced by the Euclidean basis vectors <it>e</it><sup><it>j </it></sup>&#8712; &#8477;<sup><it>n</it></sup>. At each iteration <it>i </it>&#8712; {1, ..., <it>m</it>}, the generators <it>E</it>(<it>K</it><sup><it>i</it></sup>) are computed from the analysis of rays in <it>E</it>(<it>K</it><sup><it>i </it>- 1</sup>) in three steps.</p>
               <p>In the first step, each ray in <it>E</it><sup><it>i</it>-1 </sup>is tested to determine whether it belongs to the hyperplane <it>S</it><sub><it>i</it></sub><it>v </it>= 0. Rays in <it>E</it>(<it>K</it><sup><it>i </it>- 1</sup>) that belong to this hyperplane are added to the collection <it>E</it>(<it>K</it><sup><it>i</it></sup>). In the second step of iteration <it>i</it>, the algorithm considers each ray pair in <it>E</it>(<it>K</it><sup><it>i </it>- 1</sup>) that lies on opposite sides of the hyperplane <it>S</it><sub><it>i</it></sub><it>v </it>= 0. The intersection of the set sum of each ray pair with <it>S</it><sub><it>i</it></sub><it>v </it>= 0 induces a new ray that lies within the cone <it>K</it><sup><it>i</it></sup>. Each such ray is added to the collection <it>E</it>(<it>K</it><sup><it>i</it></sup>).</p>
               <p>The third and final step of each iteration <it>i </it>involves removal of non-extreme rays from <it>E</it>(<it>K</it><sup><it>i</it></sup>). This is implemented by comparing the sparsity patterns of each ray pair in <it>E</it>(<it>K</it><sup><it>i</it></sup>) and removing any ray <it>r </it>for which there exists an <it>r</it><sup>' </sup>such that <it>NZ</it>(<it>r</it><sup>'</sup>) &#8834; <it>NZ</it>(<it>r</it>). Following iteration <it>m</it>, the tableau algorithm terminates, having computed the extreme rays of polyhedral cone <it>K </it>= <it>K</it><sup><it>m</it></sup>. However, given the computational complexity of the third step in each iteration, the tableau algorithm fails to terminate (i.e. reach iteration <it>m</it>) for most genome-scale metabolic networks.</p>
            </sec>
            <sec>
               <st>
                  <p>Pathway fragments enable a "relaxed" cut set criterion</p>
               </st>
               <p>Each iteration <it>i </it>of the tableau algorithm produces a collection of rays <it>E</it>(<it>K</it><sup><it>i</it></sup>) &#8834; &#8477;<sup><it>n</it></sup>, which we refer to as <it>pathway fragments</it>. Each pathway fragment in <it>E</it>(<it>K</it><sup><it>i</it></sup>) obeys the quasi steady state assumption for the subset <it>M</it><sub><it>i </it></sub>&#8838; <it>M </it>of species in the system <inline-formula><m:math name="1752-0509-2-40-i5" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>x</m:mi><m:mo>&#729;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmiEaGNbaiaaaaa@2D57@</m:annotation></m:semantics></m:math></inline-formula> = <it>Sv</it>, <it>v </it>&#8805; 0. Though a collection of pathway fragments contains incomplete information about metabolic network dynamics, we will show that it offers much insight into its failure modes. We exploit this property in our network-based genome-scale knockout design approach. Each pathway fragment collection <it>E</it>(<it>K</it><sup><it>i</it></sup>) contains the extreme rays of the cone <it>K</it><sup><it>i </it></sup>in Equation 3.</p>
               <p>Applying Klamt and Gilles' criterion to Equation 3, a minimal hitting set <it>C </it>for the <it>j</it>-containing rays in <it>E</it>(<it>K</it><sup><it>i</it></sup>) is an MCS for reaction <it>j </it>in the "relaxed" system <inline-formula><m:math name="1752-0509-2-40-i6" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>S</m:mi><m:mrow><m:msub><m:mi>M</m:mi><m:mi>i</m:mi></m:msub></m:mrow></m:msub><m:mi>v</m:mi></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4uam1aaSbaaSqaaiabd2eannaaBaaameaacqWGPbqAaeqaaaWcbeaakiabdAha2baa@3165@</m:annotation></m:semantics></m:math></inline-formula> = 0, <it>v </it>&#8805; 0. This means that <it>C </it>is a minimal. set of reactions satisfying the relation:</p>
               <p>
                  <display-formula id="M4"><it>v</it><sub><it>C </it></sub>= 0 &#8658; <it>v</it><sub><it>j </it></sub>= 0, &#8704;<it>v </it>&#8712; <it>K</it><sup><it>i</it></sup></display-formula>
               </p>
               <p>Comparison of Equations 2 and 3 shows that the cone <it>K</it><sup><it>i</it></sup>generated by a pathway fragment collection <it>E</it>(<it>K</it><sup><it>i</it></sup>) is an <it>overapproximation </it>of the final feasible ux cone <it>K </it>(Figure <figr fid="F1">1</figr>). Formally,</p>
               <fig id="F1">
                  <title>
                     <p>Figure 1</p>
                  </title>
                  <caption>
                     <p>Pathway fragments enable a "relaxed" cut set criterion</p>
                  </caption>
                  <text>
                     <p><b>Pathway fragments enable a "relaxed" cut set criterion</b>. The feasible ux cone <it>K </it>of a metabolic network is contained inside the cone <it>K</it><sup><it>i </it></sup>generated by the pathway fragment collection <it>E</it>(<it>K</it><sup><it>i</it></sup>) obtained from any iteration <it>i </it>of the tableau algorithm. Because of this property, the knockout of a reaction set <it>R </it>that intersects all <it>j</it>-containing pathway fragments in <it>E</it>(<it>K</it><sup><it>i</it></sup>) will be guaranteed to "cut" the ux through an objective reaction <it>j</it>.</p>
                  </text>
                  <graphic file="1752-0509-2-40-1"/>
               </fig>
               <p>
                  <display-formula id="M5"><it>K </it>&#8838; <it>K</it><sup><it>i</it></sup>.</display-formula>
               </p>
               <p>As a result, any flux configuration that is infeasible in <it>K</it><sup><it>i</it></sup>will also be infeasible in <it>K</it>. Alternatively stated, if <it>C </it>satisfies Equation 4 then it also satisfies Equation 1. Thus, <it>C </it>is a cut set for <it>j </it>in the full system <it>Sv </it>= 0, <it>v </it>&#8805; 0.</p>
               <p>In this section, we have proven a "relaxed" version of Klamt and Gilles' cut set criterion. Namely, we have shown that a minimal hitting set for a collection of <it>j</it>-containing pathway fragments is a cut set for <it>j </it>in a metabolic network <it>S</it>. As a result, the problem of computing cut sets for an objective reaction <it>j </it>can be reduced to the enumeration of minimal hitting sets for the <it>j</it>-containing pathway fragments. The latter can be achieved by iterating through the <it>j</it>-containing pathway fragments via the procedure <it>MinHit </it>(Table <tblr tid="T3">3</tblr>), described in the implementation section. As we will show in the results, application of this "relaxed" pathway-fragment based cut set criteria enables network-based knockout design on the genome-scale.</p>
            </sec>
            <sec>
               <st>
                  <p>Post-processing for non-minimal cut sets</p>
               </st>
               <p>Our "relaxed" cut set criterion is able to generate genuine cut sets for the <it>entire </it>metabolic network <it>S </it>despite employing only a traversal across the <it>subset M</it><sub><it>i </it></sub>of metabolites. However, the incompleteness of this traversal makes our criterion <it>sufficient but not necessary </it>for determining whether a reaction set <it>C </it>constitutes a cut set for reaction <it>j</it>. This results in two caveats regarding the "quality" of cut sets obtained from the analysis of pathway fragments: 1) not all cut sets are guaranteed to be found and 2) cut sets that are found are not guaranteed to be minimal. To fully reduce cut sets generated by <it>MinHit </it>to minimality, we apply an LP based post-processing step <it>Reduce </it>(Table <tblr tid="T4">4</tblr>) to 1) checks minimality of cut sets and 2) (if necessary) reduces them to their minimal subsets. We describe <it>Reduce </it>in more detail in the Methods section.</p>
               <p>There may be additional sources of non-minimality when one pursues MCS for a <it>set </it>of objectives <it>J </it>(e.g. the set of biomass sinks). In this case a cut set obtained for one reaction <it>j</it><sup>1 </sup>&#8712; <it>J </it>may be a subset of a cut set obtained for a second reaction <it>j</it><sup>2 </sup>&#8712; <it>J</it>. Both may be MCS for their respective objectives, however one (or both) may be non-minimal with respect to the objective set <it>J</it>. For example, if <it>J </it>corresponds to the set of biomass sinks in the network, an MCS for L-isoleucine production may be built by adding reactions to an L-threonine MCS. Such non-MCS may be immediately pruned through a pair-wise comparison of cut sets generated by <it>MinHit </it>for the various individual sinks in <it>J</it>, and removal of sets for which there exists a subset.</p>
            </sec>
            <sec>
               <st>
                  <p>Guiding the tableau algorithm to maximize pathway fragment quality</p>
               </st>
               <p>As may be intuitively expected, the quality of cut sets obtained with our approach directly depends on the "quality" of pathway fragments. At each iteration, the tableau algorithm "learns" more about network constraints imposed by the steady state requirement for each individual species. As a result, later iterations of the tableau algorithm yield more informative pathway fragments. In other words, pathway fragments gathered from an early iteration of the algorithm are "naive" and will yield fewer cut sets that are farther from being minimal. Conversely, "mature" pathway fragments gathered from a later iteration will yield larger numbers of cut sets that are closer to being minimal.</p>
               <p>A simple approach that we apply to maximize the iteration <it>i </it>reached by the tableau algorithm is the "local greedy" optimization strategy described by Bell and Palsson <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>. This strategy is applied after each iteration of the tableau algorithm to choose the "cheapest" metabolite for the following iteration. The cost of each metabolite is computed as the number of pathway fragments at that iteration that consume that metabolite multiplied by the number of pathway fragments that produce that metabolite. This metabolite ordering strategy can be conceptually understood as a network traversal that begins with the least connected metabolites (e.g. network dead ends) and saves highly connected metabolites (e.g. ATP, water) for later iterations. Though we exclusively use this strategy for this study, we will mention several alternative metabolite ordering approaches that may be used for network-based genome-scale knockout design later in the discussion.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Network-based approach yields 11,706 complex essential sets in <it>E. coli</it></p>
            </st>
            <p>To test our approach, we examined failure modes for rich media biomass production in the <it>E. coli </it>IJR904 genome-scale metabolic network model. In rich media, all extracellular nutrients are made available, resulting in many redundant pathways for biomass biosynthesis. This redundancy makes biomass production very difficult to suppress via single or double knockouts.</p>
            <p>Our network based analysis approach found 11,706 MCS for biomass production in rich media. These MCS target 36 of 49 biomass components and employ 355 of the 1324 possible non-sink reactions in the <it>E. coli </it>network. As shown in Figure <figr fid="F2">2</figr>, most of these 11,706 essential sets have high cardinality (> 5 reactions). The vast majority (11343) of the MCS carry out a precise "surgical strike" on biomass production, targeting the synthesis of only a single component. Biomass components most often targeted by these MCS are L-threonine (10655 MCS), dTTP (297 MCS), 5-methyl-THF (216 MCS), FAD (197 MCS), and dGTP (190 MCS). All 11,706 MCS and their biomass targets are included as Supplementary Data [see Additional File <supplr sid="S1">1</supplr>.</p>
            <suppl id="S1">
               <title>
                  <p>Additional file 1</p>
               </title>
               <text>
                  <p>Supplementary Data. The data provided lists the reaction labels corresponding to each minimal cut set discovered by the <it>NetKO </it>algorithm for <it>E. coli </it>biomass production in rich media.</p>
               </text>
               <file name="1752-0509-2-40-S1.xls">
                  <p>Click here for file</p>
               </file>
            </suppl>
            <fig id="F2">
               <title>
                  <p>Figure 2</p>
               </title>
               <caption>
                  <p>NetKO uncovers high-cardinality minimal cut sets</p>
               </caption>
               <text>
                  <p><b>NetKO uncovers high-cardinality minimal cut sets</b>. Our network-based genome-scale knockout design approach preferentially discovers high cardinality minimal cut sets for biomass production: 11,218 of the 11,706 minimal cut sets discovered are of cardinality 5 or above. These minimal cut sets represent high-order epistasis between parallelized metabolic network components.</p>
               </text>
               <graphic file="1752-0509-2-40-2"/>
            </fig>
            <sec>
               <st>
                  <p>Essential sets reveal epistasis between diverse <it>E. coli </it>subsystems</p>
               </st>
               <p>The original model annotation of <it>E. coli </it>iJR904 groups reactions into 30 "subsystems" <abbrgrp><abbr bid="B8">8</abbr></abbrgrp>. The MCS obtained from network analysis span 23 of these 30 reaction subsystems in the <it>E. coli </it>metabolic network. Superimposition of the MCS on the subsystem reaction classification yields 58 unique "subsystem signatures", which are shown in Figure <figr fid="F3">3</figr>. Analyzing these signatures shows that only 289 of the MCS discovered with our approach target a single subsystem, while the vast majority (10838) target three or four subsystems. The most prevalent (7720 MCS) of these multivalent subsystem signatures target the combination of "Cell Envelope Biosynthesis", "Threonine and Lysine Metabolism", "Alternate Carbon Metabolism", and "Extracellular transport". MCS with such signatures clearly represent complex interactions between functionally disparate and parallel portions of the <it>E. coli </it>metabolic network.</p>
               <fig id="F3">
                  <title>
                     <p>Figure 3</p>
                  </title>
                  <caption>
                     <p>MCS target multiple <it>E. coli </it>subsystems</p>
                  </caption>
                  <text>
                     <p><b>MCS target multiple <it>E. coli </it>subsystems</b>. Minimal cut sets (MCS) for biomass production target 23 of 30 <it>E. coli </it>reaction subsystems. The most often targeted subsystems are "Cell Envelope Biosynthesis", "Threonine and Lysine Metabolism", "Alternate Carbon Metabolism", and "Extracellular Transport". 7 subsystems are not targeted by any MCS, including 'Alanine and aspartate metabolism', 'Anaplerotic reactions', 'Pyruvate metabolism', and 'Citrate Cycle (TCA)'. Subsystem annotations are taken from the original <it>E. coli </it>iJR904 model annotation [8]. For compactness, subsystems "Unassigned", "Putative", and "Putative Transporters" were not included in the subsystem signatures shown in the above figure.</p>
                  </text>
                  <graphic file="1752-0509-2-40-3"/>
               </fig>
            </sec>
            <sec>
               <st>
                  <p>NetKO efficiently uncovers complex interactions in <it>E. coli </it>metabolic network</p>
               </st>
               <p>To demonstrate the utility of NetKO, we benchmarked it against two standard <it>in silico </it>metabolic knockout analysis approaches: brute-force LP and random knockout. For brute-force LP, we tested all single and double knockouts. In our random knockout approach, we sampled 250,000 random reaction sets of cardinality 10. For each such set, we determined whether its knockout cut the production of biomass and reduced it to minimality with respect to biomass production (via <it>Reduce</it>).</p>
               <p>Comparing the results (Table <tblr tid="T1">1</tblr>) we found that <it>NetKO </it>was able to yield a larger number of MCS that targeted more reactions in the network than either brute force or random knockout approaches. Table <tblr tid="T1">1</tblr> shows that our network-based genome-scale knockout design yielded over 50 times as many MCS as both brute-force and random KO approaches. Furthermore, MCS obtained using our network-based approach implicate a larger number of reactions as <it>k </it>&lt; 10-essential for biomass production for rich media <it>E. coli</it>. Though we employ different cardinality limits for the network based (<it>k </it>&#8804; 10) and brute force (<it>k </it>&#8804; 2) approaches in this benchmark, we note that these results reflect a similar order of magnitude of LP operations (115,243 vs 487,671), resulting in higher return for a similar expenditure of computational resources. In comparison to the random approach, which also tests reaction sets of cardinality 10, we note that <it>NetKO </it>employs two orders of magnitude fewer linear programs than a random knockout approach (113,989 vs 7,221,149) while yielding many more high-order interactions.</p>
               <tbl id="T1">
                  <title>
                     <p>Table 1</p>
                  </title>
                  <caption>
                     <p>Benchmarking Results</p>
                  </caption>
                  <tblbdy cols="4">
                     <r>
                        <c ca="left">
                           <p>
                              <b>Property</b>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <b>Brute-force LP (k = 2)</b>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <b>Random KO + Reduce (k = 10)</b>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <b>NetKO (k = 10)</b>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c cspan="4">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Number of MCS found</p>
                        </c>
                        <c ca="left">
                           <p>215</p>
                        </c>
                        <c ca="left">
                           <p>223</p>
                        </c>
                        <c ca="left">
                           <p>11,706</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Highest Cardinality MCS Obtained</p>
                        </c>
                        <c ca="left">
                           <p>2</p>
                        </c>
                        <c ca="left">
                           <p>3</p>
                        </c>
                        <c ca="left">
                           <p>10</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Reactions included in at least one MCS</p>
                        </c>
                        <c ca="left">
                           <p>263</p>
                        </c>
                        <c ca="left">
                           <p>235</p>
                        </c>
                        <c ca="left">
                           <p>355</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Number of biomass components targeted</p>
                        </c>
                        <c ca="left">
                           <p>38</p>
                        </c>
                        <c ca="left">
                           <p>41</p>
                        </c>
                        <c ca="left">
                           <p>36</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Number of linear programming steps</p>
                        </c>
                        <c ca="left">
                           <p>487,670</p>
                        </c>
                        <c ca="left">
                           <p>7,221,149</p>
                        </c>
                        <c ca="left">
                           <p>113,989</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>Comparison of our network-based genome-scale knockout design approach (NetKO) with two LP-based methods: The standard genome-scale method for MCS computation for all single and double knockouts (Brute Force LP) and a random knockout approach combined with reduction to minimality for 250,000 cardinality 10 reaction sets (Random KO + reduce).</p>
                  </tblfn>
               </tbl>
               <p>Comparison of brute KO and <it>NetKO </it>results show that in many ways the two approaches are complementary (Table <tblr tid="T1">1</tblr>). For example, <it>NetKO </it>is not guaranteed to find <it>all </it>cut sets of a given cardinality: it misses 99 of the 215 MCS found with brute-force LP. Furthermore, MCS obtained using brute-force LP cover an alternate set of reactions and biomass components than MCS discovered using <it>NetKO</it>. This occurs because <it>NetKO </it>is biased towards finding high-cardinality MCS. Though the number of reactions belonging to Brute-force LP and <it>NetKO </it>derived MCS are the same, we note that <it>NetKO </it>establishes <it>k </it>&lt; 10-essential roles for 184 <it>E. coli </it>reactions that have no 1- or 2- essential role in biomass production. The differences in biomass targets also reflect the fact that brute force LP is biased towards biomass components targeted by low-cardinality cut sets (e.g. LPS). Because of these differences, one can use "brute force LP" results to determine general network properties regarding the rate of interaction between genes for a given degree of epistasis <it>k </it><abbrgrp><abbr bid="B2">2</abbr></abbrgrp>, which cannot be gleaned from the results of <it>NetKO</it>. Conversely, unlike brute force LP, one can use <it>NetKO </it>to uncover very high-order epistatic relationships for robust network functions.</p>
               <p>Our random KO results demonstrate quite strikingly how difficult it is to find high order MCS in the <it>E. coli </it>metabolic network (Table <tblr tid="T1">1</tblr>). Though many (52%) of the 250,000 random reaction sets of size 10 cut biomass production, all of these cut sets are built from a relatively small number (223) of size 1 to 3 MCS. The rarity of high cardinality MCS in these results is a testament to the efficacy of <it>NetKO </it>in exploiting network structure for knockout design. Additionally, the difference between the size of these cut sets and the size of MCS they contain shows why it is so expensive (requiring over 7 million LP's) to reduce these random high-cardinality cut sets to minimality. In contrast, cut sets generated through pathway fragment analysis in <it>NetKO </it>are much closer to minimality, requiring much fewer LP's in the <it>Reduce </it>computational step.</p>
            </sec>
            <sec>
               <st>
                  <p>Minimal cut sets targeting L-threonine reveal a robust 41 reaction biosynthetic subnetwork</p>
               </st>
               <p>In <it>E. coli </it>iJR904, L-threonine production is invulnerable to all single or double knockouts. However, <it>NetKO </it>discovers 10655 MCS that target the production of this amino acid: all but 10 of these L-threonine targeting MCS employ more than 5 reactions, and 9725 involve 8 or more reactions.</p>
               <p>Interestingly, these 10655 genome-scale MCS arise exclusively from a 41 reaction subnetwork of <it>E. coli</it>, which is depicted in Figure <figr fid="F4">4</figr>. Furthermore, only 7 of the reactions in this subnetwork (ASAD, ASPK, DAPabc, HSDy, METabc, 26dap-M and met-L nutrient fluxes) have 1- or 2-essential roles in rich media biomass production; however, low cardinality MCS containing these reactions target peptidoglycan and L-methionine rather than L-threonine production. Our MCS results thus rigorously establish novel systems-level roles for all 41 of these reactions. These results link the systems-level process of L-threonine production in <it>E. coli </it>to the functioning of a highly parallelized biosynthetic subnetwork. Epistasis between components of this subnetwork only become apparent through the analysis of high-order knockouts. The L-threonine subnetwork shown in Figure <figr fid="F4">4</figr> is composed of reactions from the 'Alternate Carbon Metabolism', 'Cell Envelope Biosynthesis', 'Putative Transporters', 'Threonine and Lysine Metabolism', and 'Transport, Extracellular' subsystems. Though it is responsible for a large number of MCS, this subnetwork can be easily understood as the convergence of several pathways linking extracellular carbon sources, cell membrane components, amino acids, and other intracellular species to L-threonine. As we show below, analysis of these pathways yields biochemically intuitive rationale for why these reaction subsets emerge as biomass MCS.</p>
               <fig id="F4">
                  <title>
                     <p>Figure 4</p>
                  </title>
                  <caption>
                     <p>MCS uncover robust L-threonine biosynthesis subnetwork</p>
                  </caption>
                  <text>
                     <p><b>MCS uncover robust L-threonine biosynthesis subnetwork</b>. 10,655 minimal cut sets discovered using our approach target L-threonine synthesis via this 41 reaction subnetwork of <it>E. coli </it>metabolism. None of these reactions are 1- or 2-essential for L-threonine production, though 7 participate in size 1 or 2 MCS for peptidoglycan and L-methionine production. Though many of these cut sets are complex (i.e. involve 7 or more reactions) they can be intuitively understood as simultaneous attacks on a few distinct pathways that converge on L-threonine (thr-L) synthesis. For ease of presentation, we omit water and proton in the reaction depictions. Please refer to Table 2 for explanation of metabolite and reaction abbreviations. Please refer to the text for further discussion.</p>
                  </text>
                  <graphic file="1752-0509-2-40-4"/>
               </fig>
               <tbl id="T2">
                  <title>
                     <p>Table 2</p>
                  </title>
                  <caption>
                     <p>List of Abbreviations</p>
                  </caption>
                  <tblbdy cols="4">
                     <r>
                        <c ca="left">
                           <p>Abbreviation</p>
                        </c>
                        <c ca="left">
                           <p>Full Name</p>
                        </c>
                        <c ca="left">
                           <p>Abbreviation</p>
                        </c>
                        <c ca="left">
                           <p>Full Name</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="4">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>2dr1p</p>
                        </c>
                        <c ca="left">
                           <p>2-Deoxy-D-ribose 1-phosphate</p>
                        </c>
                        <c ca="left">
                           <p>agpe_EC</p>
                        </c>
                        <c ca="left">
                           <p>acyl-glycerophospoethanolamine (E. coli) **</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>2dr5p</p>
                        </c>
                        <c ca="left">
                           <p>2-Deoxy-D-ribose 5-phosphate</p>
                        </c>
                        <c ca="left">
                           <p>apg_EC</p>
                        </c>
                        <c ca="left">
                           <p>acyl phosphatidylglycerol (E. coli) **</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3HCINNMH</p>
                        </c>
                        <c ca="left">
                           <p>3-hydroxycinnamate hydroxylase</p>
                        </c>
                        <c ca="left">
                           <p>asp-L</p>
                        </c>
                        <c ca="left">
                           <p>L-Aspartate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3HPPPNH</p>
                        </c>
                        <c ca="left">
                           <p>3-(3-hydroxy-phenyl)propionate hydroxylase</p>
                        </c>
                        <c ca="left">
                           <p>aspsa</p>
                        </c>
                        <c ca="left">
                           <p>L-Aspartate 4-semialdehyde</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3hcinnm</p>
                        </c>
                        <c ca="left">
                           <p>3-hydroxycinnamic acid</p>
                        </c>
                        <c ca="left">
                           <p>atp</p>
                        </c>
                        <c ca="left">
                           <p>ATP</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3hcinnm [e]</p>
                        </c>
                        <c ca="left">
                           <p>3-hydroxycinnamic acid (Extracellular)</p>
                        </c>
                        <c ca="left">
                           <p>cechddd</p>
                        </c>
                        <c ca="left">
                           <p>cis-3-(3-carboxyethyl)-3,5-cyclohexadiene-1,2-diol</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3hpppn</p>
                        </c>
                        <c ca="left">
                           <p>3-(3-hydroxy-phenyl)propionate</p>
                        </c>
                        <c ca="left">
                           <p>dhcinnm</p>
                        </c>
                        <c ca="left">
                           <p>2,3-dihydroxicinnamic acid</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3hpppn [e]</p>
                        </c>
                        <c ca="left">
                           <p>3-(3-hydroxy-phenyl)propionate (Extracellular)</p>
                        </c>
                        <c ca="left">
                           <p>dhpppn</p>
                        </c>
                        <c ca="left">
                           <p>3-(2,3-Dihydroxyphenyl)propanoate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>4h2opntn</p>
                        </c>
                        <c ca="left">
                           <p>4-Hydroxy-2-oxopentanoate</p>
                        </c>
                        <c ca="left">
                           <p>etha</p>
                        </c>
                        <c ca="left">
                           <p>Ethanolamine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>4pasp</p>
                        </c>
                        <c ca="left">
                           <p>4-Phospho-L-aspartate</p>
                        </c>
                        <c ca="left">
                           <p>fum</p>
                        </c>
                        <c ca="left">
                           <p>Fumarate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>ACALDt</p>
                        </c>
                        <c ca="left">
                           <p>acetaldehyde reversible transport</p>
                        </c>
                        <c ca="left">
                           <p>g3p</p>
                        </c>
                        <c ca="left">
                           <p>Glyceraldehyde 3-phosphate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>ASAD</p>
                        </c>
                        <c ca="left">
                           <p>aspartate-semialdehyde dehydrogenase</p>
                        </c>
                        <c ca="left">
                           <p>g3pe</p>
                        </c>
                        <c ca="left">
                           <p>sn-Glycero-3-phosphoethanolamine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>ASPK</p>
                        </c>
                        <c ca="left">
                           <p>aspartate kinase</p>
                        </c>
                        <c ca="left">
                           <p>gly</p>
                        </c>
                        <c ca="left">
                           <p>Glycine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>DHCINDO</p>
                        </c>
                        <c ca="left">
                           <p>2,3-dihydroxycinnamate 1,2-dioxygenase</p>
                        </c>
                        <c ca="left">
                           <p>glyc3p</p>
                        </c>
                        <c ca="left">
                           <p>Glycerol 3-phosphate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>DHPPD</p>
                        </c>
                        <c ca="left">
                           <p>2,3-dihydroxyphenylpropionate dehydrogenase</p>
                        </c>
                        <c ca="left">
                           <p>h</p>
                        </c>
                        <c ca="left">
                           <p>H+</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>DRPA</p>
                        </c>
                        <c ca="left">
                           <p>deoxyribose-phosphate aldolase</p>
                        </c>
                        <c ca="left">
                           <p>h2o</p>
                        </c>
                        <c ca="left">
                           <p>H2O</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>ETHAAL</p>
                        </c>
                        <c ca="left">
                           <p>Ethanolamine ammonia-lyase</p>
                        </c>
                        <c ca="left">
                           <p>h [e]</p>
                        </c>
                        <c ca="left">
                           <p>H+ (Extracellular)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>GPDDA2</p>
                        </c>
                        <c ca="left">
                           <p>Glycerophosphodiester phosphodiesterase</p>
                        </c>
                        <c ca="left">
                           <p>hdca</p>
                        </c>
                        <c ca="left">
                           <p>Hexadecanoate (n-C16:0)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HCINNMt2r</p>
                        </c>
                        <c ca="left">
                           <p>3-hydroxycinnamic acid transport</p>
                        </c>
                        <c ca="left">
                           <p>hdcea</p>
                        </c>
                        <c ca="left">
                           <p>hexadecenoate (n-C16:1)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HKNDDH</p>
                        </c>
                        <c ca="left">
                           <p>2-hydroxy-6-ketonona-2,4-dienedioic acid hydrolase</p>
                        </c>
                        <c ca="left">
                           <p>hkndd</p>
                        </c>
                        <c ca="left">
                           <p>2-Hydroxy-6-oxonona-2,4-diene-1,9-dioate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HKNTDH</p>
                        </c>
                        <c ca="left">
                           <p>2-hydroxy-6-ketononotrienedioate hydrolase</p>
                        </c>
                        <c ca="left">
                           <p>hkntd</p>
                        </c>
                        <c ca="left">
                           <p>2-hydroxy-6-ketononatrienedioate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HOPNTAL</p>
                        </c>
                        <c ca="left">
                           <p>4-hydroxy-2-oxopentanoate aldolase</p>
                        </c>
                        <c ca="left">
                           <p>hom-L</p>
                        </c>
                        <c ca="left">
                           <p>L-Homoserine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HPPPNDO</p>
                        </c>
                        <c ca="left">
                           <p>2,3-dihydroxypheylpropionate 1,2-dioxygenase</p>
                        </c>
                        <c ca="left">
                           <p>na1</p>
                        </c>
                        <c ca="left">
                           <p>Sodium</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HPPPNt2r</p>
                        </c>
                        <c ca="left">
                           <p>3-(3-hydroxyphenyl)propionate transport</p>
                        </c>
                        <c ca="left">
                           <p>na1 [e]</p>
                        </c>
                        <c ca="left">
                           <p>Sodium (Extracellular)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HSDy</p>
                        </c>
                        <c ca="left">
                           <p>homoserine dehydrogenase (NADPH)</p>
                        </c>
                        <c ca="left">
                           <p>nad</p>
                        </c>
                        <c ca="left">
                           <p>Nicotinamide adenine dinucleotide</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>HSK</p>
                        </c>
                        <c ca="left">
                           <p>homoserine kinase</p>
                        </c>
                        <c ca="left">
                           <p>nadh</p>
                        </c>
                        <c ca="left">
                           <p>Nicotinamide adenine dinucleotide &#8211; reduced</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>LPLIPA2</p>
                        </c>
                        <c ca="left">
                           <p>Lysophospholipase L (acyl-glycerophosphoethanolamine)</p>
                        </c>
                        <c ca="left">
                           <p>nadp</p>
                        </c>
                        <c ca="left">
                           <p>Nicotinamide adenine dinucleotide phosphate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>LPLIPA4</p>
                        </c>
                        <c ca="left">
                           <p>Lysophospholipase L (acyl transfer to phosphatidylglycerol)</p>
                        </c>
                        <c ca="left">
                           <p>nadph</p>
                        </c>
                        <c ca="left">
                           <p>Nicotinamide adenine dinucleotide phosphate &#8211; reduced</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>NAt3_1</p>
                        </c>
                        <c ca="left">
                           <p>sodium proton antiporter (H:NA is 1:1)</p>
                        </c>
                        <c ca="left">
                           <p>nh4</p>
                        </c>
                        <c ca="left">
                           <p>ammonium</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>NAt3_1.5</p>
                        </c>
                        <c ca="left">
                           <p>sodium proton antiporter (H:NA is 1.5)</p>
                        </c>
                        <c ca="left">
                           <p>o2</p>
                        </c>
                        <c ca="left">
                           <p>O2</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>NAt3_2</p>
                        </c>
                        <c ca="left">
                           <p>sodium proton antiporter (H:NA is 2)</p>
                        </c>
                        <c ca="left">
                           <p>o2 [e]</p>
                        </c>
                        <c ca="left">
                           <p>O2 (Extracellular)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>O2t</p>
                        </c>
                        <c ca="left">
                           <p>o2 transport (diffusion)</p>
                        </c>
                        <c ca="left">
                           <p>ocdcea</p>
                        </c>
                        <c ca="left">
                           <p>octadecenoate (n-C18:1)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>OP4ENH</p>
                        </c>
                        <c ca="left">
                           <p>2-oxopent-4-enoate hydratase</p>
                        </c>
                        <c ca="left">
                           <p>op4en</p>
                        </c>
                        <c ca="left">
                           <p>2-Oxopent-4-enoate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>PLIPA2</p>
                        </c>
                        <c ca="left">
                           <p>Phosphlipase A (phosphatidylethanolamine)</p>
                        </c>
                        <c ca="left">
                           <p>pe_EC</p>
                        </c>
                        <c ca="left">
                           <p>Phosphatidylethanolamine (Ecoli) **</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>PPM2</p>
                        </c>
                        <c ca="left">
                           <p>phosphopentomutase 2 (deoxyribose)</p>
                        </c>
                        <c ca="left">
                           <p>pg_EC</p>
                        </c>
                        <c ca="left">
                           <p>Phospatidylglycerol (Ecoli) **</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>PPPNDO</p>
                        </c>
                        <c ca="left">
                           <p>Phenylpropanoate Dioxygenase</p>
                        </c>
                        <c ca="left">
                           <p>phom</p>
                        </c>
                        <c ca="left">
                           <p>O-Phospho-L-homoserine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>PPPNt2r</p>
                        </c>
                        <c ca="left">
                           <p>3-phenylpropionate transport</p>
                        </c>
                        <c ca="left">
                           <p>pi</p>
                        </c>
                        <c ca="left">
                           <p>Phosphate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>THRAr</p>
                        </c>
                        <c ca="left">
                           <p>Threonine Aldolase</p>
                        </c>
                        <c ca="left">
                           <p>pppn</p>
                        </c>
                        <c ca="left">
                           <p>Phenylpropanoate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>THRS</p>
                        </c>
                        <c ca="left">
                           <p>threonine synthase</p>
                        </c>
                        <c ca="left">
                           <p>pppn [e]</p>
                        </c>
                        <c ca="left">
                           <p>Phenylpropanoate (Extracellular)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>THRabc</p>
                        </c>
                        <c ca="left">
                           <p>L-threonine transport via ABC system</p>
                        </c>
                        <c ca="left">
                           <p>pyr</p>
                        </c>
                        <c ca="left">
                           <p>Pyruvate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>THRt2r</p>
                        </c>
                        <c ca="left">
                           <p>L-threonine reversible transport via proton symport</p>
                        </c>
                        <c ca="left">
                           <p>succ</p>
                        </c>
                        <c ca="left">
                           <p>Succinate</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>THRt4</p>
                        </c>
                        <c ca="left">
                           <p>L-threonine via sodium symport</p>
                        </c>
                        <c ca="left">
                           <p>thr-L</p>
                        </c>
                        <c ca="left">
                           <p>L-Threonine</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>acald</p>
                        </c>
                        <c ca="left">
                           <p>Acetaldehyde</p>
                        </c>
                        <c ca="left">
                           <p>thr-L [e]</p>
                        </c>
                        <c ca="left">
                           <p>L-Threonine (Extracellular)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>acald [e]</p>
                        </c>
                        <c ca="left">
                           <p>Acetaldehyde (Extracellular)</p>
                        </c>
                        <c ca="left">
                           <p>ttdca</p>
                        </c>
                        <c ca="left">
                           <p>tetradecanoate (n-C14:0)</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>adp</p>
                        </c>
                        <c ca="left">
                           <p>ADP</p>
                        </c>
                        <c ca="left">
                           <p>ttdcea</p>
                        </c>
                        <c ca="left">
                           <p>tetradecenoate (n-C14:1)</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>List of metabolites, reactions, and their abbreviations.</p>
                  </tblfn>
               </tbl>
               <p>The simplest of the 10655 L-threonine targeting MCS discovered using our approach consist of reactions immediately upstream of L-threonine in this subnetwork. As shown in Figure <figr fid="F4">4</figr>, the most direct sources of L-threonine in the intracellular environment are three transport reactions that couple the influx of L-threonine to the import of sodium (THRt4), the import of proton (THRt2r), and the hydrolysis of ATP (THRabc). L-threonine is also synthesized from L-aspartate via a pathway that employs L-homoserine as an intermediate. The third major source of L-threonine is via the threonine aldolase reaction (THRAr), whose substrates are acetaldehyde and glycine.</p>
               <p>The most intuitive of these MCS consists of the three L-threonine transporters (THRt4, THRt2r, THRabc) in combination with threonine synthetase (THRS) and threonine aldolase (THRAr). Variants of this MCS replace THRS with aspartate-semialdehyde dehydrogenase (ASAD), homoserine kinase (HSK), homoserine kinase (HSK), or aspartate kinase (ASPK). A second set of variants replaces the three L-threonine transporters with the L-threonine nutrient flux. 5 MCS apply an interesting variation upon this theme by replacing the sodium dependent THRabc transporter with either the sodium nutrient flux or inhibition of the three sodium proton antiporters (NAt3_2, NAt3_1.5, NAt3_1). Because of their minimality, the knockout of <it>any </it>subset of these MCS will allow L-threonine production to be maintained in this <it>silico </it>strain. For example, knockout of L-threonine transport and threonine-aldolase will allow L-threonine to be produced from L-aspartate via the pathway shown in the bottom left of Figure <figr fid="F4">4</figr>. Alternatively stated, the minimality of these cut sets attests to the fact that the wild type <it>in silico </it>can employ <it>any one </it>of these parallel pathways for L-threonine biosynthesis.</p>
               <p>A large number of MCS discovered using our approach target L-threonine biosynthesis by disabling pathways upstream of acetaldehyde. As shown in Figure <figr fid="F4">4</figr>, acetaldehyde is directly brought into the cell from the nutrient media via a transport reaction. Acetaldehyde is also supplied by the breakdown of phosphatidylethanolamine and phosphatidylglycerol, which are cell membrane components. Acetaldehyde is also formed from extracellular phenylpropanoate, 3-(3-hydroxy-phenyl)propionate, and 3-hydroxycinnamic acid, which are substrates for the synthesis of intracellular 2-Oxopent-4-enoate. The latter is transformed into acetaldehyde via 2-oxopent-4-enoate hydratase (OP4ENH) and 4-hydroxy-2-oxopentanoate aldolase (HOPNTAL), producing pyruvate as a byproduct. Another source of acetaldehyde is via the breakdown of deoxyribose sugars via the reactions deoxyribose phosphate aldolase (DRPA) and phosphopentomutase 2 (PPM2). The more complex L-threonine targeting MCS replace the THRAr reaction in the simple MCS described above with a combination of the reactions responsible for acetaldehyde biosynthesis. One such combination is DRPA, HOPNTAL, ACALDt, and ethanolamine ammonia-lyase (ETHAAL). A variation of this MCS interchanges ETHAAL in the latter combination with Phospholipase A2 (PLIPA2). Another combination replaces HOPNTAL with the combination of phenylpropanoate, 3-(3-hydroxy-phenyl)propionate, and 3-hydroxycinnamic acid transporters. 160 MCS target L-threonine production through a unique mechanism that involves the repression of the oxygen nutrient flux. Like the MCS discussed in the previous paragraph, these sets include reactions that involve acetaldehyde formation from cell membrane phospholipids, ribose sugar breakdown, and acetaldehyde transport. However unlike the previously described sets, these MCS exploit the oxygen-dependence of the pathways facilitating acetaldehyde production from extracellular phenylpropanoate, 3-(3-hydroxy-phenyl)propionate, and 3-hydroxycinnamic acid. As shown in Figure <figr fid="F4">4</figr>, the reactions 3-(3-hydroxy-phenyl)propionate hydroxylase (3HPPPNH), Phenylpropanoate Dioxygenase (PPPNDO), 3-hydroxycinnamate hydroxylase (3HCINNMH), 2,3-dihydroxycinnamate 1,2-dioxygenase (DHCINDO), and 2,3-dihydroxyphenylpropionate 1,2-dioxygenase (HPPPNDO) all depend on the presence of oxygen as a substrate.</p>
               <p>The L-threonine subnetwork described in this section demonstrates a biologically intuitive pathway-like structure. The ease with this network can be understood testifies to the ability of <it>NetKO </it>to unravel the link between network components and systems-level functions. We further note that unlike manual pathway annotations, this subnetwork is derived purely through the analysis of flux dynamics in the genome-scale metabolic model. As a result, it serves as a rigorous and objective distillation of <it>E. coli </it>iJR904's behavior with respect to a particular function, i.e. L-threonine production.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Applications</p>
            </st>
            <sec>
               <st>
                  <p>Drug design</p>
               </st>
               <p>MCS for essential metabolic objectives (e.g. biomass) represent potential targets for drug development. Though the model employed in this study represents a non-pathogenic strain of <it>E. coli</it>, there are numerous genome-scale metabolic reconstructions of pathogenic microbes in which such an approach could be used to reveal drug targets. Such organisms include <it>S. aureus</it>, <it>H. pylori</it>, and <it>B. anthracis </it><abbrgrp><abbr bid="B16">16</abbr><abbr bid="B17">17</abbr><abbr bid="B18">18</abbr><abbr bid="B19">19</abbr></abbrgrp>. Furthermore, high-order MCS could be applied to models of human metabolic networks to define novel anti-proliferative chemotherapeutic regimens <abbrgrp><abbr bid="B20">20</abbr></abbrgrp>.</p>
            </sec>
            <sec>
               <st>
                  <p>Epistatic candidate gene models for genetic association</p>
               </st>
               <p>MCS correspond to subsets of genes whose perturbation or knockout is predicted to effect a network-level phenotype. Such a gene subset provides a reasonable "epistatic" candidate hypothesis for a genetic association study that explore links between genotype and phenotype, e.g. for human disease. Current approaches to whole genome association studies employ a unsupervised approach that test all possible loci for association with a phenotype. Given the high dimensionality of genotypic (e.g. SNP) data, these studies are limited by computational resources and statistical power to searching for binary gene-gene interactions. A "systems-based candidate-gene" approach based on <it>NetKO </it>could provide a powerful approach to apply "a posteriori" biological knowledge to study the role of epistasis in disease. Namely, one could employ <it>NetKO </it>to generate hypothesis in the form of MCS on a given pathway model and test such hypotheses against genotype-phenotype data.</p>
            </sec>
            <sec>
               <st>
                  <p>Elucidating systems-level roles of reactions in metabolism</p>
               </st>
               <p>MCS discovered using our approach cluster into subnetworks that link individual reactions to their systems-level roles. In contrast to the daunting complexity of the entire metabolic network, these subnetworks have an intuitive pathway structure that can be understood by simple inspection. The close dual relationship between the failure and function of of metabolism has been previously outlined by Klamt <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>. This dual relationship suggests that these local pathways are likely "projections" of genome-scale extreme pathways/elementary modes onto these important reaction subsets. This hypothesis could be verified by applying the method of Urbanczik and Wagner to compute generators for the projection of the flux cone <it>K </it>onto these reaction subsets <abbrgrp><abbr bid="B21">21</abbr></abbrgrp>.</p>
               <p>Many of our MCS reveal essential roles for reactions whose function is normally obscured by metabolic network redundancy. Deutscher <it>et al</it>. refer to this generalized concept of essentiality as "<it>k</it>-robustness" in their investigations of multiple knockouts in yeast metabolism <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. Each complex MCS of cardinality <it>k </it>identified by our approach is conceptually equivalent to Deutscher <it>et al</it>.'s "essential set". High cardinality MCS represents an instance of a higher-order genetic or biochemical interaction between several reactions, enzymes, and genes that is mediated by the metabolic network. Similar to the results of Deutscher <it>et al</it>., we find that application of this generalized notion of essentiality significantly increases the number of <it>E. coli </it>reactions that can be thought of as participating in "essential processes" (as defined by biomass production).</p>
               <p>The use of a genome-scale model to find essential links between genes and systems-level processes exemplifies a novel "network-based" approach to functional gene annotation. Shlomi <it>et al</it>. show that such an approach may be better equipped to capture functional features such as condition-dependence when compared to traditional structured vocabulary-based annotation schemes like Gene Ontology <abbrgrp><abbr bid="B22">22</abbr></abbrgrp>. <it>NetKO </it>provides a powerful tool for this kind of annotation by helping uncover functional links that are normally buried by redundant pathways.</p>
            </sec>
            <sec>
               <st>
                  <p>Iterative model building and refinement</p>
               </st>
               <p>Our approach can be applied in an iterative model building protocol that combines <it>in vivo </it>experiment and <it>in silico </it>analysis.</p>
               <p>One specific application of <it>NetKO </it>is the simple validation of model completeness and accuracy on the genome-scale. A more profound application is to unravel the systems-level roles of individual reactions, in particular those participating in robust and redundant network functions.</p>
               <p>Fundamentally, each MCS can be understood to suggest several important <it>in vivo </it>model validation experiments. The first corresponds to the knockout of that MCS and the subsequent lethality prediction. If the <it>in vivo </it>knockout fails to be lethal, then this suggests that either there is additional redundancy in the pathway structure of the network or the specific biomass target of that MCS is non-essential for growth <abbrgrp><abbr bid="B9">9</abbr></abbrgrp>. Once an MCS is verified as being <it>in vivo </it>lethal, an interesting set of experiments can be performed that test the contributions of individual reactions to the function disabled by a given MCS. To do so, one would design knockouts that disable <it>all but one </it>of the reactions in that MCS. Such a perturbation would "pinch" the network, allowing only extreme pathways that utilize the remaining reaction in that MCS. As a result, the flux through that reaction would be predicted to become a simple linear multiple of the growth rate (determined only by the steady state intracellular concentration of the target biomass component and its fractional contribution to biomass).</p>
               <p>For example, the cysteine transporter (CYSabc), taurine transporter (TAURabc), biotin synthase (BTS2), and the sulfate transporter (SULabc) form an MCS for biomass by targeting L-cysteine production. Knockout of CYSabc, TAURabc, and BTS2 would be predicted by this network model to force all fluxes destined for L-cysteine production through the sulfate transporter (SULabc). According to the model, the rate of uptake of sulfate in this triple knockout will be in direct proportion to the flux through the L-cysteine sink, which corresponds to the growth-mediated dilution of L-cysteine and its consumption by protein synthesis. Such a discrete "pinching" experiment would determine whether the sulfate transporter is sufficient to sustain L-cysteine production. Extension of such an experimental paradigm to analyze further subsets of complex MCS at intermediate levels of inhibition could be used to quantitatively identify the "marginal" contributions of individual reactions/pathways to systems-level functions.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Improving MCS yield</p>
            </st>
            <p><it>NetKO </it>discovers valid genome-scale MCS using only partial information regarding metabolic network dynamics. However, because it only employs partial information, it is not guaranteed to find <it>all </it>MCS for a given objective. For example, despite detecting many high-order interactions, our approach fails to detect nearly half of the cardinality <it>k </it>&#8804; 2 MCS. Furthermore, the biomass targeting MCS that we find utilize only 355 of the potential 1324 reactions in the model. Though this may suggest that the remaining reactions in the network participate only in highly redundant (i.e. <it>k </it>> 10-robust) network functions, it is also likely that our approach fails to find a significant number of <it>k </it>&#8804; 10 MCS.</p>
            <p>As mentioned earlier in the paper, the yield of our method depends directly on the "quality" of pathway fragments generated from the application of the tableau algorithm to the stoichiometric matrix. Specifically, the number of reactions belonging to a biomass-targeting MCS identified by our approach corresponds to the number of reactions that share a pathway fragment with a biomass sink. Improving the reaction "span" of these biomass-containing pathway fragments would increase the number of reactions employed by biomass-targeting MCS as well as the total yield of MCS.</p>
            <p>One approach for improving the yield of MCS would be to achieve additional incremental improvement in the progress of the tableau algorithm. Each iteration of the tableau algorithm processes the steady state requirements of another metabolite in the network, and thus "learns" more about the constraints imposed by network structure. By applying more raw computational power in the form of memory and processor speed, one could achieve several more iterations that would link more reactions to the collection of biomass-containing pathway fragments. In addition, one could apply high performance computing employing a parallel out-of-core approach to achieve additional progress <abbrgrp><abbr bid="B23">23</abbr></abbrgrp>. Though such approaches have been investigated in the past with the goal of completing the entire extreme pathway computation for a genome-scale metabolic network, our approach offers an incentive for performance-improving modifications that achieve even incremental progress in the tableau algorithm.</p>
            <p>A more finessed approach for improving MCS yield may be to use an alternative metabolite "traversal" strategy for the tableau algorithm. In our implementation, we use a "local greedy optimization" strategy that chooses the "cheapest" next metabolite using a generic evaluation of each metabolite's "cost" <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>. Though this approach may be optimal for achieving total progress in the algorithm (i.e. with respect to iterations), it may not be the best approach of generating MCS for a particular metabolic objective. A simple approach to maximize the number of cut sets is to ensure that the pathway fragment algorithm traverses the substrates of the objective reaction of interest. In the case of the biomass reaction, it may not be computationally feasible to generate a pathway fragment collection that traverses all substrates simultaneously, but one may compute cut sets for individual biomass components through separate pathway fragment runs. More generally one would like to guide the tableau algorithm from the out set to choose metabolites that expand the number of reactions that share a pathway fragment with the objective reaction (e.g. a biomass component). One way of achieving this is to look for "bridging" species at each iteration that link a reaction that shares pathway fragments with the objective reaction and a second reaction that does not. We are currently investigating such approaches.</p>
         </sec>
         <sec>
            <st>
               <p>Alternative approaches</p>
            </st>
            <p>Our approach is not the first attempt at "rational" genome-scale knockout design. Maranas and colleagues have previously applied mixed integer linear programming (MILP) to design mutants that improve byproduct yield or identify "minimal reaction sets" that are capable of sustaining a given biomass optimum <abbrgrp><abbr bid="B24">24</abbr><abbr bid="B25">25</abbr></abbrgrp>. These applications of MILP approaches differ fundamentally from the knockout design problem approached in this paper. Unlike the computation of minimal reaction sets, which corresponds to finding a <it>maximal </it>number of reaction deletions that allow biomass production to be <it>sustained</it>, the computation of MCS corresponds to finding a <it>minimal </it>number of reaction deletions that cause biomass production to be <it>abolished</it>.</p>
            <p>Though a precedent does not exist, MCS discovery could potentially be formulated as a MILP. Such a MILP would employ as its objective the minimization of the number of deleted reactions that abolish biomass production. Once an MCS is found as the solution of the MILP, additional MCS could be discovered through the execution of successive MILPs that incorporate additional constraints to prevent the rediscovery of previous optima. Such an approach is promising, however requires further investigation to address at least two major concerns: Firstly, MILPs are NP-complete, and thus scale poorly with the dimension of the search space, i.e. the number of reactions. Secondly, repeated addition of constraints to discover alternative optima may increase the "stiffness" of successive MILPs as further MCS are sought. As a result, it is <it>a priori </it>unclear that a MILP-based MCS algorithm would be able to generate as many MCS as our network based approach.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Conclusion</p>
         </st>
         <p>We have introduced and applied a network-based method for genome-scale knockout design. Our approach identifies high-order essential epistatic interactions that are normally obscured by metabolic network redundancy. These interactions cluster along interesting and physiologically important subnetworks that allow systems-level roles of individual reactions to be precisely and intuitively captured. Our method provides a plethora of predictions that can readily translate into informative <it>in vivo </it>knockout experiments in <it>E. coli</it>. These experiments could be used for iterative model building and functional annotation of genes. Future applications of our network based knockout design approach includes analysis of the metabolic networks of pathogenic organisms and generation of epistatic candidate models for genome-wide association studies.</p>
      </sec>
      <sec>
         <st>
            <p>Methods</p>
         </st>
         <sec>
            <st>
               <p>Tableau algorithm</p>
            </st>
            <p>We implement the tableau algorithm according to previously described implementations <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B15">15</abbr></abbrgrp>, adding a "pathway fragment limit" that forces the algorithm to terminate and output intermediate pathway fragment results <it>E</it>(<it>K</it><sup><it>i</it></sup>) at the first iteration <it>i </it>that this limit is met. In our implementation, we also apply heuristic "local greedy" optimization strategy that dynamically rearranges the rows of <it>S </it>at the end of each iteration with the goal of minimizing computation at the next iteration <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>. Specifically, at each iteration <it>i</it>, we rearrange rows <it>i </it>+ 1, ..., <it>m </it>of <it>S </it>to minimize the number of ray pairs in <it>E</it>(<it>K</it><sup><it>i</it></sup>) that lie on opposite sides of hyperplane <it>S</it><sub><it>i</it>+1</sub><it>v </it>= 0.</p>
         </sec>
         <sec>
            <st>
               <p>Minimal hitting set algorithm</p>
            </st>
            <p>We compute the <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> of all minimal hitting sets of cardinality <it>k </it>or less of a collection <it>E </it>of rays (i.e. pathway fragments) using <it>MinHit </it>(Table <tblr tid="T3">3</tblr>), which is a modification of the Berge algorithm <abbrgrp><abbr bid="B26">26</abbr></abbrgrp>. In <it>MinHit</it>, a collection of minimal hitting sets for the collection of rays <it>E </it>is built through an iterative traversal through <it>E</it>. The initial collection contains a single set: the empty set. At each iteration <it>q</it>, a new collection is built by augmenting sets in the old collection that fail to intersect the positive components in the current ray. Each non-intersecting set is augmented by combining it with an element corresponding to a single positive component of the current ray. The latter is done for positive component of the current ray and every non-intersecting set in the old collection. After each set is augmented in this manner, the new collection is scanned to eliminate sets that are non-minimal (i.e. for which there exists a subset in the collection). The resulting collection can be easily shown to form a minimal hitting set collection for the rays 1...<it>q </it>in collection <it>E </it>that have already been processed. Upon iterating through the entire collection <it>E</it>, the output <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> is a minimal hitting set for <it>E</it>.</p>
            <tbl id="T3">
               <title>
                  <p>Table 3</p>
               </title>
               <caption>
                  <p/>
               </caption>
               <tblbdy cols="1">
                  <r>
                     <c ca="left">
                        <p><inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = <it>MinHit</it>(<it>E</it>, <it>k</it>, <it>R</it>)</p>
                     </c>
                  </r>
                  <r>
                     <c cspan="1">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>1: // <it>Arguments:</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>2: // <it>E </it>= {<it>r</it><sup>1</sup>, ..., <it>r</it><sup>|<it>E</it>|</sup>}, a collection of rays in &#8477;<sup><it>n</it></sup>.</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>3: // (e.g. <it>j</it>-containing pathway fragments)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>4: // <it>k</it>, a cardinality cutoff (infinite by default).</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>5: // <it>R</it>, a subset of <it>N </it>to which the search</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>6: // for minimal hitting sets can be limited</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>7: // (= <it>N </it>by default)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>8: // <it>Output:</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>9: // <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, a collection of minimal hitting sets for <it>E</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>10: // (with cardinality <it>k </it>or less, limited to subsets of <it>R</it>)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>11: <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = {&#8709;}</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>12: <b>for all </b><it>r </it>&#8712; <it>E </it><b>do</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>13:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula> = {}</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>14:&#160;&#160;&#160;//Augment non-intersecting sets in <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> to</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>15:&#160;&#160;&#160;//"hit" nonzero components of ray <it>r </it>of <it>E</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>16:&#160;&#160;&#160;<b>for all </b><it>H </it>&#8712; <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula><b>do</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>17:&#160;&#160;&#160;&#160;&#160;&#160;//If the <it>H </it>does not intersect the nonzero</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>18:&#160;&#160;&#160;&#160;&#160;&#160;//components of <it>r</it>, then augment <it>H</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>19:&#160;&#160;&#160;&#160;&#160;&#160;//and add to <inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>20:&#160;&#160;&#160;&#160;&#160;&#160;<b>if </b><it>H </it>&#8898; <it>NZ</it>(<it>r</it>) = &#8709; <b>then</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>21:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b>for all </b><it>i </it>&#8712; <it>R </it>for which <it>r</it><sub><it>i </it></sub>&#8800; 0 <b>do</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>22:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;add <it>H </it>&#8746; {<it>i</it>} to <inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>23:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b>end for</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>24:&#160;&#160;&#160;&#160;&#160;&#160;<b>else</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>25:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;add <it>H </it>to <inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>26:&#160;&#160;&#160;&#160;&#160;&#160;<b>end if</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>27:&#160;&#160;&#160;<b>end for</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>28:&#160;&#160;&#160;//Populate <inline-formula><m:math name="1752-0509-2-40-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>n</m:mi><m:mi>e</m:mi><m:mi>w</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabd6gaUjabdwgaLjabdEha3bqabaaaaa@3AE6@</m:annotation></m:semantics></m:math></inline-formula> with minimal, non-duplicate, sets</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>29:&#160;&#160;&#160;//from <inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula> that meet the cardinality threshold</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>30:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = {}</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>31:&#160;&#160;&#160;<b>for all </b><it>H </it>&#8712; <inline-formula><m:math name="1752-0509-2-40-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabdsha0jabdwgaLjabd2gaTjabdchaWbqabaaaaa@3C47@</m:annotation></m:semantics></m:math></inline-formula><b>do</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>32:&#160;&#160;&#160;&#160;&#160;&#160;<b>if </b><it>H </it>&#8713; <inline-formula><m:math name="1752-0509-2-40-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>n</m:mi><m:mi>e</m:mi><m:mi>w</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabd6gaUjabdwgaLjabdEha3bqabaaaaa@3AE6@</m:annotation></m:semantics></m:math></inline-formula><b>and </b><inline-formula><m:math name="1752-0509-2-40-i10" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mo>&#8708;</m:mo><m:mrow><m:mover accent="true"><m:mi>H</m:mi><m:mo>^</m:mo></m:mover><m:mo>&#8712;</m:mo><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>t</m:mi><m:mi>e</m:mi><m:mi>m</m:mi><m:mi>p</m:mi></m:mrow></m:msub></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWefv3ySLgznfgDOfdaryqr1ngBPrginfgDObYtUvgaiqaacqWFeiY8daWgaaWcbaGafmisaGKbaKaacqGHiiIZt0uy0HwzTfgDPnwy1egarCqtHrhAL1wy0L2yHvdaiuaacqGFlecsdaWgaaadbaGaemiDaqNaemyzauMaemyBa0MaemiCaahabeaaaSqabaaaaa@4A54@</m:annotation></m:semantics></m:math></inline-formula> | <inline-formula><m:math name="1752-0509-2-40-i11" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>^</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaKaaaaa@2CFE@</m:annotation></m:semantics></m:math></inline-formula> &#8834; <it>H </it><b>and </b>|<it>H</it>| &#8804; <it>k </it><b>then</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>33:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;add <it>H </it>to <inline-formula><m:math name="1752-0509-2-40-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>n</m:mi><m:mi>e</m:mi><m:mi>w</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabd6gaUjabdwgaLjabdEha3bqabaaaaa@3AE6@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>34:&#160;&#160;&#160;&#160;&#160;&#160;<b>end if</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>35:&#160;&#160;&#160;<b>end for</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>36:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = <inline-formula><m:math name="1752-0509-2-40-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi mathvariant="script">H</m:mi><m:mrow><m:mi>n</m:mi><m:mi>e</m:mi><m:mi>w</m:mi></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaSbaaSqaaiabd6gaUjabdwgaLjabdEha3bqabaaaaa@3AE6@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>37: <b>end for</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>38: return <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
               </tblbdy>
            </tbl>
            <p>Additional arguments to <it>MinHit </it>are a cardinality limitation <it>k </it>and a subset of indices of interest <it>R </it>to which minimal hitting sets can be restricted. The cardinality limitation is implemented by discarding all sets with cardinality greater than <it>k </it>at each iteration. The subset limitation is implemented by only considering elements in <it>R </it>at each augmentation step.</p>
         </sec>
         <sec>
            <st>
               <p>Reducing non-minimal cut sets</p>
            </st>
            <p>We apply an LP based procedure called <it>Reduce </it>(Table <tblr tid="T4">4</tblr>) to reduce non-minimal cut sets (represented by collection <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>) for an objective reaction set <it>J </it>to minimality. For each cut set <it>H </it>in <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, subsets of cardinality |<it>H</it>| - 1 are tested to see if they are cut sets for <it>J</it>. If none is found, then this cut set <it>H </it>is shown to be minimal. Otherwise, the newly found cut sets are added to a cardinality-sorted collection <it>ToDo </it>and later tested for minimality in the same way. When a given subset of <it>H </it>is shown to be minimal or non-minimal, all of its super-sets are removed from <it>ToDo</it>. The final output of <it>Reduce </it>is an LP verified collection of MCS for the objective set <it>J</it>.</p>
         </sec>
         <tbl id="T4">
            <title>
               <p>Table 4</p>
            </title>
            <caption>
               <p/>
            </caption>
            <tblbdy cols="1">
               <r>
                  <c ca="left">
                     <p><it>MCS </it>= <it>Reduce</it>(<inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, <it>J</it>, <it>S</it>)</p>
                  </c>
               </r>
               <r>
                  <c cspan="1">
                     <hr/>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>1: // <it>Argument:</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>2: // <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, a collection of cut sets for objective reaction</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>3: // set <it>J </it>&#8834; <it>N </it>in system <it>S </it>&#8712; &#8477;<sup><it>m </it>&#215; <it>n</it></sup></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>4: // <it>Output:</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>5: // <it>MCS</it>, a collection of MCS for <it>J</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>6:</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>7: <it>MCS</it>, <it>Done </it>= empty collection</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>8: <b>for all </b>sets <it>H </it>in collection <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula><b>do</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>9:&#160;&#160;&#160;<it>ToDo </it>= {<it>H</it>};</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>10:&#160;&#160;&#160;<b>while </b><it>ToDo </it>is not empty <b>do</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>11:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula> = a lowest cardinality set from <it>ToDo</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>12:&#160;&#160;&#160;//Apply LP based test to all</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>13:&#160;&#160;&#160;//immediate subsets of <inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula> to determine</p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>14:&#160;&#160;&#160;//which cut <it>at least one </it>flux in objective set <it>J</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>15:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">D</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83aXteaaa@374F@</m:annotation></m:semantics></m:math></inline-formula> = collection of size |<inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula>| - 1 subsets of <inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula> that are also cut sets for objective set <it>J </it>in <it>S</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>16:&#160;&#160;&#160;add <inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula> to collection <it>Done</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>17:&#160;&#160;&#160;<b>if </b><inline-formula><m:math name="1752-0509-2-40-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">D</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83aXteaaa@374F@</m:annotation></m:semantics></m:math></inline-formula> is empty <b>then</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>18:&#160;&#160;&#160;&#160;&#160;&#160;add <inline-formula><m:math name="1752-0509-2-40-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mover accent="true"><m:mi>H</m:mi><m:mo>&#175;</m:mo></m:mover><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmisaGKbaebaaaa@2D06@</m:annotation></m:semantics></m:math></inline-formula> to collection <it>MCS</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>19:&#160;&#160;&#160;<b>else if </b><inline-formula><m:math name="1752-0509-2-40-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">D</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83aXteaaa@374F@</m:annotation></m:semantics></m:math></inline-formula> contains one set <b>then</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>20:&#160;&#160;&#160;&#160;&#160;&#160;add sole set in <inline-formula><m:math name="1752-0509-2-40-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">D</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83aXteaaa@374F@</m:annotation></m:semantics></m:math></inline-formula> to <it>MCS </it>and <it>Done</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>21:&#160;&#160;&#160;<b>else</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>22:&#160;&#160;&#160;&#160;&#160;&#160;add sets in <inline-formula><m:math name="1752-0509-2-40-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">D</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83aXteaaa@374F@</m:annotation></m:semantics></m:math></inline-formula> to <it>ToDo</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>23:&#160;&#160;&#160;<b>end if</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>24:&#160;&#160;&#160;&#160;&#160;&#160;Remove from <it>ToDo </it>super sets of any set in collection <it>Done</it></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>25:&#160;&#160;&#160;<b>end while</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>26: <b>end for</b></p>
                  </c>
               </r>
               <r>
                  <c ca="left">
                     <p>27: return <it>MCS</it></p>
                  </c>
               </r>
            </tblbdy>
         </tbl>
         <sec>
            <st>
               <p>Minimal cut set computation in <it>E. coli </it>iJR904</p>
            </st>
            <p>We use the computational framework developed in this paper to compute MCS for biomass production in the <it>E. coli </it>iJR904 genome scale model <abbrgrp><abbr bid="B8">8</abbr></abbrgrp>, which has 761 metabolites involved in 931 reversible and irreversible chemical reactions. We convert each reversible reactions into two irreversible reactions and supplement the network with 143 extracellular nutrient FLuxes, 5 intracellular nutrient fluxes representing supply of cofactors and carrier proteins from outside of small molecular metabolism, and 761 species sink fluxes for each species in the system. This yields a stoichiometry matrix <it>S </it>(Equation 2) of dimension 761 &#215; 2085.</p>
            <p>Reactions in <it>S </it>represent the inflow, outflow, and interconversion of small-molecule chemical species in an <it>E. coli </it>cell grown in a rich nutrient media. Each species "sink" reaction represents its growth mediated dilution and macromolecular consumption. Of the 761 species, 49 correspond to "biomass components" that are considered to be essential substrates for survival and growth in the original Reed <it>et al </it>specification <abbrgrp><abbr bid="B8">8</abbr></abbrgrp>. In this model, knock out of biomass production (and thus growth and survival) corresponds to "cutting" flux through <it>at least one </it>of the sinks corresponding to an essential biomass component.</p>
            <p>We then applied the batch procedure <it>NetKO </it>(Table <tblr tid="T5">5</tblr>) to the <it>E. coli </it>stoichiometry matrix <it>S </it>compute MCS with cardinality limit <it>k </it>= 10 for the collection <it>J </it>of biomass sinks, limited to subsets of non-sink reactions <it>R </it>&#8834; <it>N</it>. Briefly, <it>NetKO </it>first applies the tableau algorithm to generate the set <it>E </it>of pathway fragments using the "local greedy" optimization strategy outlined by Bell and Palsson <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>. The tableau algorithm terminates at an iteration at which the number of pathway fragments exceeds the limit <it>PFL</it>. For this implementation, we set <it>PFL </it>= 150,000 according to what we found to be feasible given our current computing resources. <it>NetKO </it>then calls <it>MinHit </it>for each biomass sink <it>j </it>&#8712; <it>J </it>to generate cut sets of cardinality <it>k </it>from the collection of <it>j</it>-containing pathway fragments <it>E</it><sup><it>j</it></sup>, limited to the subset <it>R</it>. The procedure then removes non-minimal cut sets from the collection <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> of pooled results through a pairwise set comparison and applies <it>Reduce </it>to generate the final collection of MCS.</p>
            <tbl id="T5">
               <title>
                  <p>Table 5</p>
               </title>
               <caption>
                  <p/>
               </caption>
               <tblbdy cols="1">
                  <r>
                     <c ca="left">
                        <p><it>MCS </it>= <it>NetKO</it>(<it>S</it>, <it>J</it>, <it>k</it>, <it>R</it>, <it>PFL</it>)</p>
                     </c>
                  </r>
                  <r>
                     <c cspan="1">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>1: // <it>Arguments:</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>2: // <it>S</it>, stoichiometry matrix</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>3: // <it>J </it>&#8834; <it>N</it>, a set of objective reactions</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>4: // <it>k</it>, cardinality limit for MCS</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>5: // <it>R</it>, reactions from which MCS should be chosen</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>6: // <it>PFL</it>, pathway fragment limit for tableau algorithm</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>7: // <it>Output:</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>8: // <it>MCS</it>, a collection of MCS for <it>J</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>9: <it>E </it>= <it>tableau</it>(<it>S, PFL</it>)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>10: <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = {}</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>11: <b>for all </b><it>j </it>&#8712; <it>J </it><b>do</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>12:&#160;&#160;&#160;<it>E</it><sup><it>j </it></sup>= subset of <it>j</it>-containing pathway fragments in <it>E</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>13:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i14" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msup><m:mi mathvariant="script">H</m:mi><m:mi>j</m:mi></m:msup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaWbaaSqabeaacqWGQbGAaaaaaa@3815@</m:annotation></m:semantics></m:math></inline-formula> = <it>MinHit</it>(<it>E</it><sup><it>j</it></sup>, <it>k</it>, <it>R</it>);</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>14:&#160;&#160;&#160;<inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> = <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> &#8746; <inline-formula><m:math name="1752-0509-2-40-i14" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msup><m:mi mathvariant="script">H</m:mi><m:mi>j</m:mi></m:msup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHG0aaWbaaSqabeaacqWGQbGAaaaaaa@3815@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>15: <b>end for</b></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>16: remove sets <it>H </it>&#8712; <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> from <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> for which there exists a subset in <inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula></p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>17: <it>MCS </it>= <it>Reduce</it>(<inline-formula><m:math name="1752-0509-2-40-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, <it>J</it>, <it>S</it>)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>18: return <it>MCS</it></p>
                     </c>
                  </r>
               </tblbdy>
            </tbl>
            <p>Application of the <it>NetKO </it>procedure <it>E. coli </it>IJR904 network in rich media yielded 11,706 MCS for biomass production. Analyzing the performance of individual steps in <it>NetKO</it>: the tableau algorithm generated 164,093 pathway fragments following execution of 708 of 761 iterations of the tableau algorithm during about 2 hours of execution. Application of the <it>MinHit </it>algorithm (Table <tblr tid="T3">3</tblr>) to this pathway fragment collection yielded 71,230 cut sets of cardinality <it>k </it>&#8804; 10 that disable flux through one or more of the 49 biomass component sinks. This computational step required just over 2 minutes to execute. Of the cut sets produced by <it>MinHit</it>, 59,279 could be shown to be non-minimal via pair wise comparison to other cut sets in the collection. Application of the LP-based <it>Reduce </it>procedure to the remaining 11951 cut sets yielded 11,706 MCS for biomass production. Though very few cut sets in the input to <it>Reduce </it>were non-minimal, this step was the most expensive computationally, requiring 113,989 linear programs over about 12 hours of computation.</p>
            <p>We also computed MCS using a brute-force LP knockout analysis by determining the feasibility of flux through the collection of biomass sinks <it>J </it>for each single and double reaction knockout in the network. For the analysis of double knockouts, we only considered reaction knockout pairs that failed to disable biomass production as single reaction knockouts. When performing brute-force LP analysis, we treated knockout reaction pairs corresponding to the same reversible reaction as single knockouts.</p>
            <p>All algorithms were written and executed within the MATLAB programming environment on a Pentium 2.0 GhZ PC with 2 GB of RAM. We used the semidefinite programming package SeDuMi for MATLAB to implement the linear flux feasibility analysis used in <it>Reduce </it>and the brute-force LP approach <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. In this flux feasibility analysis, we evaluate whether a reaction set <it>C </it>is a cut set for objective set <it>J </it>by checking the feasibility of {<it>v </it>&#8712; <it>K</it>|<it>v</it><sub><it>C </it></sub>= 0, <it>v</it><sub><it>j </it></sub>&#8800; 0} for each objective <it>j </it>&#8712; <it>J </it>through analysis of primal and dual feasible points in a sequence of linear programs. In the vast majority of knockouts (and all knockouts examined in this study), this procedure determines the feasibility of fluxes in <it>J </it>through the execution of a single linear program.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Authors' contributions</p>
         </st>
         <p>MI formulated the theory, implemented the algorithm, designed the study, conducted the analysis, and drafted the manuscript. CB helped to formulate the theory and draft the manuscript. All authors read and approved the final manuscript.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>We would like to thank Adam Halasz and Steffen Klamt for insightful correspondences. For a portion of this work, Marcin Imielinski was supported by the NIH/NIGMS MSTP Training Grant (NIH 5T32GM007170-32).</p>
         </sec>
      </ack>
      <refgrp>
         <bibl id="B1">
            <title>
               <p>Multiple knockout analysis of genetic robustness in the yeast metabolic network</p>
            </title>
            <aug>
               <au>
                  <snm>Deutscher</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Meilijson</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Kupiec</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Ruppin</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Nat Genet</source>
            <pubdate>2006</pubdate>
            <volume>38</volume>
            <issue>9</issue>
            <fpage>993</fpage>
            <lpage>998</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16941010</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B2">
            <title>
               <p>Modular epistasis in yeast metabolism</p>
            </title>
            <aug>
               <au>
                  <snm>Segr&#232;</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Deluna</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Church</snm>
                  <fnm>GM</fnm>
               </au>
               <au>
                  <snm>Kishony</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>Nat Genet</source>
            <pubdate>2005</pubdate>
            <volume>37</volume>
            <fpage>77</fpage>
            <lpage>83</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15592468</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B3">
            <title>
               <p>Genome-scale models of microbial cells: evaluating the consequences of constraints</p>
            </title>
            <aug>
               <au>
                  <snm>Price</snm>
                  <fnm>ND</fnm>
               </au>
               <au>
                  <snm>Reed</snm>
                  <fnm>JL</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>BO</fnm>
               </au>
            </aug>
            <source>Nat Rev Microbiol</source>
            <pubdate>2004</pubdate>
            <volume>2</volume>
            <issue>11</issue>
            <fpage>886</fpage>
            <lpage>97</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15494745</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B4">
            <title>
               <p>Minimal cut sets in biochemical reaction networks</p>
            </title>
            <aug>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Gilles</snm>
                  <fnm>ED</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2004</pubdate>
            <volume>20</volume>
            <issue>2</issue>
            <fpage>226</fpage>
            <lpage>34</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">14734314</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B5">
            <title>
               <p>Generalized concept of minimal cut sets in biochemical networks</p>
            </title>
            <aug>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Biosystems</source>
            <pubdate>2006</pubdate>
            <volume>83</volume>
            <issue>2&#8211;3</issue>
            <fpage>233</fpage>
            <lpage>247</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16303240</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B6">
            <title>
               <p>Structural and functional analysis of cellular networks with CellNetAnalyzer</p>
            </title>
            <aug>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Saez-Rodriguez</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Gilles</snm>
                  <fnm>ED</fnm>
               </au>
            </aug>
            <source>BMC Syst Biol</source>
            <pubdate>2007</pubdate>
            <volume>1</volume>
            <fpage>2</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1847467</pubid>
                  <pubid idtype="pmpid" link="fulltext">17408509</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B7">
            <title>
               <p>A general definition of metabolic pathways useful for systematic organization and analysis of complex metabolic networks</p>
            </title>
            <aug>
               <au>
                  <snm>Schuster</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Fell</snm>
                  <fnm>DA</fnm>
               </au>
               <au>
                  <snm>Dandekar</snm>
                  <fnm>T</fnm>
               </au>
            </aug>
            <source>Nat Biotechnol</source>
            <pubdate>2000</pubdate>
            <volume>18</volume>
            <issue>3</issue>
            <fpage>326</fpage>
            <lpage>332</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">10700151</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B8">
            <title>
               <p>An expanded genome-scale model of Escherichia coli K-12 (iJR904 GSM/GPR)</p>
            </title>
            <aug>
               <au>
                  <snm>Reed</snm>
                  <fnm>JL</fnm>
               </au>
               <au>
                  <snm>Vo</snm>
                  <fnm>TD</fnm>
               </au>
               <au>
                  <snm>Schilling</snm>
                  <fnm>CH</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>BO</fnm>
               </au>
            </aug>
            <source>Genome Biol</source>
            <pubdate>2003</pubdate>
            <volume>4</volume>
            <issue>9</issue>
            <fpage>R54</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">193654</pubid>
                  <pubid idtype="pmpid" link="fulltext">12952533</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B9">
            <title>
               <p>Investigating metabolite essentiality through genome-scale analysis of Escherichia coli production capabilities</p>
            </title>
            <aug>
               <au>
                  <snm>Imielinski</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Belta</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Hal&#225;sz</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Rubin</snm>
                  <fnm>H</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2005</pubdate>
            <volume>21</volume>
            <issue>9</issue>
            <fpage>2008</fpage>
            <lpage>16</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15671116</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B10">
            <title>
               <p>Generalized concept of minimal cut sets in biochemical networks</p>
            </title>
            <aug>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Biosystems</source>
            <pubdate>2005</pubdate>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16303240</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B11">
            <title>
               <p>Computation of elementary modes: a unifying framework and the new binary approach</p>
            </title>
            <aug>
               <au>
                  <snm>Gagneur</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>BMC Bioinformatics</source>
            <pubdate>2004</pubdate>
            <volume>5</volume>
            <fpage>175</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">544875</pubid>
                  <pubid idtype="pmpid" link="fulltext">15527509</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B12">
            <title>
               <p>Comparison of network-based pathway analysis methods</p>
            </title>
            <aug>
               <au>
                  <snm>Papin</snm>
                  <fnm>JA</fnm>
               </au>
               <au>
                  <snm>Stelling</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Price</snm>
                  <fnm>ND</fnm>
               </au>
               <au>
                  <snm>Klamt</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Schuster</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>BO</fnm>
               </au>
            </aug>
            <source>Trends Biotechnol</source>
            <pubdate>2004</pubdate>
            <volume>22</volume>
            <issue>8</issue>
            <fpage>400</fpage>
            <lpage>5</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15283984</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B13">
            <title>
               <p>An improved algorithm for stoichiometric network analysis: theory and applications</p>
            </title>
            <aug>
               <au>
                  <snm>Urbanczik</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Wagner</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2005</pubdate>
            <volume>21</volume>
            <issue>7</issue>
            <fpage>1203</fpage>
            <lpage>1210</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15539452</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B14">
            <title>
               <p>The underlying pathway structure of biochemical reaction networks</p>
            </title>
            <aug>
               <au>
                  <snm>Schilling</snm>
                  <fnm>CH</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>BO</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>1998</pubdate>
            <volume>95</volume>
            <issue>8</issue>
            <fpage>4193</fpage>
            <lpage>8</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">22464</pubid>
                  <pubid idtype="pmpid" link="fulltext">9539712</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B15">
            <title>
               <p>Expa: a program for calculating extreme pathways in biochemical reaction networks</p>
            </title>
            <aug>
               <au>
                  <snm>Bell</snm>
                  <fnm>SL</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>BO</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2005</pubdate>
            <volume>21</volume>
            <issue>8</issue>
            <fpage>1739</fpage>
            <lpage>40</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15613397</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B16">
            <title>
               <p>Expanded metabolic reconstruction of Helicobacter pylori (iIT341 GSM/GPR): an in silico genome-scale characterization of single- and double-deletion mutants</p>
            </title>
            <aug>
               <au>
                  <snm>Thiele</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Vo</snm>
                  <fnm>TD</fnm>
               </au>
               <au>
                  <snm>Price</snm>
                  <fnm>ND</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>J Bacteriol</source>
            <pubdate>2005</pubdate>
            <volume>187</volume>
            <issue>16</issue>
            <fpage>5818</fpage>
            <lpage>5830</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1196094</pubid>
                  <pubid idtype="pmpid" link="fulltext">16077130</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B17">
            <title>
               <p>Genome-scale reconstruction of the metabolic network in Staphylococcus aureus N315: an initial draft to the two-dimensional annotation</p>
            </title>
            <aug>
               <au>
                  <snm>Becker</snm>
                  <fnm>SA</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>BMC Microbiol</source>
            <pubdate>2005</pubdate>
            <volume>5</volume>
            <fpage>8</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1079855</pubid>
                  <pubid idtype="pmpid" link="fulltext">15752426</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B18">
            <title>
               <p>In silico genome-scale reconstruction and validation of the Staphylococcus aureus metabolic network</p>
            </title>
            <aug>
               <au>
                  <snm>Heinemann</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>K&#252;mmel</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Ruinatscha</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Panke</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Biotechnol Bioeng</source>
            <pubdate>2005</pubdate>
            <volume>92</volume>
            <issue>7</issue>
            <fpage>850</fpage>
            <lpage>864</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16155945</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B19">
            <title>
               <p>Observing local and global properties of metabolic pathways: 'load points' and 'choke points' in the metabolic networks</p>
            </title>
            <aug>
               <au>
                  <snm>Rahman</snm>
                  <fnm>SA</fnm>
               </au>
               <au>
                  <snm>Schomburg</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2006</pubdate>
            <volume>22</volume>
            <issue>14</issue>
            <fpage>1767</fpage>
            <lpage>1774</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16682421</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B20">
            <title>
               <p>Global reconstruction of the human metabolic network based on genomic and bibliomic data</p>
            </title>
            <aug>
               <au>
                  <snm>Duarte</snm>
                  <fnm>NC</fnm>
               </au>
               <au>
                  <snm>Becker</snm>
                  <fnm>SA</fnm>
               </au>
               <au>
                  <snm>Jamshidi</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Thiele</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Mo</snm>
                  <fnm>ML</fnm>
               </au>
               <au>
                  <snm>Vo</snm>
                  <fnm>TD</fnm>
               </au>
               <au>
                  <snm>Srivas</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>2007</pubdate>
            <volume>104</volume>
            <issue>6</issue>
            <fpage>1777</fpage>
            <lpage>1782</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">1794290</pubid>
                  <pubid idtype="pmpid" link="fulltext">17267599</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B21">
            <title>
               <p>Functional stoichiometric analysis of metabolic networks</p>
            </title>
            <aug>
               <au>
                  <snm>Urbanczik</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Wagner</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2005</pubdate>
            <volume>21</volume>
            <issue>22</issue>
            <fpage>4176</fpage>
            <lpage>4180</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16188931</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B22">
            <title>
               <p>Systematic condition-dependent annotation of metabolic genes</p>
            </title>
            <aug>
               <au>
                  <snm>Shlomi</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Herrgard</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Portnoy</snm>
                  <fnm>V</fnm>
               </au>
               <au>
                  <snm>Naim</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Palsson</snm>
                  <fnm>B</fnm>
               </au>
               <au>
                  <snm>Sharan</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Ruppin</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Genome Res</source>
            <pubdate>2007</pubdate>
            <volume>17</volume>
            <issue>11</issue>
            <fpage>1626</fpage>
            <lpage>1633</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">2045145</pubid>
                  <pubid idtype="pmpid" link="fulltext">17895423</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B23">
            <title>
               <p>Parallel Out-of-Core Algorithm for Genome-Scale Enumeration of Metabolic Systemic Pathways</p>
            </title>
            <aug>
               <au>
                  <snm>Samatova</snm>
                  <fnm>NF</fnm>
               </au>
               <au>
                  <snm>Geist</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Ostrouchov</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Melechko</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>International Parallel and Distributed Processing Symposium: IPDPS 2002 Workshops</source>
            <pubdate>2002</pubdate>
            <fpage>0185b</fpage>
         </bibl>
         <bibl id="B24">
            <title>
               <p>Probing the performance limits of the Escherichia coli metabolic network subject to gene additions or deletions</p>
            </title>
            <aug>
               <au>
                  <snm>Burgard</snm>
                  <fnm>AP</fnm>
               </au>
               <au>
                  <snm>Maranas</snm>
                  <fnm>CD</fnm>
               </au>
            </aug>
            <source>Biotechnol Bioeng</source>
            <pubdate>2001</pubdate>
            <volume>74</volume>
            <issue>5</issue>
            <fpage>364</fpage>
            <lpage>75</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">11427938</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B25">
            <title>
               <p>Optknock: a bilevel programming framework for identifying gene knockout strategies for microbial strain optimization</p>
            </title>
            <aug>
               <au>
                  <snm>Burgard</snm>
                  <fnm>AP</fnm>
               </au>
               <au>
                  <snm>Pharkya</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Maranas</snm>
                  <fnm>CD</fnm>
               </au>
            </aug>
            <source>Biotechnol Bioeng</source>
            <pubdate>2003</pubdate>
            <volume>84</volume>
            <issue>6</issue>
            <fpage>647</fpage>
            <lpage>657</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">14595777</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B26">
            <aug>
               <au>
                  <snm>Berge</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Hypergraphs</source>
            <publisher>North Holland Mathematical Library. Elsevier Science Publishers B.V.</publisher>
            <pubdate>1989</pubdate>
            <volume>45</volume>
         </bibl>
         <bibl id="B27">
            <title>
               <p>SeDuMi</p>
            </title>
            <url>http://sedumi.mcmaster.ca/</url>
         </bibl>
      </refgrp>
   </bm>
</art>
