A central problem in computational metabolic modelling is how to find biochemically plausible pathways between metabolites in a metabolic network. Two general, complementary frameworks have been utilized to find metabolic pathways: constraint-based modelling and graph-theoretical path finding approaches. In constraint-based modelling, one aims to find pathways where metabolites are balanced in a pseudo steady-state. Constraint-based methods, such as elementary flux mode analysis, have typically a high computational cost stemming from a large number of steady-state pathways in a typical metabolic network. On the other hand, graph-theoretical approaches avoid the computational complexity of constraint-based methods by solving a simpler problem of finding shortest paths. However, while scaling well with network size, graph-theoretic methods generally tend to return more false positive pathways than constraint-based methods.http://www.cs.helsinki.fi/group/sysfys/software/retrace/.In this paper, we introduce a computational method, ReTrace, for finding biochemically relevant, branching metabolic pathways in an atom-level representation of metabolic networks. The method finds compact pathways which transfer a high fraction of atoms from source to target metabolites by considering combinations of linear shortest paths. In contrast to current steady-state pathway analysis methods, our method scales up well and is able to operate on genome-scale models. Further, we show that the pathways produced are biochemically meaningful by an example involving the biosynthesis of inosine 5'-monophosphate (IMP). In particular, the method is able to avoid typical problems associated with graph-theoretic approaches such as the need to define side metabolites or pathways not carrying any net carbon flux appearing in results. Finally, we discuss an application involving reconstruction of amino acid pathways of a recently sequenced organism demonstrating how measurement data can be easily incorporated into ReTrace analysis. ReTrace is licensed under GPL and is freely available for academic use at ReTrace is a useful method in metabolic path finding tasks, combining some of the best aspects in constraint-based and graph-theoretic methods. It finds use in a multitude of tasks ranging from metabolic engineering to metabolic reconstruction of recently sequenced organisms. Genome-scale metabolic reconstructions from a variety of organisms have become available in recent years . At the A typical way to query a metabolic model is to ask whether a biologically realistic connection exists in the model from a metabolite to another. We may ask this question in different contexts, depending on the task at hand. For instance, when reconstructing a metabolic network for a novel organism , we are constraint-based methods [Two complementary approaches have been used to answer the questions discussed above, constraint-based and graph-theoretical path finding methods. In  methods ,13, one graph-theoretical methods, one typically wants to find a number of shortest paths leading from the source to the target metabolite [On the other hand, in tabolite -19. Methtabolite ,21. Resutabolite . ParticuIn the ARM method, information on the mapping patterns of carbon atoms in metabolic reactions was utilized . In ARM,Until more recently, other graph-theoretical approaches have avoided the use of atom mapping information. This is probably due to the fact the obtaining reliable mapping data is a hard problem, both computationally and biochemically. In ARM, atom mappings were computed for a number of KEGG reactions using a heuristic method based on matching of maximum common subgraphs . Later, pool or currency metabolites. Examples include ATP, NAD and water, which indeed have a high degree of connectivity in metabolic networks. If a pool metabolite appears in a reaction in its typical role, the metabolite is usually said to be a side metabolite in the particular reaction. However, assignment of metabolites to side metabolites is context-dependent. For instance, ATP appears in side metabolite role in addition to being the end product on the pathway responsible for synthesizing ATP.Certain metabolites appear in many different reactions in metabolism carrying out tasks such as providing energy for reactions and maintaining redox balance. Such metabolites are commonly called In simple shortest path analysis, pool metabolites often cause false positive pathways to be identified, as the shortest paths often traverse via them . A populet al. utilized information on metabolite structures in Pathway Hunter Tool (PHT) [There have been attempts to avoid the problem of assigning a list of side metabolites altogether in pathway analysis tasks. Rahman ol (PHT) . In PHT,et al. to avoid side metabolites in path finding by weighting the edges of the metabolic network graph by the metabolite degree [A method has been proposed by Croes e degree . In thisBlum and Kohlbacher combined atom mapping information with metabolic graphs weighted by metabolite degrees . In theiet al. by taking advantage of the annotations for reactant pairs in KEGG reactions contained in the RPAIR database [Subsequently, also Metabolic PathFinding was improved by Faust database . RPAIR ddatabase . Roles iet al. evaluated the accuracy of different combinations of path finding parameters in retrieving 55 known reference pathways in three organisms  [Faust sapiens) . DiffereThe graph-theoretical methods discussed above only find non-branching pathways. As many important pathways are best understood by considering the different branches leading to the target metabolite, it can be argued that a metabolic path finding method should incorporate support also for non-linear pathways. Some methods, such as MetaRoute  offer thelementary flux mode (EFM). An elementary flux mode is a minimal set of enzymes capable of operating in a pseudo steady-state, with reactions respecting irreversibility constraints [These concerns can be addressed in constraint-based modelling framework. A prominent concept in this framework is straints . Elementstraints . In part2, acetyl, formate, ethanol and lactose [Without additional constraints, both graph-theoretical and constraint-based methods produce a very large number of pathways for typical queries. For instance, about 500000 linear pathways of length at most nine reactions were found from glucose to pyruvate , while r lactose . In part lactose . To anal lactose  and YANA lactose .A recent case study  comparedfeasible pathways [reachable from a set of source metabolites. Two procedural rules define reachability of reactions and metabolites: a reaction can be made reachable if and only if all its substrates have been made reachable, while a metabolite can be made reachable if and only if either at least one of reactions producing has been made reachable or the metabolite is a source metabolite. In other words, a feasible pathway is branching when there is a reaction with two or more substrates. In this approach, pool metabolites are dealt with by removing them from the network before analysis.In previous work, we introduced the concept of pathways . In thisReTrace, for finding branching pathways in large-scale metabolic networks. Our method builds on the observation utilized in the previous works of Arita [In this paper, we introduce a new graph-theoretical method, of Arita  and Blumof Arita  that a bdangling substrates. Specifically, a dangling substrate is a metabolite consumed but not produced by a reaction on the pathway. The number of dangling substrates invariably decreases, as more atoms are transferred to the target metabolite by the pathway. We argue that to find plausible pathways, a path finding method should either minimize the number of dangling substrates or transfer as many atoms as possible to target. Particularly, ReTrace is designed to do both at the same time.Our method tries to overcome the problem of irrelevant connections faced by most path finding approaches by searching for pathways at atom level instead of reaction-metabolite level. ReTrace searches for pathways in an atom-level representation of the metabolic network in contrast to most other path finding methods discussed above. Particularly, the method improves Arita's ARM method  by beingTo this end, we introduce a scoring function for pathways taking into account the number of target atoms transferred from source atoms. We then formulate the problem of finding high-scoring branching pathways, study its complexity and give an efficient algorithm to solve the problem. The algorithm operates at the atom-level representation, finding a number of shortest paths ,35 betweIn particular, our method avoids the context-dependent problem of defining side metabolites in each reaction. For instance, ATP is a typical side metabolite that participates in a large number of reactions. However, as discussed earlier, by removing ATP from analysis we at the same time lose the possibility to analyze the ATP synthesis pathways. Operating in an atom-level representation of the metabolic network, ReTrace disregards side metabolite connections automatically being unable to transfer atoms from source to target metabolite.The ability to incorporate measurement data into analysis is vital in discovering condition-specific pathways. In order to achieve this, in addition to the scoring function discussed above, ReTrace allows scores to be assigned to reactions. Pathway search is then guided by the scores to favor pathways which utilize reactions with high scores. Thus, by encoding measurement data into reaction-specific scores, one can obtain pathways which were active in the measured conditions, for instance. In this paper, we describe an application where we incorporated sequence similarity data into ReTrace analysis . In geneWe have implemented the method in Python . The sofWe begin by defining some key concepts, a scoring function for pathways and a computational problem of finding branching, high scoring pathways. Then, we describe an algorithm, ReTrace, for solving the path finding problem.r ∈ ℛ is defined by giving its substrate and product metabolite sets I(r), O(r) ⊆ ℳ, respectively. For instance, the reaction glucose (GLC) + ATP → glucose 6-phosphate (G6P) + ADP could be given by I(r) = {GLC, ATP} and O(r) = {G6P, ADP}. Each metabolite m ∈ ℳ consists of atoms, B(m) ⊆ B(GLC) = {a1,..., a6} and B(G6P) = {a7,..., a12}. We deal with bidirectional reactions by considering the reverse direction as a separate reaction I(O(r) and O(I(r). Unidirectional reactions are then naturally taken into account by leaving the reverse reaction out of the model.First, we define ℳ to be a collection of metabolites and ℛ to be a collection of reactions which utilize the metabolites in ℳ. A metabolic reaction atom mapping [r ∈ ℛ to be a relation Γ: ℛ → a1, a2, a3, a4} and ℳ = {m1, m2, m3}, with metabolite structures defined by B(m1) = {a1, a2}, B(m2) = {a3} and B(m3) = {a4}. We can now define a reaction r with I(r) = {m1} and O(r) = {m2, m3} and the atom mapping associated with r to be Γ1(r) = {, }. Alternatively, atom mapping can be defined as Γ2(r) = {, }. We say that the reaction r consumes atoms r) = {a| ∈ Γ (r)} and produces atoms r) = {a'| ∈ Γ (r)}.Further, we define the  mapping  for a reatom graph G , induced by atom collection V and edges E as follows. For each atom a ∈ A, we have a vertex va ∈ V. Each pair  ∈ Γ (r), r ∈ R, corresponds to an edge  ∈ E. Note that if reaction directionality is not explicitly constrained, the atom graph will contain the edge  for each edge  due to reverse reactions being treated as separate reactions. The example reaction r, atom mappings Γ1(r), Γ2(r) and the induced atom graphs are shown in Figure For a collection of reactions ℛ with associated atom mappings Γ, we define a directed simple or 0-1 stoichiometry, that is, reactions where each substrate and product either appears exactly once or does not appear in I(r) and O(r), respectively. Briefly, one can relax this assumption by replicating atoms and involved edges in metabolites which appear in a reaction more than once but this topic is not pursued further here. For a reaction r involving only simple stoichiometries, we assume the relation Γ(r) to be bijective, i.e., there is an one-to-one correspondence between substrate and product atoms. However, if a reaction consumes or produces two units of a metabolite, for example, there is necessarily an atom that is either mapped from or mapped to more than once. As an example, consider the reaction m1 → 2m2 having Γ(r) = {, } with atom a3 of metabolite m2 appearing twice in the relation. Hence, atom mappings of reactions involving stoichiometries different than zero or one, are not bijective.In this section, we discuss only reactions with P = {r1,..., rk} ⊆ ℛ is called a pathway. A pathway transfers an atom s ∈ t ∈ s → t in the atom graph G(P). We denote by fP (S) the set of atoms to which atoms in S are transferred by the pathway P. Figure fP (S) in the context of a small example pathway.A subset As discussed in the previous section, metabolic pathways which transfer a large fraction of their source atoms to product atoms should be prioritized over pathways transferring a lesser number of atoms. In particular, we are interested specifically in carbon atoms, as their supply is often the limiting factor in cellular functions. Yields of other atoms such as nitrogen or sulfur may also be of importance, depending on the role of the pathway in metabolism.S, T ⊆ source or target metabolite, respectively. We define our pathway scoring criterion as the fraction ZO of target atoms T which are transferred by the pathway P from source atoms S,To take these considerations into account, we define a scoring criterion for pathways, given source and target atoms, ZO = 1 is called a complete pathway. Intuitively, a pathway with high ZO is able to produce a large fraction of target atoms from source atoms, and does not require a high contribution from atoms in other than source metabolites. Figure ZO scores corresponding to them.A pathway with ZO is maximized on the pathway P = ℛ. Instead, we study the following problem where the pathway size is involved.It is easy to see that Given a set of reactions ℛ, sets S, T ⊆ l ∈ ℤ+ and w ∈ ℝ, find all pathways P ⊆ ℛ such that ZO ≥ w and |P| <l.(Find-Branching-Pathways). P is branching, or non-linear. For instance, the top right pathway in Figure P with minimal size such that ZO ≥ w.In Find-Branching-Pathways, we aim to find pathways that transfer enough atoms from sources to targets while using less than some specified amount of reactions. It is possible that a pathway Given an instance of a Find-Branching-Pathways problem, find a pathway P satisfying the constraints of Find-Branching-Pathways such that |P| ≤ |P'| for any other pathway P' satisfying the constraints.. Proof. We show that Find-Minimal-Pathway is NP-hard [si ∈ ai, A. We then assign a reaction ri to R for each subset Ci ∈ ri) = { solution pathways to Find-Branching-Pathways and choosing the smallest pathway. Figure When solving Find-Branching-Pathways in practice, we would like to benefit from information from other sources to help us evaluate the pathways found. As an important example, we discuss the use of genome-level evidence in the pathway context in section Implementation.Due to the computational complexity of the Find-Branching-Pathways problem, we develop next an efficient heuristic algorithm for it.ZO we should seek a pathway that is able to transfer an atom to each target atom from source atoms. Further, to achieve a pathway smaller than l reactions, we should prefer reactions which are able to transfer many atoms at the same time. To illustrate this, let us first define a reaction path p as a sequence of reactions p = , ri ∈ R, such that there is a path from an atom s consumed by the first reaction, s ∈ r1), to an atom t produced by the last reaction, t ∈ rn), in the atom graph induced by the reactions in p. Clearly, such reaction path is able to transfer at least the atom s to atom t but the path may be to transfer additional atoms as well. Analogously to the definition of a pathway, we denote by fp(S) the set of atoms to which atoms in S can be transferred by the reaction path p in this fashion. As more source atoms are transferred via a reaction path to targets, higher ZO is achieved. Thus, we observe that reaction paths with large fp(S) sets should be preferred.First, we observe that to maximize ZO with combinations of pathways. Consider a pathway P with ZO < 1. Now, since not all target atoms can be transferred from sources, there must be a target atom t ∈ T which is not connected by a path from any source atom in the atom graph G(P). We should thus consider an addition of a pathway P' such that a path s → t exists in pathway P ∪ P' from some s ∈ S. To minimize the size of the combined pathway, we should utilize reactions already on the pathway P, and find an addition that is able to provide the target atoms not already transferred. In particular, we should look for branching points on the pathway P where an atom u in one or more substrates is not already connected to the sources but there is a path u → t in G(P). In such case, connecting a source atom to u by an addition of a pathway P' such that u ∈ fP'(S) guarantees that ZO > ZO. However, it should be noted that certain path combinations yield pathways, where necessarily more than one instance of target molecule is produced. Consider the two pathways illustrated in Figure reaction junction. A reaction junction occurs, when two paths share a reaction  do not share any product metabolites. The shared reaction is then a reaction junction. In the example presented in Figure r1 and r2, m3 and m4 respectively, are transferred to the same molecular instance of metabolite m5.Second, we are able to achieve higher metabolite junction m3. A metabolite junction is a metabolite shared by two paths such that both paths contain the same reaction consuming the metabolite. In Figure m3 is the shared product of r1 and r2. The atoms in substrates of r1 and r2 are in this case never transferred to the same instance of m3: Instead, the atoms always end up in different molecules of m4. Although the pathway is unable to provide all source atoms in the same target molecule, the score ZO does not differentiate between these two cases. We would, however, like to avoid pathways with metabolite junctions, because such pathways in reality can be split into two or more pathways, each transferring source atoms to a single instance of the target metabolite.On the other hand, in the pathway on the right, the two paths meet in a ZO score. To discover alternative pathways, a number of paths are generated at each recursion level. Furthermore, in order to to reduce occurences of metabolite junctions, ReTrace only considers combinations which add reaction junctions to the pathway.These ideas lead into the following recursive algorithm, ReTrace, where we find paths leading to target metabolites from sources in the atom graph, and combine these paths to achieve a higher G induced by reactions R. Nodes vΔ and vU which represent all source and unresolved atoms are added to the graph. An atom node u is unresolved, if there is no path vΔ → u on the pathway and addition of a such path would create a path vΔ → t to some t ∈ T for which no path already existed. Each target atom is considered at this step an unresolved node. Subsequently, the algorithm attempts to resolve the unresolved nodes by adding paths to the pathway. Additional edges are added to G to connect vΔ to source atoms. Finally, Procedure FindPath is called, which recursively adds paths to the pathway until all nodes have been resolved or there are no more paths to add which would resolve nodes.The description of the ReTrace method is divided below into Procedures ReTrace, FindPath and FindPathStart, where Procedure ReTrace Table  preparesvu, vU) for each u ∈ U . Then, the algorithm computes k shortest simple paths from vΔ to vU in the atom graph G by calling the subroutine FindKShortestSimpleAtomPaths. A simple (or acyclic) path is a path where no node is repeated. To implement FindKShortestSimplePaths, any algorithm developed for the k shortest simple path problem [O(kn(m + n log n)) time to compute k shortest simple paths in a graph with n nodes and m edges [vΔ to vU, ReTrace aims to discover additions to the current pathway P which would increase the ZO score. Further, the additions should be as small as possible because of the maximum pathway size constraint. To this end, ReTrace computes explicitly simple paths in contrast to finding shortest paths where cycles are allowed: a cyclic path can always be transformed into a smaller acyclic path which transfers the same set of atoms from sources to target as the cyclic path.In Procedure FindPath, the graph is first set up to reflect the current set of unresolved nodes by adding edges  and O = O(n) time by breadth-first search in the atom graph G. Next, the algorithm considers the atoms which remain unresolved after addition of path P'. In steps 9-12, the algorithm backtracks from each atom u ∈ U using the Procedure FindPathStart and checks whether path P' transfers a source atom to u. If this is not true, the atom u is an unresolved atom.Then, the reactions involved in the shortest atom path P ∪ P' by looking for paths from vΔ to the new set of unresolved nodes U '. The recursion depth is at most |T|, because during each call at least one unresolved atom is resolved, at most one atom is added to the set U' per atom u ∈ U and U = T at depth 1. As a maximum of k paths is generated in each FindPath call, and FindPath is recursively called at most once for each, in total FindPath is called O(kT||) times.Lastly, in step 14, FindPath is called recursively to find additions to the pathway ReTrace takes O(kT||(n(m + n log n) + |T|)) time, assuming Yen's k shortest simple paths algorithm in step 2 of Procedure FindPath.   □http://www.cs.helsinki.fi/group/sysfys/software/retrace. Implementation details and user guide are available in Additional file We have implemented ReTrace in Python  as a comdot tool http://www.graphviz.org/ to draw the pathway diagrams. Internet connection is recommended, because an external web program [ReTrace requires that Python 2.5 has been installed. In addition, if available, ReTrace calls Graphviz  program  is calleOur implementation of ReTrace utilizes atom mapping data from the KEGG RPAIR database. During startup, ReTrace parses RPAIR entries and constructs an atom graph corresponding to the data. Details on atom graph construction are given in Additional file The atom graph constructed is unweighted by default. It is possible to assign weights to atom graph edges by a command line option. Three weighting schemes are currently supported: unweighted, RPAIR size-weighted and reaction score weighted. In RPAIR size-weighting, edges from substrate atoms to RPAIR nodes are assigned weight C(r) to reactions. The edges are assigned weights β is a constant.ReTrace supports also the option of specifying arbitrary scores Therefore, a reaction having a high score causes atom graph edges corresponding to the reaction to receive a low weight, increasing chances that shortest paths visit its edges, and finally, that the reaction appears in result pathways.Reaction scores provide a mechanism to easily incorporate measurement data to guide pathway search. In section Results, we discuss the application of ReTrace in reconstructing biosynthesis pathways on basis of genomic evidence.ReTrace reports query results as a set of generated html files. Figure Trichoderma reesei were reconstructed with ReTrace [This section is organized into four parts. First, we describe the properties of an atom graph constructed from data obtained from the KEGG database. The atom graph was used in all experiments reported in this paper. Second, we summarize results obtained in a study where amino acid biosynthesis pathways in  ReTrace . In part ReTrace , sequencWe constructed an atom graph corresponding to 7781 reactions in the March 2009 version of KEGG LIGAND [giant components [The atom graph contained 90219 nodes corresponding to 80688 carbon, 7408 nitrogen and 2123 phosphorus atoms. In particular, it consisted of a large number of components, i.e., disconnected subgraphs. Figure mponents , 36310, mponents  for atommponents . Particumponents , the meaDistances in the atom graph from atoms in the same metabolite can vary significantly. For instance, consider the distribution of distances from some of the carbon atoms in acetyl-CoA shown in Figure Trichoderma reesei were reconstructed with ReTrace and subsequent manual curation. T. reesei is a recently sequenced organism [In , amino aorganism . Currentorganism , reconstS of T. reesei against the UniProt [D, which contained the known enzymatic sequences and their respective functions. Then, we assigned scores to reactions with the formula,First, the edges of atom graph were weighted to correspond sequence-level evidence on existence of each reaction derived from Blast  alignmen UniProt  databaseED(r) is the set of sequences in database D which have been annotated to have function (reaction) r and B is the Blast score for aligning sequences s and d. In other words, the score of reaction r corresponded to the best Blast hit to the sequence of an enzyme known to catalyze r. The higher the Blast best-hit score was for some reaction, the lower weights the corresponding edges received in the atom graph accordingly to the formula described in Implementation. Thus, shortest paths in a graph weighted in this fashion tended to favor plausible reactions. In addition to the study described in [where ribed in , a similribed in .T. reesei according to manual curation in contrast to the unweighted case.In , ReTraceWe studied the performance of ReTrace and effect of different parameters by querying the atom graph described previously.ZO > 0 was accepted. Queries were computed in a cluster of 25 computers running Intel Pentium 4 2.80 GHz dual-core CPUs. Because the current implementation was not parallelized, each query was run on a single core. Full result data is presented in the Additional file k was given values , ,..., .First, we evaluated the effect of increasing the number of paths computed at each search level to the total running time and number of pathways found. A total of 13 molecules with different number of carbon atoms were selected for the experiment. Only carbon atoms were utilized in searches and maximum search depth was not constrained. Pathways were computed from each molecule to every other molecule in the query set. Any pathway found with k computed in the first and second experiment, labeled unlimited and limited, respectively. In the first experiment, the computation time grows rapidly with k, reaching over 5000 seconds on the average with k = 4. In the second experiment, computation takes less time and yields fewer result pathways than in the first experiment when k is increased because only one path is computed after the second search level. However, the number of result pathways grows faster than in the first experiment. This is due to a larger fraction of resulting pathways being duplicates in the first experiment. Hence, by limiting the pathway computations in deeper levels we are able to explore more thoroughly the first levels and obtain more unique solutions than when k remains constant at every search level.Figure ReTrace computation time varied significantly with respect to the complexity of the target metabolite and the number of pathways found for each query. As shown in Figure 2 or anthranilate as the source metabolite in the query. In contrast, the least number of pathways were found for complex metabolites such as cobamide coenzyme, p-coumaroyl-CoA, CMP-N-acetylneuraminate and ATP. Interestingly, a relatively low number of 564.41 pathways on the average were found for the central carbon metabolite pyruvate. When considering each metabolite as the pathway target, CO2 received the smallest amount of pathways. This is due to CO2 having only one carbon and being utilized in a large number of pathways. Hence, in most cases, only a simple pathway was necessary to transfer the sole carbon from each source. On the other hand, significantly higher amount of pathways were found for complex metabolites such as CMP-N-acetylneuraminate, S-adenosyl-L-methionine and p-couramoyl-CoA. Particularly, there was a notable difference in the number of pathways found for ATP and S-adenosyl-L-methionine. Although the two resemble each other structurally, only about half as many pathways were found for ATP compared to S-adenosyl-L-methionine.Figure 2 were the smallest, while pathways to complex molecules p-coumaroyl-CoA, CMP-N-acetylneuraminate and cobamine coenzyme were the largest.Figure 2 and aspartate. It is thus interesting to find out whether ReTrace is able to discover alternative, complete pathways to IMP from a single carbon atom source. In such scenario, the pathways found need to contain branches able to produce the different precursors to IMP.Lastly, we computed pathways from glucose to 5'-inosine monophosphate (IMP) to validate usefulness of the method in generation of alternative biochemically realistic pathways. On a general IMP biosynthesis pathway as described in , IMP recZO = 1 and pathways which could not be extended any further because maximum search depth was encountered. In summary, a total of 4738 pathways were found in 3.5 hours on a Intel Xeon X5355 2.66 GHz CPU. Additional file We searched for pathways from glucose to IMP with ReTrace. Maximum search depth was set to 6 and the number of shortest paths computed at each step to 100 and 25 for search depths 1 and 2 and to 1 for depths 3,..., 6. Atom graph edges were given uniform weights. To assess the complexity of this pathway query, we stored also partial pathways in addition to those pathways with ZO scores and sizes of the 1173 pathways found. A total of 147 pathways received ZO = 1 score and were thus complete. Moreover, sizes of complete pathways ranged from 30 to 35 reactions , while the average pathway size among all the pathways found was only 22.0 (standard deviation 6.09).Figure Result pathways utilized enzymes with 166 distinct EC numbers. Table 2. It should be noted, that the third branch is required to achieve a complete pathway: IMP receives carbons from carbon dioxide and ReTrace explores also branches that produce carbon dioxide from glucose. If such behavior is not required, it is possible to study further only results with ZO < 1.The representative pathway corresponds to a prokaryotic pathway for synthesis of IMP described in . The patZO < 1. The IMP biosynthesis pathway as described in [In addition to the representative pathway, where IMP is synthesized via inosine, ReTrace found complete pathways where IMP is produced from AMP. However, no complete pathway was found which would produce IMP through 1-(5'-Phosphoribosyl)-5-formamido-4-imidazolecarboxamide (FAICAR), although such pathways were among the results with scores ribed in  utilizesIn summary, a total of 1134, 400 and 206 result pathways utilized inosine, AMP and FAICAR, respectively, as the immediate precursor to IMP.Numerous approaches have been developed for pathway analysis in metabolic networks. The two prominent frameworks are constraint-based modelling and graph-theoretic approaches, both having certain advantages over the other. Constraint-based methods have been reported to find biochemically more realistic pathways  but are The method introduced in this paper, ReTrace, avoids problems with scalability while being able to find biochemically realistic, branching pathways. In contrast to most constraint-based methods, ReTrace is applicable to very large instances, involving genome-scale or larger metabolic networks. In addition, no explicit side metabolite list is required.Similarly to ARM path finding , ReTraceIt should be noted that the method presented here also generalizes our previous work , where wTrichoderma reesei. As demonstrated in [In this paper, we have demonstrated that ReTrace is able to discover biochemically feasible alternative pathways for complex metabolites in genome-scale networks. Further, our method has been applied to a biological problem of validation of metabolic pathways in an organism lacking good-quality metabolic reconstruction, namely rated in , the metWe also studied the properties of the atom graph constructed from KEGG data. The pairwise distances between atoms were found to be significantly longer than in a previous study . In partThe availability and quality of atom mappings is of great importance to the method. Currently, methods for obtaining high-quality atom mappings are actively being investigated by many groups, including ours. Fortunately for applications demonstrated in this paper, we are mostly able to ignore the problem of deciding between alternative mappings stemming from apparently isomorphic fragments.EP designed, analyzed and implemented the algorithm, performed the experiments and wrote the manuscript. PJ and JR contributed to the development of the method and writing the manuscript. PJ and EP analyzed the results of the glucose-IMP experiment. All authors have read and approved the final version of the manuscript.ReTrace user guide and implementation notes. ReTrace implementation details and user guide. A self-contained web site: unpack archive and open index.html in a web browser.Click here for fileReTrace results from experiments. Summary data and html output from ReTrace runs performed for the queries discussed in the section Results. A self-contained web site: unpack archive and open index.html in a web browser.Click here for file


An indirect approach is usually used to estimate the metabolic fluxes of an organism: couple the available measurements with known biological constraints (e.g. stoichiometry). Typically this estimation is done under a static point of view. Therefore, the fluxes so obtained are only valid while the environmental conditions and the cell state remain stable. However, estimating the evolution over time of the metabolic fluxes is valuable to investigate the dynamic behaviour of an organism and also to monitor industrial processes. Although Metabolic Flux Analysis can be successively applied with this aim, this approach has two drawbacks: i) sometimes it cannot be used because there is a lack of measurable fluxes, and ii) the uncertainty of experimental measurements cannot be considered. The Flux Balance Analysis could be used instead, but the assumption of optimal behaviour of the organism brings other difficulties.We propose a procedure to estimate the evolution of the metabolic fluxes that is structured as follows: 1) measure the concentrations of extracellular species and biomass, 2) convert this data to measured fluxes and 3) estimate the non-measured fluxes using the Flux Spectrum Approach, a variant of Metabolic Flux Analysis that overcomes the difficulties mentioned above without assuming optimal behaviour. We apply the procedure to a real problem taken from the literature: estimate the metabolic fluxes during a cultivation of CHO cells in batch mode. We show that it provides a reliable and rich estimation of the non-measured fluxes, thanks to considering measurements uncertainty and reversibility constraints. We also demonstrate that this procedure can estimate the non-measured fluxes even when there is a lack of measurable species. In addition, it offers a new method to deal with inconsistency.This work introduces a procedure to estimate time-varying metabolic fluxes that copes with the insufficiency of measured species and with its intrinsic uncertainty. The procedure can be used as an off-line analysis of previously collected data, providing an insight into the dynamic behaviour of the organism. It can be also profitable to the on-line monitoring of a running process, mitigating the traditional lack of reliable on-line sensors in industrial environments. Fostered by the importance of studying the cell metabolism under a system-level approach ,2, the sExperimental measurements of fluxes can be incorporated as constraints, in order to determine the actual flux distribution or at least to reduce the space of possible flux distributions. However, it must be taken into account that measurements are not invariant constraints, but specific condition constraints . There aMetabolic Flux Analysis (MFA) provides a methodology to uniquely determine the actual flux distribution by using a metabolic network and a set of measured fluxes . It has The Flux Balance Analysis (FBA) can be used to predict metabolic flux distributions ,16. FirsCorynebacterium glutamicum at different temporal phases of fermentation. Elementary modes are also employed in 21], the loyed in , where tloyed in , on-lineloyed in  use a siloyed in  has presTo calculate the succession of flux distributions, it is usually assumed that intracellular fluxes are in quasi-steady state within each measurement step. However, that does not mean that the intrinsic dynamic nature of the cultivation is being disregarded. Instead, the intracellular fluxes will follow the change of environmental conditions as mediated by the measured fluxes (e.g. substrate uptakes). Hence, steady states may undergo shifting from one state to another depending on the evolution of the measured fluxes . Such asi) It cannot be used when measurements are scant (i.e. when the system is underdetermined). This happens very often due to the lack of measurable fluxes. ii) The uncertainty of the measured fluxes cannot be considered. Not only gross errors may appear -which could be managed only in case there are redundant measured fluxes- but also most sources of measurements are intrinsically uncertain and the propagation of this uncertainty to the estimated fluxes is not controlled, and iii) only equalities can be used as constraints. For instance, reversibility constraints or maximum flux values cannot be taken into account. FBA solves the first difficulty and provides a framework to deal with the other ones. But the use of FBA in this context could be problematic due to the appearance of a time-variant metabolic objective . The size of the intervals (i.e. the imprecision of the estimation) depends on the number of non-measured fluxes, the irreversible reactions, the available measurements and the degree of uncertainty considered. Of course, the more constraints are available, the tighter intervals are obtained. If uncertainty is not considered, reversibility constraints are not used, and the system (2) is determined, FSA gives the same unique solution as MFA . Accordingly, each equation of (2) is substituted by two inequalities. The resultant constraints define a region where the actual flux distribution may live.1. Impose the set of constraints given by (2) and the reversibility constraints for the irreversible reactions, vuj, by solving a set of min/max linear programming problems (nu minimizations and nu maximizations):2. Calculate the minimum and maximum values within the region for each non-measured flux nu is the number of unknown fluxes, vu is the vector of non-measured fluxes, vi represents each irreversible flux and [vm] represents the two vectors  formed with the uncertain representation of the measured fluxes. {-Sm·[vm]}min and {-Sm·[vm]}max are vectors formed with the maximum and minimum row values of the product -Sm· [vm]. To calculate each row, maximum and minimum values of vm need to be combined taking into account the signs of the elements of the corresponding row of Sm  = .The obtained ne extracellular fluxes can be linked with the intracellular fluxes by using a matrix Sξ fulfilling:A set of vξ is the vector of extracellular fluxes and v the vector of intracellular fluxes. Eq. 11 can be easily joined with eq. 1 as follows:where Hence, the extended system holds the structure of a homogeneous system of linear equations.A redundant system will be consistent if it fulfils the consistency condition:R is the redundancy matrix and Su# the Penrose pseudo-inverse of Su. In case inconsistency is detected, the method described in [h as follows:where ribed in ,39 can bRr is the reduced redundancy matrix and F the variances-covariances matrix of the measurements in vm. If a given set of measured fluxes vm fails the consistency check (h>χ2), then there is a (confidence level)% chance that either vm contains gross errors or the assumed stoichiometric matrix is incorrect. The χ2 values for two confidence levels are given in Table where Rr# denoted the Penrose pseudo-inverse of the matrix Rr. This equation provides the adjusted values for the balanceable fluxes and the original values for the non-balanceable ones.where Su:When the system (2) is determined but not redundant the unique solution can be calculated by using the inverse matrix of Su is not invertible so the Penrose pseudo-inverse is used instead (providing a least squares solution):When the system is determined but redundant, matrix Finally, if system (2) is underdetermined, Metabolic Flux Analysis cannot be used. Only some fluxes may be uniquely calculable by using the method explained in .MFA: Metabolic flux analysisFSA: Flux spectrum approachFBA: Flux balance analysisCHO: Chinese hamster ovary (cells)AIS: Average along time of the interval size of an estimated flux.FL and JP designed the research, analyzed the results and conceptualized the manuscript. FL performed the estimation of non-measured fluxes and drafted the manuscript. JP supervised and coordinated the project. All the authors read and approved the final manuscript.Conversion of measured concentrations to measured fluxes. Example of the calculation of the measured fluxes when the measurements of concentration are obtained at a high sample rate.Click here for fileFlux spectrum approach in the underdetermined and redundant case. Example of the estimation of fluxes with the Flux Spectrum Approach in an Underdetermined and redundant case.Click here for fileMetabolic network description. List of metabolites, reactions and stoichiometric matrixes.Click here for fileMathematical model (SBML and matlab). The zip file contains the mathematical model of the metabolism of CHO cells in three different formats: a matlab script, an SBML model and a metatool file.Click here for fileAdditional figures and tables. Additional figures cited in the manuscript.Click here for fileAnalysis of the unbalanced propagation of the uncertainty. Dataset with the interval size of the estimations of each non-measured flux at each time instant.Click here for fileAnalysis of the effect of the uncertainty of each measured flux. Details and datasets of the indirect and direct analysis of the effect of the uncertainty of each measured flux.Click here for fileImplementation of the Flux Spectrum Approach. The zip file contains a matlab script which implements the method to estimate the non-measured fluxes with the Flux Spectrum Approach and a simple example that illustrates how to use it.Click here for file


In this approach, each mutant strain is evaluated by resorting to the simulation of its phenotype using the Flux-Balance Analysis (FBA) approach, together with the premise that microorganisms have maximized their growth along natural evolution.One of the greatest challenges in Metabolic Engineering is to develop quantitative models and algorithms to identify a set of genetic manipulations that will result in a microbial strain with a desirable metabolic phenotype which typically means having a high yield/productivity. This challenge is not only due to the inherent complexity of the metabolic and regulatory networks, but also to the lack of appropriate modelling and optimization tools. To this end, Evolutionary Algorithms (EAs) have been proposed for in silico metabolic engineering. Both approaches use a variable size set-based representation, thereby allowing the automatic finding of the best number of gene deletions necessary for achieving a given productivity goal. The work presents extensive computational experiments, involving four case studies that consider the production of succinic and lactic acid as the targets, by using S. cerevisiae and E. coli as model organisms. The proposed algorithms are able to reach optimal/near-optimal solutions regarding the production of the desired compounds and presenting low variability among the several runs.This work reports on improved EAs, as well as novel Simulated Annealing (SA) algorithms to address the task of The results show that the proposed SA and EA both perform well in the optimization task. A comparison between them is favourable to the SA in terms of consistency in obtaining optimal solutions and faster convergence. In both cases, the use of variable size representations allows the automatic discovery of the approximate number of gene deletions, without compromising the optimality of the solutions. Increasing necessity for sustainable manufacturing processes is driving a trend to replace the traditional methods of chemical synthesis by biotechnological approaches, in order to produce a number of valuable products, such as pharmaceuticals, fuels and food ingredients. This, however, implies that the microorganisms' metabolism usually needs to be modified to comply with industrial purposes, rather then to follow their natural aims like, for example, the maximization of biomass growth.In the last few years, within the field of Metabolic Engineering, a number of tools have been developed in order to introduce genetic modifications capable of achieving the production of the desired products ,2. HowevA number of attempts have been made to model the whole cell behaviour , but theNevertheless, it is possible to predict cellular metabolism, under some assumptions, namely considering steady-state conditions and imposing a number of constraints over the rates of reactions.This is the way followed by the Flux Balance Analysis (FBA) approach , where tUsing this technique, it is possible to predict the behaviour of a microorganism, both in its wild type and mutant forms, under a number of environmental conditions. A bi-level optimization problem can then be formulated, by adding a layer that searches for the best mutant that can be obtained by simply deleting a few genes from the wild type. The idea is to force the microorganisms to produce the desired product by selected gene deletions. Therefore, the underlying optimization problem consists in reaching an optimal subset of gene deletions to maximize an objective function related with the production of a given compound.OptKnock algorithm  and  identified in the Succinic acid case study for The development of efficient and accurate modelling and optimization methods in Metabolic Engineering has a considerable impact in Biotechnology, leading to substantial economical gains in areas such as the production of pharmaceuticals, fuels and food ingredients.In this work, a contribution to this arena was provided by the development of Evolutionary Algorithms and Simulated Annealing that are able of reaching near optimal sets of gene deletions in a microbial strain, in order to maximize the production of a given product. An important novel feature of this work was the introduction of set-based representations that made use of variable size sets of gene deletions. This allows the automatic definition of the optimum number of gene deletions, in parallel with the search for the best knockouts.E. coli and the yeast S. cerevisiae.A systematic statistical validation of the algorithms was conducted, where those were tested, in several variants, in four case studies that dealt with the production of succinic and lactic acid by the bacterium A number of features can be introduced and/or improved in this work. These include other algorithms for simulation and distinct objective functions. Regarding the former, an alternative algorithm for simulating mutants' phenotype is the MOMA algorithm that was proposed by , where iOne other area of future work is the development of multi-objective optimization algorithms that are able to provide in a single run, not only a single solution but rather a whole set of distinct trade-offs between the two goals: maximizing biomass and maximizing the desired product.The Flux Balance Analysis approach is based on a steady state approximation to concentrations of the internal metabolites, which reduces the corresponding mass balances to a set of linear homogeneous equations. For a network of M metabolites and N reactions, this is expressed as:vj corresponds to the rate of reaction j, or to the jth metabolic flux and the stoichiometric coefficient, Sij, stands for stoichiometric coefficient of metabolite i in reaction j.where For most metabolic networks, the number of fluxes is greater than the number of mass balance constraints, resulting in an underdetermined system.Besides these stoichiometric constraints, thermodynamic and capacity constraints can be added as inequalities:FBA allows the detailed examination of the model via the use of linear programming to determine the optimal flux distributions using a specified linear objective function:For metabolic applications, the linear objective function (Z) to be maximized or minimized can correspond to different objectives ranging from a particular metabolic engineering design objective  to the maximization of cellular growth. Since studies in several different organisms have demonstrated that their metabolic networks have evolved for the optimization of the specific growth rate under several carbon source-limiting conditions, the most commonly used objective function is the maximization of the biomass formation reaction rate.This algorithm is based on the evaluation of a pre-defined maximum number of solutions that are obtained in the neighbourhood of the best ones found and by using exhaustive search when no local search can be performed. The main steps are the following:1. A list L of solutions to explore is created, initially containing one single element: the wild type solution, i.e. a solution with an empty set of knockouts.2. While the maximum number of solutions has not been evaluated, one of the following steps is performed:2.1. Local search. If L is not empty, the solution s in its head is removed from L. All solutions in the neighbourhood of s are explored by local search . The solutions that improve over the original one are added to the list such that their neighbourhoods can be further explored.2.2. Exhaustive search. If L is empty, the next solution from an exhaustive search process is taken. Solutions are obtained starting with the wild type and proceeding to all solutions with 1 knockout, 2 knockouts, and so on. If there is an improvement over the wild type solution, this solution is added to the head of the list; else the algorithm proceeds to the next solution.The pre-processing operations performed to simplify the genome-scale metabolic model were the following.• Detection of reactions for which the fluxes, given the constraints of the linear programming problem, cannot exhibit values different from 0. For every reaction in the model, two linear programming problems are solved: the first is defined by setting the flux over that reaction as the maximization target, while for the second the same variable is minimized. If both problems have an objective function of 0, the variable is removed from the model.• Detection of equivalent variables, i.e. pairs of fluxes that are constrained to have the same value by the linear model. These are directly identified from the S matrix coefficients. Each group of equivalent variables is replaced by a single variable.in vivo, but not in silico.• Discovery of essential genes that cannot be deleted from the microorganism's genome. As these genes should not be considered as targets for deletion, the search space for optimization is reduced. For each gene in the microbe's genome, a linear programming problem instance is defined, setting the corresponding flux to 0, while maximizing the biomass flux. After running the Linear Programming algorithm, if the resulting biomass flux is zero (or near zero) the gene is marked as essential. The biological meaning of this fact is that the microbe is unable to survive when the gene is absent. It should be noted that, unlike the previous ones, this process does not imply any changes in the model, but produces information that is useful for the optimization algorithms. The list of essential genes can be manually edited to include genes that are known to be essential • Identification of fluxes that are not associated with any genes, like the ones related with external metabolites and exchange fluxes that represent transport reactions. These are not allowed to be knocked out, since generally this would not have a biological meaning.Additionally, at the end of each SA/SEA run, the best solution goes through a simplification process. This is achieved by identifying all gene deletions that contribute to the fitness of the solution, removing all deletions that keep the objective function unaltered. The aim of this step is to keep only the necessary knockouts, given that the practical implementation of a gene deletion is both time consuming and costly.) was used to run the simplex algorithm.The implementation of the proposed algorithms was conducted in the Java programming language by the authors. In the implementation of the FBA algorithm, the GNU linear programming package : Platform independent• Programming language: Java• License: GNU-GPL, version 3MR, IR, RM, KP and JN were involved in the conception of the algorithms. MR, RM, PM and JPP were involved in the implementation of the algorithms and software tools. IR, KP and ECF proposed and prepared the case studies and validated the results. MR, IR, KP and RM helped to draft the manuscript. All authors were involved in the analysis of the results, read, reviewed and approved the final manuscript.The complete results of the SEA and SA for the four case studies. For each case study the details on the organism, the target product and the conditions are given in the header. In each table, the algorithm (SA or SEA) and the maximum number of allowed knockouts k (VS stands for variable size) are given. For each configuration the mean, the confidence interval and the best value of the objective function (BPCY) obtained over the 30 runs are provided. Furthermore, the number of runs where the best solution was reached is also shown.Click here for fileThe list of the best solutions found by each algorithm and configuration. For each case study, algorithm (SA/SEA) and configuration  the fitness of the best solution and the corresponding list of knockouts is given. Alternative optimum solutions are provided when applicable.Click here for fileThe complete results of the gene frequencies analysis. For each case study, algorithm (SA/SEA) and configuration  the frequency of the presence of each particular gene knockout within the set of near-optimal is given. The set of solutions used in this case is built from the set with the best solutions from each run, keeping the ones that are within 1% of the best overall solution (over the 30 runs). A global frequency for all values of k is calculated.Click here for fileThe results of EA with only mutation operators. For each case study and algorithm (SA/SEA) the results are shown in a way similar to the ones in additional file Click here for file


Over the last few years a number of methods have been proposed for the phenotype simulation of microorganisms under different environmental and genetic conditions. These have been used as the basis to support the discovery of successful genetic modifications of the microbial metabolism to address industrial goals. However, the use of these methods has been restricted to bioinformaticians or other expert researchers. The main aim of this work is, therefore, to provide a user-friendly computational tool for Metabolic Engineering applications.OptFlux is an open-source and modular software aimed at being the reference computational application in the field. It is the first tool to incorporate strain optimization tasks, i.e., the identification of Metabolic Engineering targets, using Evolutionary Algorithms/Simulated Annealing metaheuristics or the previously proposed OptKnock algorithm. It also allows the use of stoichiometric metabolic models for (i) phenotype simulation of both wild-type and mutant organisms, using the methods of Flux Balance Analysis, Minimization of Metabolic Adjustment or Regulatory on/off Minimization of Metabolic flux changes, (ii) Metabolic Flux Analysis, computing the admissible flux space given a set of measured fluxes, and (iii) pathway analysis through the calculation of Elementary Flux Modes.OptFlux also contemplates several methods for model simplification and other pre-processing operations aimed at reducing the search space for optimization algorithms.OptFlux has a visualization module that allows the analysis of the model structure that is compatible with the layout information of Cell Designer, allowing the superimposition of simulation results with the model graph.The software supports importing/exporting to several flat file formats and it is compatible with the SBML standard. OptFlux software is freely available, together with documentation and other resources, thus bridging the gap from research in strain optimization algorithms and the final users. It is a valuable platform for researchers in the field that have available a number of useful tools. Its open-source nature invites contributions by all those interested in making their methods available for the community.The Given its plug-in based architecture it can be extended with new functionalities. Currently, several plug-ins are being developed, including network topology analysis tools and the integration with Boolean network based regulatory models. Metabolic Engineering (ME) deals with designing organisms with enhanced capabilities regarding the productivities of desired compounds . This fiMany different approaches have been used to aid in ME efforts, taking available models of metabolism together with mathematical tools and/or experimental data to identify metabolic bottlenecks or targets for genetic engineering. Some of these techniques, like Metabolic Control Analysis (MCA), use dynamical representations of the metabolism, while others like Metabolic Flux Analysis (MFA) or Flux Balance Analysis (FBA) apply steady-state stoichiometric models to study the phenotype of microorganisms, under different environmental and genetic conditions (a thorough description of these techniques can be found for example in ).Also based on stoichiometric networks, the field of Pathway Analysis characterizes the complete space of admissible flux distributions, allowing the analysis of the meaningful routes by dissecting them into basic functional units named Elementary Flux Modes (EFMs) . TherefoAlthough many nice examples have been described on successful modifications of the microbial metabolism using the above-mentioned techniques (e.g. some of the examples described in ), very fOptKnock algorithm [OptGene algorithm [One of the first approaches to tackle this class of problems was the lgorithm , where Mlgorithm ,9, that However, the application of such optimization algorithms and even the use of genome-scale metabolic models for pure simulation has been limited to the developers of the techniques or experienced bioinformaticians, since a platform that provides a user friendly interface to perform such tasks is not yet available. The computation of EFMs is also enabled by some applications, but there is the need of proper tools to conduct the required analysis to fully take advantage on the results in an ME perspective.Furthermore, the solutions obtained by using those methods or the strategies inferred by model simulations need to be validated before the implementation in the laboratory, because of model uncertainties. This validation is hampered by the complexity of the model itself and of the solutions obtained. In fact, if an ME target is most often not obvious, the analysis of a possible solution given by an algorithm is definitely difficult to interpret and validate.While, in 2001, the need for mathematical and computational tools to aid in ME efforts was already identified by James Bailey , by the FluxAnalyzer [MetaFluxNet [CellNetAnalyzer [FluxAnalyzer), the COBRA toolbox [Systems Biology Research Tool (SBRT) [CellNetAnalyzer are software packages running over the MATLAB environment. Both allow performing many tasks useful in ME like FBA, flux variability analysis and the simulation of gene deletion mutants. CellNetAnalyzer is, however, a more comprehensive software tool that allows to analyse metabolic, regulatory and signalling networks. COBRA was built mainly to perform flux and pathway analysis, either with or without experimental data. The SBRT consists of an open-source platform implemented in the Java language and allows performing most of these operations, and also includes other capabilities such as data analysis tools. However, the SBRT and COBRA present an important limitation, since they do not provide a user-friendly interface.Besides some tools developed a few years ago, such as Analyzer  and MetaaFluxNet , recentlAnalyzer  (the suc toolbox  and the l (SBRT)  have beeTwo other applications have been recently proposed: YANAsquare  and SNA per se include algorithms for the identification of potential ME targets. Additionally, there is also a need for appropriate model visualization tools associated with simulation software.Furthermore, none of the aforementioned tools allows to perform strain optimization functions, i.e. they do not Given the huge potential impact of the growing number of genome-scale metabolic models , the avaOptFlux, a software tool that aims to be the reference platform for the ME community. The main features of this tool are the following:Towards the purpose of changing this scenario, we hereby introduce - Open-source - it allows all users to use the tool freely and invites the contribution of other researchers;- User-friendly - facilitates its use by users with no/little background in modelling/informatics;- Modular - facilitates the addition of specific features by computer scientists, given its plug-in based architecture;Cell Designer [- Compatible with standards -compatibility with the Systems Biology Markup Language (SBML)  and the Designer .At the current version (2.0), the software accommodates several tools and algorithms that have been developed for the manipulation of metabolic models:• methods for phenotype simulation, such as FBA, Minimization of Metabolic Adjustment (MOMA)  and Regu• methods for MFA, allowing the introduction by the user of values for experimentally measured fluxes and calculating the effects on the flux space;• Elementary modes analysis, allowing the calculation of the set of EFMs for the network and its visualization and further analysis;• strain optimization algorithms: OptKnock, EAs and SA.• a suitable model visualization tool to facilitate the interpretation of results.To the best of our knowledge, this is the first tool that allows performing strain optimization in a user-friendly interface and the first effort to create a community-based and community-oriented software for ME with such characteristics.OptFlux and its main functionalities are presented in the next sections.The main concepts used in the development of OptFlux is fully implemented in the Java language, which is being increasingly used by the scientific community. BioVisualizer is based on the Jung Java library [GNU Linear Programming Kit (GLPK) [LibSBML [ library . The onlt (GLPK)  used to [LibSBML  used to OptFlux is implemented in such a way that new features and services are easily plugged in. It is entirely built on top of AIBench [To ensure modularity,  AIBench , a softwdatatypes and datatype views, following the MVC (model-view-controller) design pattern. This leads to units of work with high coherence that can easily be combined and reused. Furthermore, it is plug-in based: applications are developed adding components, called plug-ins, each containing a set of AIBench objects. This allows reusing and integrating functionality of past and future developments based on AIBench.Building applications over AIBench brings important advantages to both the developers and the users, given its design principles and architecture. The applications incorporate the three types of well defined objects described before: operations, OptFlux's main capabilities can be grouped into distinct functional areas that will be described in detail below. Figure OptFlux, including the main operations that can be performed within the software. In Figure OptFlux is given, showing the typical fluxes of information. Starting with a stoichiometric metabolic model that can be loaded in different formats , the user can perform simulations under different environmental and genetic conditions , investigate ME targets for improving the production of desired compounds, analyze the flux space given a set of measured fluxes with MFA methods or perform the computation and further analysis of the EFMs.The full description of the currently implemented features is provided in the application's set of How To's available at the project's website. Furthermore, a Beginner's tutorial is available for helping first-time users.OptFlux makes available a number of operations to visualize, import and export stoichiometric metabolic models, including reactions, metabolites, equations and, if available, gene-reaction associations. It allows the loading of models either from flat text files , from text files following the Metatool [BioModels [BiGG database [Cell Designer [Regarding model handling, Metatool  format oioModels  or the Bdatabase  or builtDesigner . The proExternal metabolites and biomass formation reactions are automatically identified from the input files based on an explicit definition, compartment information or by patterns in the names. This information can then be validated or edited by the user.OptFlux, i.e. the algorithms that calculate the values for the fluxes over the whole set of reactions in the model. It is possible to perform simulations of the wild-type (see note 1) and mutant strains. In the first case, the original model is considered with no additional constraints, while in the latter a number of user selected reactions (or genes if the model includes gene-reaction associations) are removed from the original model before simulation. The simulation results include, besides the flux values, net conversions and shadow price information and are placed in OptFlux's clipboard area, becoming easily accessible for further analysis or future operations.The Simulation area encompasses the metabolic phenotype simulation methods implemented in Environmental Conditions. These are created by selecting a set of drain reactions  and, then, imposing constraints over the values of their fluxes. As an illustrative example, this allows the definition of aerobic or anaerobic conditions by changing the limits in the oxygen uptake reaction. Environmental conditions can be used in both wild-type and mutant simulations.One other feature available is the ability to define specific OptFlux has three available methods for conducting the simulations: FBA (see for example [ example ), MOMA [ example  or ROOM  example . The fir example , but it MOMA and ROOM are appropriate only for the simulation of mutants, since they calculate the minimum distance solution or the solution with minimum number of changes, respectively, for the mutant strain relative to the original "wild-type" solution (i. e. obtained with FBA). MOMA uses a Quadratic Programming formulation while ROOM is implemented based both on the original MILP formulation and an LP relaxation of the original MILP problem  .OptFlux also includes some features for Flux Variability Analysis (FVA). Currently, there are two tools available, allowing to:• Calculate the maximum possible value of a selected flux, for a range of fixed values for the biomass flux ;• Calculate the maximum and minimum limits for all fluxes in the model, given a constraint imposed by a user-defined minimum biomass value. If this value is zero, this is equivalent to compute the tight bounds of the fluxes for all reactions.The calculation of the fluxes can also be performed adding experimental data, used to constrain the original metabolic model, using MFA methods. Depending on the number of measured fluxes, the resulting system can be classified as underdetermined, determined or over-determined. Determined and over-determined systems are solved using the methods described in . ConcernThe strain optimization area provides the users with interfaces to identify sets of reaction deletions (or gene deletions if gene-reaction associations are available) that maximize a given objective function related with a desired industrial objective. The ultimate purpose of the implemented algorithms is to identify genetic modifications that force the microorganism to produce a particular metabolite, while still obeying the physiological aim of maximizing biomass production.The OptKnock algorithm  and two On the other hand, the metaheuristics are configured with some default parameters, using set-based representations that can search through fixed-size or variable-size solutions. In the first case, the user specifies the number of allowed reaction/gene deletions, while in the latter the optimization algorithm also performs the automatic discovery of the optimum value for that variable. Both methods were implemented by the authors and the results in several case studies have been previously presented .OptFlux allows to maximize two different objective functions: Yield and Biomass-Product Coupled Yield. In the first case, the yield on the desired compound is targeted but a minimum biomass level is imposed, while the second searches for mutants that are likely to exhibit higher productivities, since biomass production is also included in the objective [At present, bjective .The high number of variables typically involved in a genome-scale metabolic model makes the optimization task computationally hard. Thus, it is important to be able to simplify the models without compromising their accuracy and information content. In this context, two alternatives are available: to simplify the model in terms of its structure  and also to simplify the model using simulation, calculating the limits of the reaction fluxes using a simulation method such as FBA.In the structural simplification context, two operations are available: finding zero valued reactions, i.e. reactions that are mathematically constrained to have the value of zero for the corresponding flux and, also, finding equivalent reactions, i.e. reactions that are constrained to have the same flux value and, therefore, can be replaced by a single reaction.Regarding the simulation-based simplification operations, the original bounds can be replaced by the calculated limits. Also, this method can be used to identify zero valued fluxes (reactions for which both new lower and upper limits of the fluxes are zero). It is important to notice that this method is dependent on the environmental conditions defined.Another feature provided is an automatic method for the discovery of essential reactions, i.e. reactions that when disabled, make the organism non-viable. If gene-reaction associations are included in the model, a similar operation can be defined for the discovery of essential genes. In both cases, an organism is found to be viable if the value for the biomass flux is significantly larger than 0 . The essential genes or reactions are not used as targets for optimization, since they would unnecessarily increase the number of decision variables and therefore the size of the search space.EFMTool [Optflux also allows state-of-the-art EFM calculation provided by the EFMTool  that impAfter the computation of the EFMs, the net conversion associated with each EFM is calculated (only unique conversions are maintained). Furthermore, for each net conversion, the greatest common divisor is calculated to improve the reading of the conversion equation. To do so, all the coefficients have to be integers and, therefore, the EFM calculation is limited to using big integer arithmetic.In the filtering step, EFMs can be selected based on the presence/absence of external metabolites in the net conversions. Moreover, they can also be sorted by yield, assuming that an input and an output metabolite are provided.Cell Designer, if the model was created from a Cell Designer SBML file. For each reaction in the EFM, the line in the Cell Designer layout is represented with a thickness that is proportional to the value of the flux.The user can browse through the filtered conversions in a table that presents the conversion equation, yields and provides access to the set of related EFMs. This viewer also allows row sorting based on any column criteria. The visualization of the EFMs is presented in a column-wise table, where each column corresponds to an EFM and each line to a reaction of the model. Each EFM, i.e. its flux values, can be exported to OptFlux allows the graphical visualization of the pathways through BioVisualizer, a visualization plug-in that was developed to represent metabolic networks as graphs, with a number of distinct node types  and connections.Cell Designer SBML file is loaded as the model source, automatically it will be used by BioVisualizer in the visualization operations, using the layout built previously in Cell Designer. Also, if the original model is loaded from flat files or normal SBML, BioVisualizer can work if a Cell Designer SBML file is available, typically representing only a subset of the whole model (e.g. a pathway) with compatible names for the reactions.If a Cell Designer if the model was created from a Cell Designer SBML file.One of the major features of this tool is the ability to associate numerical values to the different types of nodes and edges. This allows the visualization of the metabolic network overlapped by the values of the fluxes obtained in a given simulation. Moreover, the flux values can be exported to OptFlux development has taken as a first premise to build a tool aimed at biotechnology researchers and not at computational or bioinformatics experts. Thus, the primary goal in the development process was to provide good usability, valuing the simplicity and intuitiveness of the tool.The user interaction is based on three main concepts, used throughout the application:Datatypes: represent the distinct types of objects holding the relevant data to the application . Each type can have multiple instances (objects) within the application.• Views: represent different ways to visualize the contents of data objects. Each datatype can have one or more methods to visualize its instances.• Operations: represent the software functionalities or available actions. When an operation is called, its interface is launched and the input data objects are selected. After being triggered, an operation typically changes or creates an instance of the output datatype.• Based on these concepts, a user-friendly Graphical User Interface (GUI) was developed. The original layout of the components can be observed in the screenshots presented in Figure datatypes. The root of this tree is the Project datatype that keeps all objects related to a given metabolic model and the analysis performed with it.The clipboard on the left Figure  keeps alThe components of a project are graphically shown in the form of explicit hierarchical containers, namely:• The metabolic model, including the sets of metabolites , the set of reactions with their flux bounds and stoichiometry, the steady state equations and, when available, the encoding genes and the gene-reaction association rules;• A set of simplified models that are the result of model simplification operations;• Sets of simulation and optimization results, including also MFA and flux variability analysis results;BioVisualizer, environmental conditions, lists of essential genes/reactions, results from EFMs computation, among others.• Other optional objects grouped in the project elements list, including: a model graph for visualization to be used by datatype will be launched on the right side of the working area . Examples of two views of a metabolic model are shown in Figures When an object in the clipboard is double-clicked, the views corresponding to its All the available operations are easily accessible, either through the menu in the top or by right clicking the item in the clipboard area, an action that displays all operations that work over that type of argument. Snapshots of simulation and optimization operations are shown in Figures To make the usage of the software easier, a wizard was developed for creating a new model Figure . This wiAll operations are, at the maximum possible level, default-oriented, thus hiding behind scenes their complexity (e.g. definition of non-obvious parameters). Nevertheless, they allow more advanced users to fine-tune the parameters available to a given operation.Escherichia coli and where the aim is to produce succinic acid, with glucose as the carbon source. The genome-scale model used in the simulations was developed by [E. coli metabolic network with a total of 1075 fluxes and 761 metabolites. A simpler example is given in the Tutorial (available at the website) where a small model of Sacharomyces cerevisiae is used.To illustrate the main features of the application, a case study is shown here that considers the microorganism loped by , consideE. coli has many advantageous characteristics as a production host, such as rapid growth under aerobic and anaerobic conditions and simple nutritional requirements.Succinic acid is one of the key intermediates in cellular metabolism and therefore an important case study for ME strategies . In factIn this case study, the main steps depicted in Figure Cell Designer SBML file is loaded afterwards, for visualization purposes, representing the Pyruvate metabolism pathway.- The model was created using the fluxes, metabolites, stoichiometric matrix and gene-reaction rules flat files. A -1) for the biomass (glucose uptake rate fixed at 10 mmol/gDW/hr) . This results in a flux of 0.92 gDW/gDW/hr (or simply hr) Figure . The wil- A simulation of a mutant strain with four knockouts known to produce succinate  was perf- A Simulated Annealing algorithm was used for identifying additional mutants with succinate production capabilities, with BPCY as the objective function. The best results obtained are shown in Figure in silico before the laboratory implementation of the pinpointed knockouts.In a real case, the following steps would be the examination and comparison of the mutant strains obtained Other distinct examples can be used to illustrate the implementations of the features of MFA, EFMs and OptKnock. Those are all available in the project's web site (in the How To's sections).OptFlux software is, to the best of the authors' knowledge, the first freely available computational tool for in silico ME that supports the set of described methods. Still, there are some tools available that are able to perform some of the tasks mentioned above. From all the surveyed software tools, the CellNetAnalyzer [Systems Biology Research Tool (SBRT) [OptFlux, in terms of the available features. In Table OptFlux is able to perform strain optimization, being the first ME computational tool to provide algorithms to reach ME targets given a user-defined objective function and working with genome-scale models.The Analyzer , the COBAnalyzer  and the l (SBRT)  are the CellNetAnalyzer and COBRA are based on a commercial platform (MATLAB) and the latter does not supply any kind of user-friendly interface. The SBRT consists on an open-source platform implemented in the Java language, but it provides only a basic GUI, merely to launch the execution of its processes. We can, therefore, conclude that OptFlux provides the first freely available ME workbench that addresses the needs of biotechnologists, providing a user-friendly environment.Furthermore, OptFlux so we will not refer to their features in detail. It should be mentioned that efforts such as Cytoscape [Cell Designer [Systems Biology Workbench [OptFlux with those tools are being considered.The remaining efforts in this field are quite distinct from ytoscape , Cell DeDesigner  and Systorkbench  are consOptFlux aims at being the reference software tool for the ME community, there are some near-future plans for the implementation of additional features useful for the analysis and manipulation of metabolic models. These are being developed as new plug-ins, to facilitate their integration as modules that users can optionally install to enlarge the functionalities of the workbench. The main current efforts are focused on the development of the following plug-ins:Since • Topological analysis of metabolic networks;• Integration of Boolean network-based regulatory models with the existing metabolic models, allowing for phenotype simulation and strain optimization;• Strain optimization approaches based on multi-objective EAs.KEGG [BioCyc [OptFlux has a plug-in that supports link-outs, i.e. it allows users to automatically launch searches over relevant databases from the names of entities  present within the viewers of the metabolic models. The databases used in each case can be configured in the setup of the plug-in.Also, the connection to relevant databases such as KEGG  or BioCy [BioCyc  is a patThe software is made available, together with other resources, in the home page given below.More details:- Software name: OptFlux - software for metabolic engineeringhttp://www.optflux.org- Project home page: - Operating system(s): Platform independent- Programming languages: Java- Other requirements: Java JRE 1.6.x, GLPK- License: GNU-GPL, version 3BPCY: Biomass-Product Coupled Yield; DW: Dry Weight; EAs: Evolutionary Algorithms; EFMs: Elementary Flux Modes; FBA: Flux Balance Analysis; FVA: Flux Variability Analysis; GLPK: GNU Linear Programming Kit; LP: Linear Programming; ME: Metabolic Engineering; MFA: Metabolic Flux Analysis; MILP: Mixed Integer Linear Programming; MOMA: Minimization of Metabolic Adjustment; MVC: Model View Controller; ROOM: Regulatory on/off minimization of metabolic flux changes; SA: Simulated Annealing; SBML: Systems Biology Markup Language; SBRT: Systems Biology Research Tool.Note 1: Definition of "Wild-type" strains in the context of OptFlux simulationsWe use the term wild-type strain/organism in this study meaning strains that have a (approximately) known pre-definable steady-state flux objective function (e.g. biomass formation rate as in case of FBA). This terminology is used solely for the purpose of intuitive understanding of the methods and tools and therefore it should not be interpreted in the biological sense of wild-type strains/organisms.IR, MR, PM, KRP were involved in the conception of the algorithms. IR, MR, PM, PE, PV, SS and JPP were involved in the design and implementation of the software. IR, KRP, ECF and JN proposed and prepared the case study. IR, MR, PM and KRP helped to draft the manuscript. All authors read, reviewed and approved the final manuscript.The authors wish to thank the financial support of the following institutions:- the company Dupont under the scope of the "Dupont European University Support Program Award";- The European Commission under the scope of the European Coordination Action SYSINBIO - Systems Biology as a Driver for Industrial Biotechnology;- The project MIT-PT/BS-BB/0082/2008 sponsored by Portuguese FCT;- The Luso-American Development Foundation under the scope of the Computational Biology Collaboratorium.