BASIS
BASIS—Biology of Ageing e-Science Integration and Simulation System
  • home
  • biology
  • technology
  • software
  • team
  • contact
username
password

Secure Logon secure logon

virtual cell
virtual tissue
virtual organism
Email the BASIS team basis@ncl.ac.uk

Biological Modelling Technology


Introduction

BASIS is one of 20 pilot projects funded under the UK e-science initiative to help develop the UK grid from an applications perspective. Our aim is to make our own models available to other researchers and also to provide a framework for others to build their own models. We have installed a 16 processor Linux Beowulf Cluster to provide computing power and a server to manage the work (technical details). We benefit directly from the extensive expertise offered by the National e-Science Centre [1] together with a regional centre based here in Newcastle [2]. The emerging Grid will make it possible to build applications from various stand alone components such as model design software, simulators, databases and graphical output packages, these components need not reside at the same location. Grid technology will enable access to multiple resources within a secure environment with a single logon [3].

Investigating Models

In general, our models can be envisaged as networks of individual biochemical mechanisms. Each mechanism is represented by a system of chemical equations, quantified by substrate and product concentrations and the associated reaction rates. The connected series of reactions are then simulated in time. Simulation may be stochastic or deterministic depending on species concentration (see our online tutorial for further details). Although the present focus is on intracellular interactions, once the framework is in place we will extend the models to tissues and eventually a whole organism. The overall structure overlaps with many other projects within the umbrella of Systems Biology [4] although we have a specific focus on advancing knowledge in the biology of ageing.

Our first objective is to make the models in previously published work available for researchers to test with their own parameter sets in order to aid understanding and to become familiar with the limitations of the model. A second objective is to make the models themselves adjustable. Reactions may be altered, new reactions may be added or whole modules (sets of reactions) may be replaced with alternatives. The flexibility this presents will allow users to test new hypothesis.

To date the models have been written and compiled leaving a few input parameters free for the developer to adjust. It is relatively easy to present these models on the web for users to test for themselves with form text boxes as a means of inputing parameter values and a submit button for running the simulation.

For example, the illustration shown below are results of our 'metabolic clusters' model [5], which was based on the idea that genes often act not in isolation but as parts of structured metabolic pathways. We assume that each 'cluster' of genes can tolerate some mutations, but after a certain number of mutations, r, a cluster is inactivated and the cell stops dividing. One of the parameters of the model is the mutation rate, h. The effect of changing the value of the mutation rate can be investigated by the user:

Results of metabolic clusters simulation

Web-Based Interaction

Users can easily set model parameters using online forms written in HTML. A value inside a text box can be extracted by referring to it like mitochondria.number.value from the HTML example below:

<form name="mitochondria" method="post" action="/cgi-bin/simulate.py">
    <input type="text" name="number">
</form>

This value is sent to the server on pushing a submit button. The server receives the set of parameters, performs the simulation (initiated in the above example by a python CGI program, simulate.py) and sends back the results to the user on the client machine. An alternative way to present the models is to code a representation as a Java Applet. The applet can then be displayed in a web page, or downloaded and run on the client machine. For very simple models, code can be incorporated directly as a script, typically Javascript (EMCAScript), on the web page which again runs on the client machine. (See [6] for python and [7] for web application technology.)

To adjust or develop the model structure requires a different strategy. The models can be described in richer markup languages, based on XML [8]. XML gives the freedom to define custom structures. For example the reaction A+B→C can be represented simply by:

    <Reaction>
        <Substrate>A</Substrate>
        <Substrate>B</Substrate>
        <Product>C</Product>
        <Reaction Rate>k</Reaction Rate>
    </Reaction>

If, for example, a user wanted to include an additional product D, the XML would need to be updated to include a <Product>D</Product> element in the Reaction definition. Further development requires that the user can define such things as initial concentrations, boundary conditions, type of reaction (e.g., whether the reaction is reversible or not) or alter the reaction stoichiometry. XML offers this potential but much care needs to be taken to avoid inconsistencies. We have chosen to use a well supported XML standard, SBML (Systems Biology Markup Language)[9], that is well suited for defining the types of model we are interested in. The reactions themselves can be made available and the whole model or part of the model can then be sent for simulation as SBML (open the SBML from an example model).

Sending HTML to and from the client and server utilises standard web technology, with HTTP as a transport protocol. Files are managed by web browsers on the client side and stored and validated byserver software. The models are represented in SBML, which is generated by an application, for example, a visual model building tool (utilising a GUI). This application generates the SBML which is then uploaded to the server.

SOAP-Based Web Services

An emerging standard where machines can communicate with each other by sending XML over HTTP is the SOAP protocol[10]. A SOAP message is contained within an XML envelope and has two main parts, the header and body. The header can be used to carry security information and the body contains the XML messager. Security can include both authorisation and authentication with software included on the server for message encryption, checking signatures and managing certificates[11].

When a SOAP-accepting server receives the message, the XML within the body is first validated. The data is checked to ensure it is properly contained within start and end tags and other properties such as the tag syntax and data types checked for consistency, by reference to a schema [12], which must be referenced in the XML document. Our models reference the SBML schema [9] and incoming XML is checked to see whether it conforms to this schema. The SBML is then parsed to extract the information of the model (much as a browser translates HTML into a web page) to be passed on to cluster machines for simulation.

The main advantage of using XML and SOAP as a communication standard is that they are widely used to construct web services [13]. Applications built and deployed as web services usually generate or understand SOAP and therefore XML conforming to a given schema. Web service technology has been embraced by all the major software developers. IBM support SOAP in their WebSphere development kit, Microsoft, in the .NET environment and Sun in thier WSDP integrated toolkit for Java developers. Our implementation utilises the well established and reliable Apache family of open source software[14].

The web services themselves can be deployed quite easily in either Java or Python. A fundamental property of a web service is that only designated methods are made available, the underlying implementation of the service remains hidden. This means that existing code can be deployed as a service simply by wrapping it with a small amount of Python or Java. To use each service, an instance of the service must first be instantiated by the server and the services methods can then be used by the calling application. Once the service has performed its task, the instance is removed from memory: web services are stateless (though they may store state externally). Task and job scheduling is managed via a PostgreSQL database.

BASIS system architecture

Grid technology is being developed as an extension of web service technology. The prevailing view is that middleware will support factory services that will instantiate and manage web services as they are required by applications. The benefits for our project lie in the robustness, user logging facilities and the enhanced security that is being given a high priority. The UK e-Science program is actively participating in the development of the specifications of the Open Grid Services Architecture(OGSA), see [15] for a useful overview.

Related Projects

Other approaches have been used by other projects with slightlydifferent aims. The Systems Biology Workbench(SBW)[16], offers an alternative modelling framework other than WWW/Grid services. SBW is centred on a broker that mediates communication between different modules much as an application can be build up from component web services. Several modules for model building, simulation and visualisation have been written that can be registered with the broker and can intercommunicate with each other [17].

NRCAM Virtual Cell is a comprehensive cell modelling tool primarily aimed at generation of spatial models that can be compared with 2D and 3D imagery. Models are built visually using a Java interface or alternatively with a specially developed mathematical declarative language. Physiological properties are then mapped to spatial functions prior to simulation on a Beowulf cluster[18].

In E-cell the cell is modelled metabolically by providing glucose and identifying all relevant metabolic pathways—defining the kinetic equations and parameters, including stochastic processes such as binding of transcriptional factors. The software is downloaded and run on the client machine [19].

Summary

In summary, our application is deployed as a set of web services. Model structure and data is represented in SBML. We will provide client software to build and interact with the models, although limited interaction with existing models will is possible using a simple web interface. We will scale our infrastructure up to incorporate Grid technology to benefit from the enhanced security and job handling once standards are more firmly established.

References

  1. National e-Science Centre http://www.nesc.ac.uk
  2. North East Regional e-Science Centre http://www.neresc.ac.uk
  3. Grid Technology
    • e-Science Grid Support Centre http://www.grid-support.ac.uk
    • Globus Project http://www.globus.org
    • Global Grid Forum http://www.globalgridforum.org
  4. Systems Biology
    • European Systems Biology Initiative http://www.systembiology.net
    • Institute for Systems Biology http://www.systemsbiology.org
  5. T.B.L. Kirkwood, C.J. Proctor, Somatic mutations and ageing in silico. Mechanisms of Ageing and Development, 124, 85–92, 2003.
  6. Python home page http://www.python.org
    • Vaults of Parnassus: Python Resources http://www.vex.net/~x/parnassus/
  7. Web Applications
    • Python CGI http://www.python.org/doc/lib/module-cgi.html
    • General CGI http://hoohoo.ncsa.uiuc.edu/cgi/overview.html
    • Java Applets http://java.sun.com/applets
    • JavaScript http://www.mozilla.org/js
  8. XML
    • W3C page http://www.w3.org/XML
    • One of many other sources of information http://www.xml.com
  9. Systems Biology Markup Language, SBML http://sbml.org/documents
  10. SOAP, W3C page http://www.w3.org/TR/soap
  11. SOAP security, W3C page http://www.w3.org/TR/SOAP-dsig
  12. XML Schema, e.g. http://www.xml.com/pub/a/2000/11/29/schemas/part1.html
  13. Web Services, e.g. http://webservices.xml.com/pub/a/ws/2001/04/04/webservices
  14. Apache home page http://www.apache.org
  15. OGSA—The Physiology of the Grid http://www.globus.org/alliance/publications/papers.php#OGSA
  16. Systems Biology Workbench http://sbw.kgi.edu
  17. SBW enabled applications
    • Jarnac deterministic simulator http://sbw.kgi.edu/software/jarnac.htm
    • JDesigner visual layout tool http://sbw.kgi.edu/software/jdesigner.htm
    • Tauleap stochastic simulator http://strc.herts.ac.uk/bio/tauleap/tauleap-home.htm
  18. NRCAM virtual cell http://www.vcell.org
  19. E-cell http://www.e-cell.org


Valid HTML 4.01 Strict Valid CSS!

© 2002-2008 basis