BACKGROUND
analysis of biochemical reaction networks, to enable predictions about the phenotype from a catalogue of molecular parts encoded in the genome, fulfils a major objective of systems biology.
due to the scarcity of detailed quantitative information about individual enzyme rate constants and intracellular concentrations, genome scale models have, so far, only been constructed for the special case of the metabolic reaction networks operating under steady state conditions.
these models capitalize on the fact that metabolic conversions occur in the cell with very high rates and therefore, for the given set of genes active under experimental conditions of interest, the network of metabolic reactions can be considered to be in a quasi-steady state .
the system is then modelled by a set of linear relationships between the calculated reaction fluxes.
although, the linear system corresponding to genome scale models is underdetermined it can be exploited by linear programming  based optimization of the objective function that represents the metabolic capability of interest.
the objective function is defined as the flux through a specific reaction or the flux towards a specific metabolite.
lp optimization results in a unique value for the objective function, but the corresponding flux distribution is not unique.
the range of each individual reaction flux in all flux distributions that are consistent with the maximal objective function value can be exploited by the iterative lp protocols, described in the following sections.
this approach is referred to as constraint based  <cit> , because it evaluates metabolic capabilities under the set of constraints expressed by balance equations, known quantitative values of certain fluxes  and information  about maximal capacity and reversibility of the reactions.
the acquisition of this information can be initiared by analysis of the genome sequence of interest, and this approach has been applied to the reconstruction of genome scale metabolic reaction networks  for major model organisms  <cit> , pathogens  <cit>  and microorganisms used in industrial bioprocesses  <cit> .
the first reconstruction of human metabolism is also available  <cit>  and is currently being used to investigate mechanisms of metabolic diseases  <cit> .
the availability of full genome sequences has motivated the development of functional genomics internet portals, where a multiplicity of sequence-derived, high-throughput and traditional experimental data are integrated through appropriate comparative analysis protocols.
the integration of constraint-based simulations of gsmns with these portals will equip users, for the first time, with tools that will enable predictions of the metabolic phenotype of cells under defined experimental conditions, determined in terms of a set of nutrients present in the medium.
the concept of gene essentiality provides a good illustration of these new capabilities.
currently, functional genomics portals describe each gene in terms of comparison to similar sequences in other organisms, direct experimental evidence about the function under particular experimental conditions and high throughput datasets in which the expression of the gene has been observed.
a constraint-based analysis of the appropriate gsmn, integrated with this system, would allow this content to be dependent on experimental conditions, specified by the user.
the user could specify the composition of the growth medium and then compute the function of the gene expressed as a set of metabolic capabilities for which this gene is essential under user-defined experimental conditions.
so far, there have been the following attempts at creating web-based resources, allowing computation with gsmn models with subsequent linking of models and results to functional genomics resources.
the gsmn-tb  <cit>  is the first reconstruction of the gsmn of mycobacterium tuberculosis, the causative agent of tuberculosis.
in this case, the web interface allows the specification of the growth medium composition, and using this information, provides a calculation of the maximal theoretical flux towards biomass as well as a gene essentiality prediction.
it also implements a reaction essentiality scan and flux variability analysis   <cit> , which are iterative protocols performing respectively one or two linear programming optimizations for each reaction in the model.
all of the gene names in the model are linked to tuberculist  <cit> , a functional genomics portal dedicated to mycobacteria.
the cycsim  <cit>  system allows the computation of the maximal theoretical flux towards selected metabolites and does not implement the iterative protocols described above.
however, it implements a sophisticated user interface, enabling the specification of experimental conditions and perturbations.
it also allows visualisation of numerical data on pathway maps imported from kegg  <cit>  or pathwaytools  <cit>  software.
the webcoli  <cit>  server allows modification and constraint based simulation of the escherichia coli ijr <dig> model.
the server displays metabolic pathway maps and overlays simulation results on these diagrams.
only a single evaluation of the objective function is provided and no iterative simulation approaches are available.
we also note that none of the web servers described above are available as software that can be downloaded and used to create new web servers at the users institution.
recently, the biomet toolbox  <cit>  server has made as set of constraint-based modelling tools developed by nielsen's group available via web interface.
the advantage of biomet toolbox is a wide range of methods that can be run.
however, in comparison with the servers mentioned above it is not integrated with functional genomics portals and visualisation tools.
the user is expected to create text file in the format of particular tool or download the file from repository of models and subsequently upload this file to the form of the web interface of the particular tool.
other servers have integrated databases of models and format the models for presentation via web interface.
reactions are linked through gene names to functional genomics portals, thus facilitating interpretation of models in the context of genome annotation.
the results are also formatted for web presentation and numerical data are visualised on network maps.
in this work we present acorn, a grid computing system, which can be deployed at the users institution and used to create web based resources for constraint based simulations of gsmn models.
research groups can install acorn, set up user accounts and import models in the sbml format  <cit> .
users can also define in silico experiments by specifying nutritional conditions and run virtual experiments in order to calculate the maximum theoretical value of the objective function, identify essential reactions, predict gene essentiality and perform flux variability analysis   <cit> .
models and experiments can be shared between users.
our grid-based acorn architecture facilitates the implementation of computationally intensive, iterative protocols such as fva within interactive web environments and can be easily scaled up as the number of users and models grow.
the web server part of the system allows the visualization of the numerical results on pathway maps defined by the user.
acorn also includes an integrated graphic editor for fast creation of metabolic map layouts and a command line tool, which can be used in connection with other interfaces.
to demonstrate these features we have used acorn to implement a web resource providing constraint-based simulations of the gsmns of saccharomyces cerevisiae, e. coli and m. tuberculosis :
http://sysbio <dig> fhms.surrey.ac.uk:8080/acorn/homepage.jsf.
implementation
in this section we describe the implementation details of acorn.
we also explain and justify the technological and architectural choices made, and the design approaches applied to the implementation of the system.
the acorn system consists of three components :
<dig>  the main application, which includes a web based user interface for defining and executing the required computational task as well a database for storing models, experiments and experimental results,
<dig>  the worker console application for performing the computations requested by users via the web interface,
<dig>  a graphical editor desktop application for defining which parts of the model are to be visualized and how.
the user interface of the main application is web based, designed with ergonomics in mind and optimised for handling of large models.
as an example of this latter feature, the user can quickly filter long lists with an ajax  based mechanism, i.e., without the delays that might be incurred in transferring data between the browser and the web server.
an example of the ergonomic approach is the positioning of key control buttons such that they are always visible in the same place on the screen using specially defined css .
this facilitates working with long lists.
a useful outcome of this approach is that the user does not have to scroll to start the simulation after accepting the choice of optimisation target on the reaction list.
since computations with acorn can be time intensive, we have chosen an architecture  that allows for easy distribution of the workload between many machines, enabling the rapid and easy creation of a computational cluster.
computations commissioned by the users are automatically divided into subtasks, which can be independently computed by workers running on the same or different machines.
the main application places subtask specifications in a queue to be pulled by one of the workers.
each worker cyclically consumes the current oldest subtask from the queue, accesses its corresponding model data in the main applications' database, performs the computation and stores results back in the database.
in addition to submission date, the less time consuming tasks are given higher priority.
then, if the queue contains more subtasks, the worker pulls the next one or, if no more subtasks are currently available, waits until a new task appears.
the use of the queue based pull model where processing jobs are pulled by free workers as opposed to being pushed out by the main application results in an optimal workload distribution.
it also renders administration of the system easier, because the content of the queue can be monitored and workers can be added or removed according to needs and availability of free processing power.
the system is implemented in java with the use of the java enterprise edition  technology stack.
the main application can be deployed on a java ee  <dig>  compatible application server as the open source glassfish  <dig>  https://glassfish.dev.java.net/.
acorn profits from the maturity and enterprise features of java ee component technologies.
for example, operations on the queue and database are subject to transaction control, so the computations can be consistently completed in situations like concurrent execution of many workers, failure of an active worker or restart of the main application.
the glassfish server is also equipped with necessary tools for monitoring and tuning.
furthermore, the flexibility of the enterprise programming environment allows the deployment of acorn with any relational database management system providing jdbc drivers.
the current version has been tested with java derby http://db.apache.org/derby/ and mysql http://www.mysql.com databases.
linear programming calculations are performed using the appropriate functions of the glpk library http://www.gnu.org/software/glpk/.
the linear programming engine is a binary executable file implemented in c++.
the worker starts the linear programming engine using the operating system interface of java, which sends the linear programming problem to its standard input and retrieves results from standard output without creating any temporary files.
the engine is also available for users as a standalone command line tool, which can be used to implement other interfaces.
the graphical editor is a standalone java desktop application built on the netbeans platform, which is a generic framework for swing applications http://platform.netbeans.org/.
it runs on all platforms where the java runtime environment is available.
it accesses the main application to obtain the model data and to store defined visualisations for presentation in the web interface.
this communication is performed though a web service provided by the main application, which, for the user, has the added advantage that it will not be blocked by firewalls.
RESULTS
distribution of acorn can be implemented by downloading from google code repository http://code.google.com/p/a-c-o-r-n/.
the main application can be installed on any platform running java vm, the glassfish application server and a relational database management system.
the binaries of the linear programming engine are available for linux, macos × and windows operating systems and, together with the java vm, are necessary to run the worker.
the graphical editor desktop application can be used on any system running java vm.
the current version of acorn provides the following features.
a web-based user interface to gsmn models
the user logs into the system via web interface and can browse gsmn models in tabular format .
the rows of reaction tables contain reaction name, reaction formula and lower and upper flux bounds.
the last cell of the reaction entry contains gene-reaction association formula representing genes encoding protein subunits of enzymes catalysing this reaction.
the genes encoding components of multisubunit enzymes are linked with and boolean statement and paralogous genes are represented by or statements.
gene names are linked to gene pages of selected functional genomics resources integrating gsmn model with literature annotations and comparative sequence analysis results.
reaction bounds are editable and are used to set initial conditions of the constraint-based simulations.
a web interface to four constraint-based analysis protocols
the following computational methods are available:
i) flux balance analysis  - calculation of the maximal theoretical value of the objective function under nutritional conditions specified by the user;
ii) gene essentiality prediction - the fluxes through all reactions which require the functionality of a selected gene are constrained to  <dig> and the maximal theoretical value of the objective function is calculated.
if the objective function value equals  <dig>  the gene is declared to be essential for particular metabolic function;
iii) reaction essentiality scan - each reaction, in turn, is inactivated and the fba optimisation is run.
the result lists the maximal value of the objective function for each single reaction knock-out;
iv) flux variability analysis   <cit>  - the flux corresponding to objective function is constrained to its maximal value and the flux through each reaction, in turn, is maximised and minimised.
this results in the calculation of the flux range consistent with the maximal value of the objective function.
the flux ranges are unique and, unlike flux values obtained from particular single fba solution, can be used to reason about internal flux distribution under nutritional conditions of interest  <cit> .
to run a simulation via the acorn web interface the user first selects one of the methods and then specifies the objective function and nutritional conditions.
the objective function can be specified by a metabolite name  or reaction name .
nutritional conditions are defined by constraining lower and upper bounds of transport reaction fluxes.
the acorn interface allows the specification of bounds for all reactions in the system, allowing for more complex analysis scenarios such as incorporation of internal metabolic flux measurements or simulations of multiple gene knockouts.
the keyword searches can be used to quickly find reactions and metabolites of interest.
simulations are scheduled and the user can either wait for the completion of computational tasks, or log out and return to the system later to examine results.
the simulation scenario, together with the simulation results are saved into the database as an in silico experiment.
users can share in silico experiments and visualise their results on pathway diagrams.
a grid-based environment for distributing computational load
a single execution of fba is very computationally efficient.
for example, calculation of the maximal growth rate for yeast gsmn model ind <dig> takes  <dig> s on  <dig>  ghz intel core  <dig> duo processor cpu when calculated with the linear programming engine of the acorn system.
however, iterative protocols of reaction essentiality scans and fva require one or two  evaluations of the objective function for each reaction in the system.
therefore, execution of fva for the yeast gsmn model containing  <dig> reactions takes about  <dig> minutes of cpu time.
this computational time can be substantial for web-based applications, especially if multiple users are simultaneously using the server.
the acorn server, on the other hand, is using grid-based solutions to distribute computational load between multiple computers.
the worker program is installed on each computer in the cluster.
the worker connects to the acorn server and receives a set of fba objective function evaluation tasks to execute.
results of these tasks are sent back to the server .
therefore, fba calculations from the acorn server can be distributed over an arbitrary number of computers in the local area network or the internet, rendering the system scalable to large number of users and computational tasks.
sbml file import
the user can import gsmn models in the sbml format .
the reaction capacity bounds and gene-reaction association formulas, features specific to fba simulations and not implemented in acorn yet, have to be provided as annotations following bigg database conventions  <cit> .
the user can upload the file using the web interface.
optionally, the user can input the http address string, which will be concatenated with gene names to create links to the gene pages in the functional genomics portal of the user's choice.
the sbml file is parsed and stored in the relational database backend area of the acorn system.
a user management, model and in silico experiment sharing
every new user of acorn has to register via the web interface.
the first user registered, after the software installation step, is given administration privileges.
the models are created during sbml file upload, and initially can be only used by the user who uploaded the sbml file.
likewise, in silico experiments with a particular model initially belong the user who created the model.
the user may chose to share models and in silico experiments with other users in the system.
this allows for the creation of online communities where users share models and results of numerical simulations.
the models and experiments can be also made available to a publicly accessible account, which enables creation of web based resources for constraint based simulations of gsmn models.
desktop metabolic pathway layout editor
acorn provides a desktop editor for metabolic pathway diagrams .
diagrams are created in petri net  <cit>  notation with reactions and substances represented by different symbols.
the editor connects to the acorn database, using an id and password of one of the acorn users and prompts this user to select one of the gsmn models available on the user's acorn account.
subsequently, the user creates the diagram in which every substance and reaction symbol is associated with the substance or reaction in the gsmn.
the editor can find all substances  associated with a given reaction  and then place them on the map.
therefore, after placing the first symbol on the diagram, the user does not have to check subsequent metabolite names and can quickly build a network map by simply following the connections in the gsmn.
the diagram is sent to the server and saved in the database.
a means of visualisation of numerical results on metabolic pathway diagrams
numerical results of fba and fva calculations can be visualised on pathway diagrams .
the pathway diagrams created by the user are available within the web system and can be associated with simulation results.
subsequently, the user may create image files where numerical simulation results, representing the fluxes or flux ranges, are printed within the boxes corresponding to the reactions.
numerical results can be also visualised in the same way within the stand-alone pathway editor.
a stand alone command line tool
the computational engine of the acorn software is available as a stand-alone tool.
the tool can be used to evaluate the objective function of the gsmn model written in simple text file format.
the command line tool interprets boolean gene-reaction association formulas and can be therefore used to perform evaluate the objective function for a single gene knockout version of the model.
availability of the acorn computational engine in the form of a command line tool binary is useful for the users who intend to develop their own interfaces.
the tool could be easily integrated with the script languages used by the bioinformatics community and then become a part of an annotation pipeline.
it can be also used to create graphics user interfaces other than acorn.
finally, users of the acorn web server can also use the command line tool to run some of their computations on their local machines if the resources of the web server are limited or constrained.
the gsmn web resource
to demonstrate the features of acorn, we have constructed a web resource for constraint-based simulation of the gsmns of interest to our research group.
the resource contains the gsmn-tb model of m. tuberculosis  <cit> , reconstructed by our group and two reconstructions published by other groups: e. coli iaf <dig>  <cit>  and s. cerevisiae ind <dig>  <cit> .
the iaf <dig> and ind <dig> have been directly uploaded into acorn from the sbml files available in the bigg database.
this shows that the acorn model upload tool is compatible with the sbml specification and constraint-based specific annotations used by the cobra toolbox software and the bigg database  <cit> .
in the case of gsmn-tb and ind <dig> models, the flat files accompanying the publications were first converted to an annotated sbml file and subsequently uploaded into the server.
the models have been uploaded and tested by one of the users of the system with upload privileges and subsequently published, by sharing them with the "guest" user account available to the public.
each of the models available within the web resource is linked to the relevant functional genomics portal.
the gene names in gsmn-tb model are linked to the tuberculist database, the e. coli model is linked to kegg database, and the s. cerevisiae model is linked to the sgd database.
these implementations have demonstrated that the model upload mechanism of acorn can be used to link reaction lists and results files of gsmn models to major functional genomics resources, thus facilitating interpretation of computer simulations in the context of the wealth of knowledge and comparative analysis results available within these knowledge bases.
the user can use our web resource to run all simulation protocols implemented in acorn on the models mentioned above.
to demonstrate the visualisation functionality of acorn, we have used the desktop editor to create a layout of glycolytic pathway in yeast and uploaded this layout into the ind <dig> model.
users can now visualise fluxes calculated by computer simulation on the pathway layouts of their choice.
the fluxes are obtained by the calculations involving all reactions of the entire gsmn, but only the reactions of interest to the users are displayed in a format, which is the most informative for them.
CONCLUSIONS
in this paper, we present the acorn software package, which can be deployed at the user's institution and used to create web-based resources for constraint based simulations of gsmns.
our software can be used to make a collection of gsmns available to a community of users who hold accounts within the system.
users can upload models and run constraint-based simulation methods to make predictions about the metabolic capabilities of organisms under investigation.
the models and results are linked to the functional genomic resources through the gene names.
therefore, the results of constraint based calculations can be examined in the context of genome sequences, annotations and sequence similarity-based predictions available in these portals.
the grid-based architecture of acorn allows for the implementation of computationally expensive simulation protocols requiring the execution of thousands of linear programming evaluations for the entire model.
users can visualise numerical results of simulation methods on pathway maps loaded into the system.
these maps can represent tthe users view, a part of the model of specific interest to the user concerned, while numerical data visualised on the map are calculated by constraint-based modelling of the entire network.
pathway diagrams are constructed with the desktop tool, which supports rapid assignment of the graphical symbols to substances and reactions present in the model.
one of the most important features of acorn is user management and model sharing.
select users can upload starting models and share them with others.
all other users can create variations of those starting models by modifying their parameters and set their own simulations without affecting the models and simulations run by other users.
they may then choose to render the models, simulation scenarios and results visible to other users in the system and, through the guest user account, available to the research community.
therefore, acorn can be used to create research community websites dedicated to the annotation and investigation of metabolic reaction network models.
in addition to the software that can be used to create a constraint-based modelling server, we also provide a web resource giving access to the gsmn models of s. cerevisiae, e. coli, and m. tuberculosis.
users can either use a guest account or register and gain access to these models without the need of installing and learning modelling environments such as, for example, matlab based cobra toolkits.
users can also use our server to upload their models, if they are represented in the sbml format, and use computational tools implemented within the system to study those models .
we believe that acorn provides several advantages and alternative solutions compared to existing web servers for constrained-based modelling of metabolic networks.
it provides advantages when compared to the gsmn-tb server with respect to visualisation and implements a more convenient interface for model specification.
its main advantage over cycsim and webcoli is the implementation of the fva and reaction essentiality scans.
fva is currently the only method, which allows the exploration of internal flux distribution in gsmn.s it is efficiently implemented in acorn, due to its grid based architecture.
acorn also provides an alternative mechanism for visualising metabolic pathway maps.
while cycsim uses standard kegg and biocyc maps, the acorn server allows the individual user to create their own views, which are linked with the model.
another major advantage of the acorn environment over cycsim and webcoli is that it provides source code distribution, which can be used to create collaborative model development environments and public web resources in other laboratories.
to summarise, we believe that the acorn server will be very useful for research groups reconstructing and studying gsmns.
its application will result in establishment of online communities sharing models and results of in silico experiments.
this will facilitate improvement of metabolic models used in the identification of novel drug targets in microbial pathogens and metabolic engineering of industrially valuable microbial strains.
availability and requirements
project name: acorn
project home page: http://code.google.com/p/a-c-o-r-n/
surrey gsmn server: http://sysbio <dig> fhms.surrey.ac.uk:8080/acorn/homepage.jsf
operating systems: platform independent
programming language: java, c++
other requirements: java  <dig>  or higher, glassfish java ee server v <dig> or higher
license: gnu gpl v2
any restrictions to use by non-academics: the use of constraint based modelling results obtained by using iaf <dig> and ind <dig> models on surrey fba resource is subjected to the bigg database license.
authors' contributions
amk and js designed software functionality.
js designed software architecture, supervised software development and participated in software implementation.
lbk, sg, dl, jl implemented database and worker modules.
mm implemented pathway visualisation.
jl implemented command line computational engine.
car developed case studies for visualisation of yeast pathways.
mb and jmf tested software functionality and participated in writing of the manuscript.
amk and js wrote the manuscript.
all authors read and approved the final manuscript.

 analysis of biochemical reaction networks, to enable predictions about the phenotype from a catalogue of molecular parts encoded in the genome, fulfils a major objective of systems biology. due to the scarcity of detailed quantitative information about individual enzyme rate constants and intracellular concentrations, genome scale models have, so far, only been constructed for the special case of the metabolic reaction networks operating under steady state conditions. these models capitalize on the fact that metabolic conversions occur in the cell with very high rates and therefore, for the given set of genes active under experimental conditions of interest, the network of metabolic reactions can be considered to be in a quasi-steady state. the system is then modelled by a set of linear relationships between the calculated reaction fluxes. although, the linear system corresponding to genome scale models is underdetermined it can be exploited by linear programming based optimization of the objective function that represents the metabolic capability of interest. the objective function is defined as the flux through a specific reaction or the flux towards a specific metabolite. lp optimization results in a unique value for the objective function, but the corresponding flux distribution is not unique. the range of each individual reaction flux in all flux distributions that are consistent with the maximal objective function value can be exploited by the iterative lp protocols, described in the following sections. this approach is referred to as constraint based, because it evaluates metabolic capabilities under the set of constraints expressed by balance equations, known quantitative values of certain fluxes and information about maximal capacity and reversibility of the reactions. the acquisition of this information can be initiared by analysis of the genome sequence of interest, and this approach has been applied to the reconstruction of genome scale metabolic reaction networks for major model organisms, pathogens and microorganisms used in industrial bioprocesses. the first reconstruction of human metabolism is also available and is currently being used to investigate mechanisms of metabolic diseases. the availability of full genome sequences has motivated the development of functional genomics internet portals, where a multiplicity of sequence-derived, high-throughput and traditional experimental data are integrated through appropriate comparative analysis protocols. the integration of constraint-based simulations of gsmns with these portals will equip users, for the first time, with tools that will enable predictions of the metabolic phenotype of cells under defined experimental conditions, determined in terms of a set of nutrients present in the medium. the concept of gene essentiality provides a good illustration of these new capabilities. currently, functional genomics portals describe each gene in terms of comparison to similar sequences in other organisms, direct experimental evidence about the function under particular experimental conditions and high throughput datasets in which the expression of the gene has been observed. a constraint-based analysis of the appropriate gsmn, integrated with this system, would allow this content to be dependent on experimental conditions, specified by the user. the user could specify the composition of the growth medium and then compute the function of the gene expressed as a set of metabolic capabilities for which this gene is essential under user-defined experimental conditions. so far, there have been the following attempts at creating web-based resources, allowing computation with gsmn models with subsequent linking of models and results to functional genomics resources. the gsmn-tb is the first reconstruction of the gsmn of mycobacterium tuberculosis, the causative agent of tuberculosis. in this case, the web interface allows the specification of the growth medium composition, and using this information, provides a calculation of the maximal theoretical flux towards biomass as well as a gene essentiality prediction. it also implements a reaction essentiality scan and flux variability analysis, which are iterative protocols performing respectively one or two linear programming optimizations for each reaction in the model. all of the gene names in the model are linked to tuberculist, a functional genomics portal dedicated to mycobacteria. the cycsim system allows the computation of the maximal theoretical flux towards selected metabolites and does not implement the iterative protocols described above. however, it implements a sophisticated user interface, enabling the specification of experimental conditions and perturbations. it also allows visualisation of numerical data on pathway maps imported from kegg or pathwaytools software. the webcoli server allows modification and constraint based simulation of the escherichia coli ijr model. the server displays metabolic pathway maps and overlays simulation results on these diagrams. only a single evaluation of the objective function is provided and no iterative simulation approaches are available. we also note that none of the web servers described above are available as software that can be downloaded and used to create new web servers at the users institution. recently, the biomet toolbox server has made as set of constraint-based modelling tools developed by nielsen's group available via web interface. the advantage of biomet toolbox is a wide range of methods that can be run. however, in comparison with the servers mentioned above it is not integrated with functional genomics portals and visualisation tools. the user is expected to create text file in the format of particular tool or download the file from repository of models and subsequently upload this file to the form of the web interface of the particular tool. other servers have integrated databases of models and format the models for presentation via web interface. reactions are linked through gene names to functional genomics portals, thus facilitating interpretation of models in the context of genome annotation. the results are also formatted for web presentation and numerical data are visualised on network maps. in this work we present acorn, a grid computing system, which can be deployed at the users institution and used to create web based resources for constraint based simulations of gsmn models. research groups can install acorn, set up user accounts and import models in the sbml format. users can also define in silico experiments by specifying nutritional conditions and run virtual experiments in order to calculate the maximum theoretical value of the objective function, identify essential reactions, predict gene essentiality and perform flux variability analysis. models and experiments can be shared between users. our grid-based acorn architecture facilitates the implementation of computationally intensive, iterative protocols such as fva within interactive web environments and can be easily scaled up as the number of users and models grow. the web server part of the system allows the visualization of the numerical results on pathway maps defined by the user. acorn also includes an integrated graphic editor for fast creation of metabolic map layouts and a command line tool, which can be used in connection with other interfaces. to demonstrate these features we have used acorn to implement a web resource providing constraint-based simulations of the gsmns of saccharomyces cerevisiae, e. coli and m. tuberculosis: http://sysbio fhms.surrey.ac.uk:8080/acorn/homepage.jsf. implementation in this section we describe the implementation details of acorn. we also explain and justify the technological and architectural choices made, and the design approaches applied to the implementation of the system. the acorn system consists of three components: the main application, which includes a web based user interface for defining and executing the required computational task as well a database for storing models, experiments and experimental results, the worker console application for performing the computations requested by users via the web interface, a graphical editor desktop application for defining which parts of the model are to be visualized and how. the user interface of the main application is web based, designed with ergonomics in mind and optimised for handling of large models. as an example of this latter feature, the user can quickly filter long lists with an ajax based mechanism, i.e., without the delays that might be incurred in transferring data between the browser and the web server. an example of the ergonomic approach is the positioning of key control buttons such that they are always visible in the same place on the screen using specially defined css. this facilitates working with long lists. a useful outcome of this approach is that the user does not have to scroll to start the simulation after accepting the choice of optimisation target on the reaction list. since computations with acorn can be time intensive, we have chosen an architecture that allows for easy distribution of the workload between many machines, enabling the rapid and easy creation of a computational cluster. computations commissioned by the users are automatically divided into subtasks, which can be independently computed by workers running on the same or different machines. the main application places subtask specifications in a queue to be pulled by one of the workers. each worker cyclically consumes the current oldest subtask from the queue, accesses its corresponding model data in the main applications' database, performs the computation and stores results back in the database. in addition to submission date, the less time consuming tasks are given higher priority. then, if the queue contains more subtasks, the worker pulls the next one or, if no more subtasks are currently available, waits until a new task appears. the use of the queue based pull model where processing jobs are pulled by free workers as opposed to being pushed out by the main application results in an optimal workload distribution. it also renders administration of the system easier, because the content of the queue can be monitored and workers can be added or removed according to needs and availability of free processing power. the system is implemented in java with the use of the java enterprise edition technology stack. the main application can be deployed on a java ee compatible application server as the open source glassfish https://glassfish.dev.java.net/. acorn profits from the maturity and enterprise features of java ee component technologies. for example, operations on the queue and database are subject to transaction control, so the computations can be consistently completed in situations like concurrent execution of many workers, failure of an active worker or restart of the main application. the glassfish server is also equipped with necessary tools for monitoring and tuning. furthermore, the flexibility of the enterprise programming environment allows the deployment of acorn with any relational database management system providing jdbc drivers. the current version has been tested with java derby http://db.apache.org/derby/ and mysql http://www.mysql.com databases. linear programming calculations are performed using the appropriate functions of the glpk library http://www.gnu.org/software/glpk/. the linear programming engine is a binary executable file implemented in c++. the worker starts the linear programming engine using the operating system interface of java, which sends the linear programming problem to its standard input and retrieves results from standard output without creating any temporary files. the engine is also available for users as a standalone command line tool, which can be used to implement other interfaces. the graphical editor is a standalone java desktop application built on the netbeans platform, which is a generic framework for swing applications http://platform.netbeans.org/. it runs on all platforms where the java runtime environment is available. it accesses the main application to obtain the model data and to store defined visualisations for presentation in the web interface. this communication is performed though a web service provided by the main application, which, for the user, has the added advantage that it will not be blocked by firewalls.  distribution of acorn can be implemented by downloading from google code repository http://code.google.com/p/a-c-o-r-n/. the main application can be installed on any platform running java vm, the glassfish application server and a relational database management system. the binaries of the linear programming engine are available for linux, macos × and windows operating systems and, together with the java vm, are necessary to run the worker. the graphical editor desktop application can be used on any system running java vm. the current version of acorn provides the following features. a web-based user interface to gsmn models the user logs into the system via web interface and can browse gsmn models in tabular format. the rows of reaction tables contain reaction name, reaction formula and lower and upper flux bounds. the last cell of the reaction entry contains gene-reaction association formula representing genes encoding protein subunits of enzymes catalysing this reaction. the genes encoding components of multisubunit enzymes are linked with and boolean statement and paralogous genes are represented by or statements. gene names are linked to gene pages of selected functional genomics resources integrating gsmn model with literature annotations and comparative sequence analysis results. reaction bounds are editable and are used to set initial conditions of the constraint-based simulations. a web interface to four constraint-based analysis protocols the following computational methods are available: i) flux balance analysis - calculation of the maximal theoretical value of the objective function under nutritional conditions specified by the user; ii) gene essentiality prediction - the fluxes through all reactions which require the functionality of a selected gene are constrained to and the maximal theoretical value of the objective function is calculated. if the objective function value equals the gene is declared to be essential for particular metabolic function; iii) reaction essentiality scan - each reaction, in turn, is inactivated and the fba optimisation is run. the result lists the maximal value of the objective function for each single reaction knock-out; iv) flux variability analysis - the flux corresponding to objective function is constrained to its maximal value and the flux through each reaction, in turn, is maximised and minimised. this results in the calculation of the flux range consistent with the maximal value of the objective function. the flux ranges are unique and, unlike flux values obtained from particular single fba solution, can be used to reason about internal flux distribution under nutritional conditions of interest. to run a simulation via the acorn web interface the user first selects one of the methods and then specifies the objective function and nutritional conditions. the objective function can be specified by a metabolite name or reaction name. nutritional conditions are defined by constraining lower and upper bounds of transport reaction fluxes. the acorn interface allows the specification of bounds for all reactions in the system, allowing for more complex analysis scenarios such as incorporation of internal metabolic flux measurements or simulations of multiple gene knockouts. the keyword searches can be used to quickly find reactions and metabolites of interest. simulations are scheduled and the user can either wait for the completion of computational tasks, or log out and return to the system later to examine results. the simulation scenario, together with the simulation results are saved into the database as an in silico experiment. users can share in silico experiments and visualise their results on pathway diagrams. a grid-based environment for distributing computational load a single execution of fba is very computationally efficient. for example, calculation of the maximal growth rate for yeast gsmn model ind takes s on ghz intel core duo processor cpu when calculated with the linear programming engine of the acorn system. however, iterative protocols of reaction essentiality scans and fva require one or two evaluations of the objective function for each reaction in the system. therefore, execution of fva for the yeast gsmn model containing reactions takes about minutes of cpu time. this computational time can be substantial for web-based applications, especially if multiple users are simultaneously using the server. the acorn server, on the other hand, is using grid-based solutions to distribute computational load between multiple computers. the worker program is installed on each computer in the cluster. the worker connects to the acorn server and receives a set of fba objective function evaluation tasks to execute. results of these tasks are sent back to the server. therefore, fba calculations from the acorn server can be distributed over an arbitrary number of computers in the local area network or the internet, rendering the system scalable to large number of users and computational tasks. sbml file import the user can import gsmn models in the sbml format. the reaction capacity bounds and gene-reaction association formulas, features specific to fba simulations and not implemented in acorn yet, have to be provided as annotations following bigg database conventions. the user can upload the file using the web interface. optionally, the user can input the http address string, which will be concatenated with gene names to create links to the gene pages in the functional genomics portal of the user's choice. the sbml file is parsed and stored in the relational database backend area of the acorn system. a user management, model and in silico experiment sharing every new user of acorn has to register via the web interface. the first user registered, after the software installation step, is given administration privileges. the models are created during sbml file upload, and initially can be only used by the user who uploaded the sbml file. likewise, in silico experiments with a particular model initially belong the user who created the model. the user may chose to share models and in silico experiments with other users in the system. this allows for the creation of online communities where users share models and results of numerical simulations. the models and experiments can be also made available to a publicly accessible account, which enables creation of web based resources for constraint based simulations of gsmn models. desktop metabolic pathway layout editor acorn provides a desktop editor for metabolic pathway diagrams. diagrams are created in petri net notation with reactions and substances represented by different symbols. the editor connects to the acorn database, using an id and password of one of the acorn users and prompts this user to select one of the gsmn models available on the user's acorn account. subsequently, the user creates the diagram in which every substance and reaction symbol is associated with the substance or reaction in the gsmn. the editor can find all substances associated with a given reaction and then place them on the map. therefore, after placing the first symbol on the diagram, the user does not have to check subsequent metabolite names and can quickly build a network map by simply following the connections in the gsmn. the diagram is sent to the server and saved in the database. a means of visualisation of numerical results on metabolic pathway diagrams numerical results of fba and fva calculations can be visualised on pathway diagrams. the pathway diagrams created by the user are available within the web system and can be associated with simulation results. subsequently, the user may create image files where numerical simulation results, representing the fluxes or flux ranges, are printed within the boxes corresponding to the reactions. numerical results can be also visualised in the same way within the stand-alone pathway editor. a stand alone command line tool the computational engine of the acorn software is available as a stand-alone tool. the tool can be used to evaluate the objective function of the gsmn model written in simple text file format. the command line tool interprets boolean gene-reaction association formulas and can be therefore used to perform evaluate the objective function for a single gene knockout version of the model. availability of the acorn computational engine in the form of a command line tool binary is useful for the users who intend to develop their own interfaces. the tool could be easily integrated with the script languages used by the bioinformatics community and then become a part of an annotation pipeline. it can be also used to create graphics user interfaces other than acorn. finally, users of the acorn web server can also use the command line tool to run some of their computations on their local machines if the resources of the web server are limited or constrained. the gsmn web resource to demonstrate the features of acorn, we have constructed a web resource for constraint-based simulation of the gsmns of interest to our research group. the resource contains the gsmn-tb model of m. tuberculosis, reconstructed by our group and two reconstructions published by other groups: e. coli iaf and s. cerevisiae ind. the iaf and ind have been directly uploaded into acorn from the sbml files available in the bigg database. this shows that the acorn model upload tool is compatible with the sbml specification and constraint-based specific annotations used by the cobra toolbox software and the bigg database. in the case of gsmn-tb and ind models, the flat files accompanying the publications were first converted to an annotated sbml file and subsequently uploaded into the server. the models have been uploaded and tested by one of the users of the system with upload privileges and subsequently published, by sharing them with the "guest" user account available to the public. each of the models available within the web resource is linked to the relevant functional genomics portal. the gene names in gsmn-tb model are linked to the tuberculist database, the e. coli model is linked to kegg database, and the s. cerevisiae model is linked to the sgd database. these implementations have demonstrated that the model upload mechanism of acorn can be used to link reaction lists and results files of gsmn models to major functional genomics resources, thus facilitating interpretation of computer simulations in the context of the wealth of knowledge and comparative analysis results available within these knowledge bases. the user can use our web resource to run all simulation protocols implemented in acorn on the models mentioned above. to demonstrate the visualisation functionality of acorn, we have used the desktop editor to create a layout of glycolytic pathway in yeast and uploaded this layout into the ind model. users can now visualise fluxes calculated by computer simulation on the pathway layouts of their choice. the fluxes are obtained by the calculations involving all reactions of the entire gsmn, but only the reactions of interest to the users are displayed in a format, which is the most informative for them.  in this paper, we present the acorn software package, which can be deployed at the user's institution and used to create web-based resources for constraint based simulations of gsmns. our software can be used to make a collection of gsmns available to a community of users who hold accounts within the system. users can upload models and run constraint-based simulation methods to make predictions about the metabolic capabilities of organisms under investigation. the models and results are linked to the functional genomic resources through the gene names. therefore, the results of constraint based calculations can be examined in the context of genome sequences, annotations and sequence similarity-based predictions available in these portals. the grid-based architecture of acorn allows for the implementation of computationally expensive simulation protocols requiring the execution of thousands of linear programming evaluations for the entire model. users can visualise numerical results of simulation methods on pathway maps loaded into the system. these maps can represent tthe users view, a part of the model of specific interest to the user concerned, while numerical data visualised on the map are calculated by constraint-based modelling of the entire network. pathway diagrams are constructed with the desktop tool, which supports rapid assignment of the graphical symbols to substances and reactions present in the model. one of the most important features of acorn is user management and model sharing. select users can upload starting models and share them with others. all other users can create variations of those starting models by modifying their parameters and set their own simulations without affecting the models and simulations run by other users. they may then choose to render the models, simulation scenarios and results visible to other users in the system and, through the guest user account, available to the research community. therefore, acorn can be used to create research community websites dedicated to the annotation and investigation of metabolic reaction network models. in addition to the software that can be used to create a constraint-based modelling server, we also provide a web resource giving access to the gsmn models of s. cerevisiae, e. coli, and m. tuberculosis. users can either use a guest account or register and gain access to these models without the need of installing and learning modelling environments such as, for example, matlab based cobra toolkits. users can also use our server to upload their models, if they are represented in the sbml format, and use computational tools implemented within the system to study those models. we believe that acorn provides several advantages and alternative solutions compared to existing web servers for constrained-based modelling of metabolic networks. it provides advantages when compared to the gsmn-tb server with respect to visualisation and implements a more convenient interface for model specification. its main advantage over cycsim and webcoli is the implementation of the fva and reaction essentiality scans. fva is currently the only method, which allows the exploration of internal flux distribution in gsmn.s it is efficiently implemented in acorn, due to its grid based architecture. acorn also provides an alternative mechanism for visualising metabolic pathway maps. while cycsim uses standard kegg and biocyc maps, the acorn server allows the individual user to create their own views, which are linked with the model. another major advantage of the acorn environment over cycsim and webcoli is that it provides source code distribution, which can be used to create collaborative model development environments and public web resources in other laboratories. to summarise, we believe that the acorn server will be very useful for research groups reconstructing and studying gsmns. its application will result in establishment of online communities sharing models and results of in silico experiments. this will facilitate improvement of metabolic models used in the identification of novel drug targets in microbial pathogens and metabolic engineering of industrially valuable microbial strains. availability and requirements project name: acorn project home page: http://code.google.com/p/a-c-o-r-n/ surrey gsmn server: http://sysbio fhms.surrey.ac.uk:8080/acorn/homepage.jsf operating systems: platform independent programming language: java, c++ other requirements: java or higher, glassfish java ee server v or higher license: gnu gpl v2 any restrictions to use by non-academics: the use of constraint based modelling results obtained by using iaf and ind models on surrey fba resource is subjected to the bigg database license. authors' contributions amk and js designed software functionality. js designed software architecture, supervised software development and participated in software implementation. lbk, sg, dl, jl implemented database and worker modules. mm implemented pathway visualisation. jl implemented command line computational engine. car developed case studies for visualisation of yeast pathways. mb and jmf tested software functionality and participated in writing of the manuscript. amk and js wrote the manuscript. all authors read and approved the final manuscript. 
recently, genome annotations have been used to reconstruct genome scale metabolic reaction networks for numerous species, including homo sapiens, which allow simulations that provide valuable insights into topics, including predictions of gene essentiality of pathogens, interpretation of genetic polymorphism in metabolic disease syndromes and suggestions for novel approaches to microbial metabolic engineering. here, we present acorn, an open source grid computing system for constraint-based simulations of genome scale metabolic reaction networks within an interactive web environment. to illustrate these features we have deployed acorn and created a web server allowing constraint based simulations of the genome scale metabolic reaction networks of e. coli, s. cerevisiae and m. tuberculosis. acorn is a free software package, which can be installed by research groups to create a web based environment for computer simulations of genome scale metabolic reaction networks. research groups can install acorn locally and create user accounts. users can construct pathway map layouts and import them into the server using a desktop editor integrated within the system. users can also import models in the familiar sbml format and link reaction formulas to major functional genomics portals of choice. pathway maps are then used to visualise numerical results within the web environment. selected models and simulation results can be shared between different users and made publically available. the grid-based architecture allows efficient execution of computationally intensive, iterative protocols such as flux variability analysis, which can be readily scaled up as the numbers of models increase. these constraint-based simulations are being integrated with the functional genomics portals, an activity that requires efficient implementation of the constraint-based simulations in the web-based environment.
 constraint-based approaches facilitate the prediction of cellular metabolic capabilities, based, in turn on predictions of the repertoire of enzymes encoded in the genome. recently, genome annotations have been used to reconstruct genome scale metabolic reaction networks for numerous species, including homo sapiens, which allow simulations that provide valuable insights into topics, including predictions of gene essentiality of pathogens, interpretation of genetic polymorphism in metabolic disease syndromes and suggestions for novel approaches to microbial metabolic engineering. these constraint-based simulations are being integrated with the functional genomics portals, an activity that requires efficient implementation of the constraint-based simulations in the web-based environment.  here, we present acorn, an open source grid computing system for constraint-based simulations of genome scale metabolic reaction networks within an interactive web environment. the grid-based architecture allows efficient execution of computationally intensive, iterative protocols such as flux variability analysis, which can be readily scaled up as the numbers of models increase. the web interface uses ajax, which facilitates efficient model browsing and other search functions, and intuitive implementation of appropriate simulation conditions. research groups can install acorn locally and create user accounts. users can also import models in the familiar sbml format and link reaction formulas to major functional genomics portals of choice. selected models and simulation results can be shared between different users and made publically available. users can construct pathway map layouts and import them into the server using a desktop editor integrated within the system. pathway maps are then used to visualise numerical results within the web environment. to illustrate these features we have deployed acorn and created a web server allowing constraint based simulations of the genome scale metabolic reaction networks of e. coli, s. cerevisiae and m. tuberculosis.  acorn is a free software package, which can be installed by research groups to create a web based environment for computer simulations of genome scale metabolic reaction networks. it facilitates shared access to models and creation of publicly available constraint based modelling resources. 