JDesigner Sourceforge project
About this 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:
1. 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.
2. 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
What you get when you download SBW:
- 1. SBW Broker: This small program permits the different modules in SBW to communicate.
- 2. Binding libraries to the most common languages: C/C++, Java, Delphi, Python, Perl, Matlab, .NET
- 3. NOM: SBML Support module. This modules provides basic SBML support services and is based on Ben Bornstein's libSBML.
- 4. 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.
- 5. 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.
- 6. A series of SBML translators, including Matlab and FORTRAN.
- 7. Metatool: A SBW wrapping around Stefan Schuster's Metatool program which can be used to compute elementary modes.
- 8. Optional downloads: Time course optimizers by Vijay Chickarmane.
Acknowledgements
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.