The tremendous amounts of data and research now emerging from molecular biotechnology have fueled an explosion in the development of software tools. This rapid growth in tool development has been accompanied by problems and pressing needs. One problem is that simulation models and results often cannot be compared, shared or re-used directly because the tools developed by different groups often are not compatible with each other. A second problem is that software developers often end up duplicating each other's efforts when implementing different packages.
Yet despite their many efforts, no single package currently answers all the needs of the emerging systems biology community. The range of tools needed is vast, and new techniques requiring new tools are emerging far more rapidly than the rate at which any single package may be developed. For the foreseeable future, then, systems biology researchers are likely to continue using multiple packages to carry out their work. The best we can do is to develop ways to ease sharing and communication between such packages.
In an effort to make it more attractive for package developers to share rather than re-implement resources, we have developed the ERATO Systems Biology Workbench (SBW), an open-source, application integration environment. Our aim has been to create a framework so simple that software developers find it easier to build in an SBW interface than to recreate functionality available in other tools. By doing so, we hope developers can concentrate on developing best-of-breed solutions in the areas where they have special expertise.
SBW uses a portable broker-based architecture that enables applications (potentially running on separate machines) to learn about and communicate with each other. The communications facilities allow heterogeneous packages to be connected together using a remote procedure call mechanism; this mechanism uses a simple message-passing network protocol and allows either synchronous or asynchronous invocations. The interfaces to the system are encapsulated in client libraries for different programming languages (currently C, C++, Delphi, Java, and Python, with more anticipated), but the protocol is open and small, and developers may implement their own interfaces to the system if they choose.
The software products of this project are distributed under GNU LGPL terms, portable to Windows and Linux, and use current and emerging standards such as the Systems Biology Markup Language (SBML). SBW and SBML are being developed in close collaboration with the groups developing the simulation packages BioSpice, Cellerator, DBsolve, E-CELL, Gepasi, Jarnac, ProMoT/DIVA, Virtual Cell and StochSim, as well as the representation language CellML. A beta version of SBW and programming manuals are currently available from our project web site at http://bioinformatics.org/sbw/.