CaliBayes software infrastructure
This page describes the (Java) CaliBayes SOA software infrastructure developed by the CaliBayes project. To use the software please consult the Documentation page. For more general information about the CaliBayes project, see the Home page.
Software architechture
The software consists of a number of interacting service components. Each component may be deployed on a different machine, or all may be deployed on the same machine.
Main calibration services
There are some performance issues relating to the way in which these service components are distributed across multiple machines, and where pertinent, these are explained below.
CaliBayes simulator interface - CaliBayes relies on third-party SBML-compliant simulators for forwards-simulation of the target model to be calibrated. Such simulators may be either deterministic or stochastic, depending on the nature of the model to be calibrated. Any simulator can be used for this purpose, provided that a SOAP web-services interface conforming to the standard CaliBayes simulator interface is provided. Example interfaces are provided for the popular RoadRunner (deterministic) and FERN (stochastic) simulators.
CaliBayes calibration engine - the main back-end computational service implementing the Bayesian sequential MCMC algorithm for model calibration. It is not intended that this service is accessed directly by users. If deployed on a separate machine to the simulator offering the CaliBayes simulator interface, good performance requires Gigabit connectivity between it and the machine offering the simulation service.
CaliBayes timeseries calibrator - a user-level service allowing the calibration of a model using a single experimental time series. If deployed on a separate machine from the CaliBayes calibration engine, good performance requires 100Mbit connectivity between it and the calibration engine, but anything over 10Mbit should be tolerable.
CaliBayes data integrator - the main user-level calibration service. This service allows the calibration of a model based on multiple time series, which may consist of measurements of different species or other model components, and at different time points. Reasonable connectivity between this service and the timeseries calibration service is desirable, but 10Mbit or more will be quite adequate.
Getting started
See the [Documentation] page for details on how to create your own CaliBayes installation.
A quick guide to using the public CaliBayes web-services can be found in the tutorial.
Support packages
In addition to the main CaliBayes software components, there are a number of SupportPackages for the R statistical programming language designed to make it easy to generate and process the XML documents consumed and produced by the CaliBayes services.
CaliBayes prior simulator - the calibration and integration services all require a prior distribution in addition to an SBML model and time course experimental data. This prior distribution must be represented in an XML file as a sample from the prior distribution, in the same format as the posterior distribution that is output from the calibration services. This service allows the generation of the required prior distribution XML document based on a sample from the prior contained in a simple R data structure.
CaliBayes posterior decoder - some R code to unpack the XML posterior distribution generated by the CaliBayes services into a simple R data structure for posterior analysis.
CaliBayes data formatter - a service which encodes time course data held in R data structures into the XML format expected by the CaliBayes calibration and integration services.
CaliBayes data formats
The CaliBayes services encode input and output data using XML. In most cases, detailed knowledge of these formats is not required, as the CaliBayes support packages can be used for most commonly required encoding and decoding operations. Nevertheless, precise details are provided in the Documentation. The three XML_data_formats used are as follows:
CaliBayes distribution - this is the XML format used to describe probability distributions based on samples. The same format is used to describe both prior distributions (used as input to the services) and posterior distributions (provided as output from the services)
CaliBayes data - this is the XML format used to encode time course experimental data
CaliBayes settings - this is the format used to describe the settings and "tuning parameters" needed to run the Bayesian MCMC algorithms used by the CaliBayes services.
Documentation, downloads and installation
The Documentation pages provide information on downloading, installing and using the all of the software.