This site intoduces 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.
Getting Started
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 sparsly populated but growing
SBW FAQ.
LINKS:
Download SBW
Documentation
Download SBWMatlab Interface
Download SBWOptimizers
Download SBW BioSPICE Interface
Third-party Groups that use SBW:
cellDesigner (Visual Design)
Dizzy (Stochastic Simulator)
BioSPICE
BioUML
About the Systems Biology Workbench Project
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 DARPA and
the DOE
The SBW Team
The senior developer for SBW is:
Frank Bergmann. Frank is responsible for the bulk of SBW software
development, including the messaging systems, binding libraries, .NET
development, Mac and Linux portability, releases (sometimes in collaboration
with Sri), distributed SBW development. He is also engaged in a number
of other projects which will see the light of day in the near future.
A second key developer is
Sri Paladugu. Sri is responsible for Metatool integration, NOM, the
Matlab Translator and a new tool to be released early next year.
Another important developer is
Ravi Rao. Ravi is currently writing a set of new SBML translators to be
released in late January 2005. He is also responsible for writing portable
versions of the optimizers modules.
Finally, a new comer to SBW is
Klaus Maier. Klaus is developing a suite of new solvers for Langevin
systems, frequency analysis tools for deterministic systems and a new high
speed Java simulator.
What you get when you download SBW:
-
SBW Broker: 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
- NOM: SBML Support module. This modules
provides basic SBML support services and is based on Ben Bornstein's libSBML.
- Jarnac: 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.
- JDesigner: 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.
Collaboration
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.
Acknowledgments
The Systems Biology Workbench Project was originally funded by a generous grant
from the Japan Science and Technology
Corporation through the ERATO Kitano
Systems Biology Project. Currently support comes from the DARPA
BioSPICE and Department of Energy GTL programs for which we an extremely
grateful. The orignal authors of the SBW included Andrew Finney, Mike Hucka and
Herbert Sauro with Hamid Bolouri, John Doyle and Hiroaki Kitano acting as
principal investigators.
A detailed description of SBW can be found in our paper published in " Next generation simulation tools: the Systems Biology Workbench and BioSPICE
integration." OMICS. 2003 Winter;7(4):355-72. Sauro, Hucka,
Finney, Wellock, Bolouri, Doyle, Kitano.