This site introduces the Systems Biology Workbench (SBW), an open source framework connecting heterogeneous software applications. SBW is made up of two kinds of components:
Modules: These are the applications that a user would use. We have a wide collection of model editing, model simulation and model analysis tools.
Framework: The software framework that allows developers to cross programming language boundaries and connect application modules to form new applications.
We constantly strive to improve the SBW modules we distribute with the framework. The ChangeLog details bug fixes and improvements we make to the modules, the framework and online services. If you have any problems or questions please file a Bug Report or post a question to the Forum. There also is a sparsely populated but growing SBW FAQ.
Researchers in quantitative systems biology make use of a large number of different software packages for modeling, analysis, visualization, and general data manipulation. The Systems Biology Workbench (SBW), is a software framework that allows heterogeneous application components-written in diverse programming languages and running on different platforms-to communicate and use each others' capabilities via a fast binary encoded-message system. Our goal was to create a simple, high performance, open-source software infrastructure which is easy to implement and understand. SBW enables applications (potentially running on separate, distributed computers) to communicate via a simple network protocol. The interfaces to the system are encapsulated in client-side libraries that we provide for different programming languages.
At the last count, there were over 75 different packages for simulating cellular networks (see www.sbml.org). This proliferation of tools has resulted in a variety of capabilities and interfaces. Though welcome in many respects, this proliferation has resulted in two unwelcome side effects:
Each tool uses its own format, often undocumented, to store models. The result is that a model saved in one tool cannot be loaded into another. This obviously hinders the free exchange of models from one tool to another.
The second problem is that many of the tools duplicate each other's capabilities. Writing simulation tools takes time, and many of the projects are short-lived, which means that the authors are unable to develop the tools very far. As a result, many of the tools provide similar functionality. Unlike other software development communities, there is little tradition of code reuse in the system biology community. As a result, the community has seen much duplicated effort.
Model Interchange The first problem, that of model exchange, has been addressed by introducing a standard format for all tool writers to employ. This standard is called Systems Biology Markup Language (SBML) Along with CellML (www.cellml.org), the introduction of a standard format is beginning to make a significant impact on tools writers, and the majority of the most widely used tools now employ SBML as a means to exchange models.
Code Reuse The second issue is more difficult to address, that is how to encourage code reuse in the community. Our attempt to resolve this has been to develop a software framework called the System Biology Workbench. The workbench allows different tools to expose programmatic functionality to other tools. This means that a developer can now build on previous work without having to understand in detail the often intricate internal workings of other tools. All a developer need know is the interface that the tool exposes. Thus, a particular tool may expose a time-dependent simulation interface from a simulation tool, another tool developer-rather than invent another simulation tool-can exploit this capability and develop a new tool that can carry out additional functions. The workload for the second developer is greatly reduced, and they can instead concentrate on novel functionality.
This work is currently supported through the generous support of NIH/NIGMS
This small program permits the different modules in SBW to communicate
Binding libraries to the most common languages: C/C++, Java, Delphi, Python, Perl
, Matlab, .NET
SBML Support module. This modules provides basic SBML support services and is based on Ben Bornstein's libSBML.
A fast simulator of reaction networks. This is one of the main modules in SBW, it provides may computational services, includes time course simulation (ODE or stochastic), steady state analysis, basic structural properties of networks, dynamic properties like the Jacobian, elasticities, sensitivities, eigenvalues etc. It also supports a scripting language that allows experienced users to directly interact with the computational engine.
This is a friendly GUI
front end to an SBW compatible simulator. It allows users to 'draw' networks on screen and simulate them. JDesigner uses Jarnac as it's current simulation backend.
A series of SBML translators, including Matlab and FORTRAN
Metatool: A SBW wrapping around Stefan Schuster's Metatool program which can be used to compute elementary modes.
Optional downloads: Time course optimizers by Vijay Chickarmane.
There are currently six additional modules which we hope to release before the end of the year.
For the longest time SBW focussed mainly on the Windows operating systems. However we do realize that many scientists and researchers in the field of computational and systems biology are working with OS X and Linux operating systems. For this reason we are renewing our efforts in porting some of our most popular applications to those operating systems with a complete suite of tools ready by the end of the year. Read more on the platforms page.
SBW is a collaboration between a number of individuals and communities. Of particular importance is Mike Hucka and Andrew Finney who were instrumental in the early stages of development. The original project home was at Caltech, with managerial and enthusiastic support from Hamid Bolouri, Hiroaki Kitano and John Doyle.
Detailed documentation and additional information is available here
All our software products are freely available under the terms of the BSD license. We hope other interested parties will join us in this effort and work with us towards these common goals.