Computational Systems Biology
Sauro Lab
University of Washington
Home  |   Downloads  |   News  |   Research  |   Papers  |   About Us  |   Contact Us  |   SBW Help   |   Jobs

What is SBW 
Research Impact 
Published Papers 
Lab Members 
Available Positions 
CSB Links 
Student Projects 
Software Downloads:

1. SBW
2. JDesigner
3. Jarnac
5. Matlab Interface
6. Optimization
6. Bifurcation
maintained by Frank Bergmann

SBW Help

Welcome to the SBW Wiki. This wiki is intended to help users to get a first impression on how to use all the available SBW modules or how to create new SBW modules.

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 sparsely populated but growing SBW FAQ.

To get the source code from the SF CVS repositories use:

cvs login
cvs -z3 co -P modulename
cvs login
cvs -z3 co -P modulename

SBW General Information

SBW Modules

Third-party Tools that are SBW Enabled

SBW Development

The SBW framework has been designed so that it can be adapted very easily. Language Bindings exist for the major program languages. These bindings have been written to support natural features of the target programming language.

To get started developing for SBW it is probably helpful to look at an example application written in the language of your choice. Let us look at a basic example. One SBW module implements basic mathematical functions … the other SBW module accesses these functions. With those examples it should be easy to write SBW modules by yourself and contribute them to the community.

For more information, please see also the developer documentation.

  • Programming Language C
    • Example: Client | Server
  • Example: Programming Language C++
    • Example: Client | Server
  • Example: Programming Language C#
    • Example: Client | Server
  • Example: Programming Language Python
    • Example: Client | Server
  • Example: Programming Language Java
    • Example: Client | Server
  • Example: Programming Language VB.NET
    • Example: Client | Server
  • Example: Programming Language Delphi / Kylix
    • Example: Client | Server
  • Example: Programming Language Matlab
    • Example: Client | Server

For more information, please see also the developer documentation.

Visual Studio Integration

In order to enable applications to easily access other SBW modules, we developed an add-on to Visual Studio. This Add-on will enable a developer to simply pick the module and service of a given SBW module, and have a wrapper for it generated. More Information in this document.

It is also possible to use the wrappers without Visual Studio. We provide this download. To use just extract the archive into your favorite location and launch GenerateWrapper.exe. A click on “Generate” suffices to create the wrapper. (This application has also been tested to run using the MONO framework on Linux and OS X.)

SBW Category Descriptions

SBW Modules can be programmed to adhere to a certain category (aka protocol). This allows for quickly exchanging one module for another in the same category, resulting in a more robust software solution. One example would be the exchange of one Simulator for another.

SBW Standardization Efforts

Human Readable Model Definition Language

With SBML we have a model specification language that is ideal for exchanging models between software applications. During model creation however, it seems advantageous to use some kind of human readable script to define a model, especially for those who don't want to use a visual tool. Darren Wilkinson has a simple way to specify SBML using a shorthand and various other groups, such as JSim, PySCeS, scrumpy and VCell, have their own standards. What we want however, in addition, is a module based description which would allow users to knit together models. We have quite a few models now, especially from our wet lab synthetic work, and we have no easy way to load and put different models together, so there is definitely a scientific need at our end. I don't think what we have in mind is enough for the synthetic biology community at large because there is a lot of information that is missing but for the modeling community it might be useful. In addition we think there are features missing that would make physiology modeling easier, especially processes that concern current flows and voltage gradients. Finally, representing stochastic models and Langevin models may need looking into.

What we propose is by no means a replacement for SBML, rather we consider it as a complimentary language from which SBML is generated. This preserves all the hard work that has been done by developers (including ourselves). The idea is that models are defined in a modular fashion from which a single SBML file is generated. This could be done in XML of course but in our research we would like a human readable and easily editable form. In view of our particular need we are curious to know if the community at large would be interested in providing a critic of the proposal. Nothing has been implemented, there are no current plans to implement anything and in fact there are some problems still to be resolved.

We provide a first draft of the script for those who might be interested.

First Draft (Rev 1)

How to participate

Currently this wiki is not completely open … in order to get write access please send me an email.

Frank Bergmann 2006/07/13 12:38

welcome.txt · Last modified: 2010/05/12 15:11 by fbergman

    Home  |   About Us  |   Contact Us  |   Statistics
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki