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 
Software Downloads:

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

What's new in Version 2.8.3

For details on many of these changes especially the distributed SBW, please email for more information. Or read more here

Aug 2011
Changes in Version 2.8.3

    - New graphing module now gives more control and smoother lines
    - Changed augr and augc to take variable arguments
    - Added new function, cv2m() to convert a vector to a matrix
    - Added quick button to copy model to SBML (clipboard or file)
    - Added option to display line numbers in editor
    - Added simple find function to the editor
    - Added two sample models that can be loaded from the menu
    - Fixed typo Tablular to Tabular in tabular display
    - Added scroll bar to HTML edit window
    - When creating alias node, node is now placed near selected node
    - The parameter list in the scan window woudl sometimes hold old parameter names, 
      due to a bug in serializing the edge objects
    - i/o error 103 sometimes in saving selection lists, not sure if fixed 
    (difficult to reproduce) but try/finally blocks were not quite right which is now fixed
    - Bug in commit parameter changes when paramter grid did not have focus
    - Added ability to copy the results from the end of a time course 
      simulation to the model so that the state can be saved to file
SBML Layout
    - limited support for libsbgn AF and ER

    - updated parsing of CSV files to support a wider variety of files

    - updated to latest changes, 
	- support for CellML, 
	- support for Validation
Simulation Tool
    - updated to .net framework 4
    - fix issue with the plugin system on some systems
    - updated to iron python 2.7

What's new in Version 2.8.2

For details on many of these changes especially the distributed SBW, please email for more information. Or read more here

Mar 2011
Changes in Version 2.8.2 

This version represents a significant update and includes many bugs fixes and new features. 
Many thanks to all those who contributed their feedback to make this version possible.

Matlab Translator: 
  - removed 'eq' function, as it turns out it is an inbuilt function already and causes issues 
    with Matlab. 
  - resolved issue where an assignment rule for a species would produce invalid matlab code.
XPP Translator: 
  - limit variable names to 8 characters
  - remove spaces between operators as this caused issues in XPPauth
    Thanks to Lukas Endler for reporting this

  - added support for the new SBML Event constructs: 
  - priority of simultaneous events
  - event fireing at initial time (based on initialValue attribute)
  - trigger condition could be persistent or not
  - the maximum step size property that restricts the integrator to a certain step 
    size is no longer set by default. This fixes the slowness observed. To set the 
    maximum step size, simply set the configuration property: MaxStepSize.
  - bug fix when using SpeciesReferenceIds in complex constructs. 
  - Warnings are correctly propagated. 
  - BugFix: detecting constraint violations
  - BugFix: useValuesFromTriggerTime did not work correctly with event priorities.

Python Bindings:
  - Created SBW Python Bindings for Python 2.6.5 and 2.7
  - if the installer detects that either version is installed, the python bindings will be 
    installed and a start menu entry will be created

  - Added convenience function to easily replace names with CSymbols
  - Added convenience function to easily scan through parameters / compartments with 
    rules to set its constant flag false
  - added utility function to shorten variable names

  - BugFix: time exported as time symbol
  - BugFix: support all SBML constants
  - BugFix: support all inbuilt functions
  - BugFix: when an assignment rule is defined on a parameter, it will have its constant flag set to false
  - Support for SBML Level 3 event constructs. Event syntax now is: 
    [eventId:] at [ <delay expression> after ] <trigger expression> 
    		          [, t0=<bool> ] 									    // initial value 
    		          [, persistent=<bool> ]              // persistent
    		          [, fromTrigger=<bool> ]             // useValuesFromTriggerTime
    		          [, priority=<priority expression>]  // event priority
    		          : <list of event assignments>
            reset: at(lt(time,0.01)), fromTrigger=false: S1 = 0, S2 = 0, S3 = 0, S4 = 0; 
            E1: at(gt(time,1)): S1 = 1; 
            E1a: at(gt(time,1)), persistent=false: S1 = 1; 
            E1b: at(gt(time,1)): S1 = 1; 
            E2: at(gt(time,1)), priority=gt(time,1): S1 = 1; 
            E3: at(gt(time,1)), priority=gt(time,1), t0=false: S1 = 1; 
  - Undefined values: if parameters or compartment volumes are not defined, a warning will be issued
  - preserve indentation when using the kinetic law tool
  - save jan files by default
  - allow to change reversibility of reaction from kinetic law tool 

SBML Translator: 
  - UI Change: now the translator uses the SBW Menu and SBW Favorite bars as all other applications. 
  - BugFix: some translations were not displayed correctly, this has been corrected
  - UI Change: a monospace font is now used to display the translations.
  - UI Change: no more word wrap
  - UI Change: xml will be formatted properly
  - Copy now copies selected text. 

SBML Layout: 
  - Support for SBGN-ML 1.0
  - enhanced support for CellDesigner annotation
  - bug fix for Render Extension 
  - improved SBGN stylesheet

Simulation Tool: 
  - Structural Plugin: Display Matrices visually
  - Scan Plugin: Partially completed data will be returned
  - Modify Parameters Dialog: changes now refresh all simulations 
  - Modify Parameters: also save initial conditions
  - Script Plugin: added call plugin.ResetEngine() that resets the engine and so clears the scope from all variables
  - Modify Parameters: UI Change - no longer use datasets & tables instead just use grids (more performant + immediate update)
  - Modify Paraemters & Sliders: no longer allow editing of parameters that are controlled by rules
  - Signal Injection: Added custom function to list of available signals ... 
  - Signal Injection: the effect of multiple signals on one parameter can now be additive 
  - added handler for all uncaught exceptions: please let us know about them!
  - add Save/SaveAs functionality
  - enhanced capabilities of Options\Customize Graph: selection of multiple items, options to hide/show lines, symbols and labels for curves
  - allow to disable immediate calculation of new values from modify parameters/sliders/injection tool
  - created repository of plug-ins, and allow plug-ins to be installed / uninstalled / enabled / disabled from the Simulation Tool via Options\Manage Plug-ins
  - customize control can now modify the bounds of the x and y axis
  - tweaked curve smoothing, and added convenience function in customize menu, that enables curve smoothing. 
  - Tab view: remember last selected tab
  - time course plugin: when adding additional ouput elements perform reset before simulation. 
  - warnings from roadRunner are available in the status bar. 

JDesigner (2.2.59):
  - Species, reaction and compartments lists are now ordered alphabetically
  - The lists now respond to the keyboard and the relevant element is highlighted
  - Compartment volume edit box should now understand international notation.
  - Species and fluxes in the 'Output Edit Lists' are now sorted
  - Double clicking on species or fluxes selects them all in the 'Output Edit Lists'
  - The 'Select a Parameter to Scan' in steady state and time course are now sorted
  - Now displays the SBW version number in the about box
  - Ability to switch off automatic generation of regulatory arcs when entering rate laws
  - Ability to lock one or a selected set of species nodes (locks any associated aliases as well)
  - When loading experimental data, the individual data points are now shown
  - Finally fixed the odd behavior of the oval rectangle and resized
  - Added Reset All button that resets all specices concentrations to their values in the original model
JDesigner (2.2.60)
  - HTML viewer for some reason was disabled in version 59, now reenabled
JDesigner (2.2.61)
  - Hyperlinks on the HTML viewer were not working due to missing event handler.
JDesigner (2.2.62)
  - Paths in hyperlinks can be relative, eg "./Documents/readme.txt"
JDesigner (2.2.63)
  - Undo stopped working in JDesigner, now restored
  - Display HTML is selected is there is HTML to display rather than the HTML edit window
  - Thickedge for indicating boundary species now scales with zoom factor
  - Scroll bar on rate law selector window now takes priority over scoll bar on network window
  - Sliders can now have individual min and max values
  - Bug in output of 'Saved Parameters' where boundary nodes were miss-ordered is fixed
  - Selecting free format rate law then switching back to builtin and changing rate 
    constant caused access violation, now fixed.
  - Included experimental equation render under the view menu.
  - Rebuilt the menus with better icons
JDesigner (2.3.45)
  - Added rate law explorer in the reaction rate panel.  
  - Fixed bug in selecting effector in builtin rate laws
  - Display rate law in rate law explorer
  - Added edit graph and restyled the graphing window, plot lines are drawn using antialiasing
  - Added save windows metafile to graph saving (Load EMF file into Word to covert to PDF)
  - Redesigned the reaction editor panel:
  	- Now has collapsible panel to make more room for the rate law selection panel
    - Builtin rate law storage file updated with new kinetic equations
    - Rate law help system redesigned with new help material
    - Rate laws now rendered using Latex format
    - Properties added to rate laws to allow filtering of particular types
  - Added color setting for alias node indicator and changed style to thicker solid rectangle
  - Alphabetized model treeview
  - Update search window. No longer modal, items alphabetized.
  - Added option to select all alias nodes
  - Step forward and backwards through alias nodes
  - Display values check box in node properties is now saved with model
  - Unicode Bug in console window fixed
  - New help system builtin rate laws
  - Many new builtin rate laws added
  - Changing boundary and float status can now apply to multiple seleted nodes
  - Fixed bug in stoichiometry windows, now restores colors when closed
  - Fixed bug when reselecting a reaction with builtin inhibitor or activator
  - Changed occurances of 'Colour' to 'Color' to be consistent
  - Selected nodes and reactions do not appear selected in bitmap and EMF images
  - Scrolling through the file list view caused problems, now fixed.
  - Selecting the reactions property window with empty model caused unable to focus error, now fixed
  - Rate law lab now works if compartment symbols are used in the rate law.
JDesigner (2.3.46)
  - Fixed two bugs related to rate laws and parameters introduced in last revision.
 JDesigner (2.3.47)
  - Swapped equation image and parameter panel to cater for users with small monitors (so they can see the parameters!)
  - Fixed a bug introduced before when selected a rate law with modifier then selecting rate law without modifier
  - Saved models now store whether the reactions are labeled or not, in addition, the label font can be changed.
  - Added option to display reaction rates (fluxes) on the network diagram.

C# Inspector: 
  - image display for byte arrays working again
  - filtering of new modules working (it used to work only on the second time)
Added convenience program for converting SBML (installed in Utilities\Convert SBML)


What's new in Version 2.8.1

For details on many of these changes especially the distributed SBW, please email for more information. Or read more here

Jul 2010
Changes in Version 2.8.1 
	- Support for Level 3 features: 
			- changable stoichiometry via identified species references
			- support for conversion factors
	- BugFix: ensure that integrator output step size is set correctly
	- expose integrator settings: min stepsize, max stepsize and initial step size
	- provide access to additional timecourse and steady state values
Simulation Tool: 
	- Visual Pulse plugin: define pulses and signals graphically to interact with the model
	- Structural Plugin: bugfix: NR matrix was not displayed
	- introdoced Python Script Pluging
	- added general scan plugin
	- added gnuplot visualization
	- added Layout Plugin API that allows multiple window layouts
	- bugfixes and improvements to all plugin's 
  - Fixed international entry of volume sizes in compartments.
SBW C# Bindings: 
  - Added SBWFavorites: Now all SBW modules can have a favorites toolbar, for editing (script / visual based), simulating and translating sbml models
  - is used by Jarnac Lite, Simulation Tool, SBW Layout Tool, SBML Layout Viewer, Jacobian Viewer
  - Added explicit support for Broker functionality
  - Added SBWRegistry object for easy interogation and manipulation of SBW Registry
Jarnac Lite: 
  - won't be registered by default (can be registered through Edit menu)
  - has SBW menu / SBW Favorites
  - introduced Kinetic Law selector
  - introduced Jarnac Lite 2
Ontology Storage: 
  - provide programatic access to the BioModels Database
  - caches results locally
  - BioModels Importer takes use of it
SBML Layout Extension: 
  - improved support for CellDesigner Layout
  - initial support of libsbgn format	

Gillespie Simulator: 
  - separated functionality into C# library
  - library is available for use from the Simulation Tool

  - introduced command line utility for managing the SBW registry (written in C#, relying only on the SBW C# bindings)
  - can add modules / add services / unregister modules / unregister services

Added convenience command line tool to shut down all running brokers
Removed Frequency Analysis Tool, replaced link with the Simulation Tool  		  	

What's new in Version 2.8.0

For details on many of these changes especially the distributed SBW, please email for more information.

May 2010
Changes in Version 2.8.0 

  - Updated to work with Windows 7
  - Fixed a copy compartment bug when pasting models
  - Added Vertical gradient style for nodes
  - Fixed when when selecting metatool response: "No Conservation Cycles" 
  - Fixed use of assignment rules so that constants can be defined, eg
      k1 = 5.6
      Xo = Sin (time * k1)
  - Fixed Problem where Modifier arcs would be added, even though an alias node was set.
  - Update color scheme, now uses different default molecule and line color styles

SBML Support: 
 - previously roadRunner, jarnacLite and autoLayout would use their own custom SBML readers 
   with this release these utility functions have been bundled into SBMLSupport.dll and is 
   used by all Modules.  
 - now using libsbml 4, with major rewrites to most modules.
 - also supports the Parameterset Extension (with import of JD2 parameter sets)
Simulation Tool: 
 - allow to create new models (starts JarnacLite via File\New)
 - allow to save model with changed Parameters / Boundary Conditions (via File\SaveAs)
 - change naming scheme to: Simulation Tool:  in SBW Menu and Title bar, 
   for example: Simulation Tool: RoadRunner or if registered Simulation Tool: Jarnac ...
 - Steady State Panel: also display (reduced) jacobian ... 
 - read / write settings
 - changed display of coordinates in status bar
 - save PGF plot (File\Export Data) select output .tex (and have a file extension .tex)
 - updated pgfplots export, to include color, line styles, symbols and labels as given with CustomizePlot
 - introduced PlugIn API with first plugins for running SED-ML files and displaying structural matrices.  

Jarnac Lite / JarnacLite <-> SBML Converter
 - BugFix: a default compartment 'compartment' was created in all cases ... 
 - Now writing out L2V4 by default

SBML Layout Tool
 - library had problems with some invalid JD1 layout elements (such as BM13)
 - bugfix: now subcompartments as created with CD or JD can be displayed again
 - BugFix: comparison operators

SBW C# Bindings
 - added SBW menu class, that any .NET winforms app can use: 
   just have an instance of the SBWMenu in your form, and initialize it in the constructor with a given
   MenuItem / ToolStripMenuItem, module name and a delegate that returns a current SBML model: 
   SBWMenu = new SBWMenu(oSBWMenu, ModuleName, delegate { return _sSBML; });
   in the load method of the form call 
   and the SBW Menu will be populated with all SBW analyzers.

Gillespie DM
 - Updated Gillespie Simulator to use SBML Support module for performance increases
 - updated simulator to .NET 2.0
 - p.sim.eval () now excepts the simpler syntax, p.sim.eval (0, 10, 100). This will
   simulate from 0 to 10 in 100 steps and generate a matrix of all species levels 
   incuding the independent variable time as the first column

 - BugFix: RR now correctly distinguishes between events with useValuesFromTriggerTime=true and useValuesFromTriggerTime=false
 - BugFix: time dependent assignment rules had previously a slight error
 - BugFix: raterules now correctly handle hOSU flag ...
 - ReImplementation of delayed events, now the delayed time will be reached exactly ... 
 - ReImplementation of events, now validates against test suite ... 
Matlab Translator: 
	- BugFix for assignment rules
	- now also handles most SBML allowed functions, such as piecewise and the like
	- BugFix: boundary species are now correctly handled
	- improved performance

What's new in Version 2.7.10

For details on many of these changes especially the distributed SBW, please email for more information.

Aug 2009

Changes in Version 2.7.10 

Win Installer: 
 - reorganized start menu entries into categories to make modules more accessible:
 		- Analysis Tools (Frequency Analysis + Jacobian Viewer)
 		- DataBases      (import models from BioModels)
 		- Layout         (Auto Layout Generation, Layout Viewer (with SBGN stylesheet))
 		- Model Editors  (Jarnac, JarnacLite)
 		- Simulation     (Simulation Tool = RoadRunner simulator, and access to other SBW enabled Simulators)
 		- Translators    (SBML -> ANY)
 		- Utilities      (manually start / shutdown Broker, update SBW to the latest installation)

 - BugFix: some namespaces were not added by default. 
 - New Feature: allow to specify events and delayed events. The syntax would be: 
 	 at [  after ] ():  
 	 as in: at (geq(time,10)): S1 = 10; // assigns S1=10, when time >= 10
 	 or     at 10 after (geq(S1,10)): S2 = S2/2; // halfs S2, 10 seconds after S1 reached 10
 - New Feature: support for delayed events
 - BugFix: Event detection now much more stable
 - BugFix: Event detection now working for models without other dynamics (i.e reactions / rules)
SimDriver (aka Simulation Tool)
 - Display of discrete changes now much more smooth than before (no more jaggies!!)
 - BugFix: SBW Menu would not display multiple services with same name correctly
 - Added 'Reload', which performs a complete reset (i.e: even reverses parameter changes)
   This was needed as some model events would change parameters to such a level, that all 
   dynamics would disappear.

SBML Layout + Rendering Support: 
 - Improved support for the SBML Layout and Render Extension
 - added SBGN stylesheet, which can replace existing render information
   the style sheet will work based on SBO terms
SBW AutoLayout: 
 - added new mode to generate several EmptySet nodes, one for each missing reactant / product
 - all EmptySet / Source / Sink nodes will now have the SBO Term for Empty Set -> the models
   SBML Level and Version will be increased. If a model in an SBML Level / Version with support 
   for SBO is loaded the Level and Version will remain. 

Jarnac (2.29k)
 - Removed calculation of the K matrix due to issues with some models.

 - Regression: JDesigner now again produces an auto layout each time the layout button is pressed.

What's new in Version 2.7.9

For details on many of these changes especially the distributed SBW, please email for more information.

Mar 2009 

Changes in Version 2.7.9
- SBML Layout Support Module:
  	- BugFix: Invalid SBML would have been generated in case of  being present.

- SBML Layout Viewer
  - improved support for the EmlRender Extension: 
  	- Export of ArrowHeads
  	- BugFix: Linear Gradients (now with more than 2 gradientstops and any direction)
  	- BugFix: Interpretation of TextAnchors, now consistent with SVG export
 	- BugFix: JD2 import of reactions, with multiple product arcs to a single species
  - re-implemented UI to allow for panning ... 
- Gillespie Simulator: 
	- fixed time steps for SimulateOnGrid
- JarnacLite
  - fix generation of SBML, in some cases invalid SBML was generated. (More specifically, 
    an empty ListOfReactions was generated for models that don't have reactions, which is
    invalid SBML). 
  - Model will now be validated upon loading / pasting ... 
- RoadRunner
  - now supports explicit export of species in terms of amounts, for that surround the 
    species Id with angular brackets. 
  - fixed problems with events on non-floating species
  - fixed problems with ode rules on non-floating species
  - fixed problems with initial assignments
  - added API method to enable / disable conservation analysis conservation analysis based
    on stoichiometry is vital for steady state analysis, however sometimes the feature 
    interferes with events / ode rules and such ... 
  - fixed frequency Analysis functions
  - performance improvements
- Structural Analysis / LibStructural: 
	- BugFix: getFullyReducedStoichiometryMatrixLabels corrected

- JDesigner: 
	- BugFix: Invalid XML was generated if an ampersand was found in a hyperlink
	- BugFix: Invalid default Stoichiometry for uni-tri reactions
- C# Inspector:
	- Now Filtering methods instead of recoloring nodes
- SBML Support: 
	- BugFix: AddMissingModifiers added multiple modifiers, if they were referenced multiple times ... 
	- Allow to add EmptySet node to reactions without products or reactants
	- allow to add Source node to reactions without reactants & Sink Node to reactions without product
	- use libsbml 3.3.x
- AutoLayout
	- Expose Locking of nodes to SBW API
	- optionally generate Layout with Source/Sink or EmptySet node
	- performance improvements
- Simulation Tool (a.k.a SimDriverNET)
	- streamlined UI
	- add support for frequency analysis from within the Simulation Tool supporting all features, i.e. sliders, printing, export
	- added support for sliders /printing to SteadyState, Pulse vs. Species and Parameter Pulse / Scan
- Installer
	- now installing VS2008 SP1 Visual C/C++ Runtime    
	- new structure of the Installation, installing each component as package


What's new in Version 2.7.8

For details on many of these changes especially the distributed SBW, please email for more information.

Aug 2008 

Changes in Version 2.7.8

- Conservation Analysis
	- rewrote conservation analysis tool, yielding better performance and reliability

- CLAPACK module
	- rewrote CLAPACK module for better performance and reliability

- C# Inspector
	- allow entering complex arrays specifying complex numbers by using the format:
		'('  '+'  ')'
	- improvements with exception routing and optimization of UI

- StructAnalysis UI
	- minor fixes for dealing with invalid SBML

- Jarnac
   - Fixed Region handling of numbers
   - Allow loading of SBML directly into editor with auto translation to Jarnac.
   - Added slice(matrix, lowerIndex, UpperIndex) function to make it easly to extact rows from a matrix.
   - Added timeSlice(m, lowerTime, upperTime) function, this was added to support the new stochastic simulation functions and enables
     a user to extract data from a stochastic simulation between two time points. The data should be generated from
     any of the gillXXX simulation calls. The function assume that first column of the data is the time variable.
   - Added a number of new functions to call the GillDM module in SBW. This permits
   - access to a must faster and fully tested stochastic simulator, new methods include:
      gillLoadSBML (sbmlstr) : eg gillLoadSBML (p.xml)
      gillSimulate (startTime, endTime, periodSize) : set period seize to one to get all data
      gillSimulateOnGrid (startTime, endTime. gridSize)
      gillSimulateMeanOnGrid (startTime, endTime, gridSize, populationSize) : simulates a population of
      runs on a grid and returns the mean trajectory.
      gillSimulateMeanAndSDOnGrid (startTime, endTime, gridSize, populationSize) : same as previous one except
      it also returns the standard deviation over time for each species.
      setSeed (seed) : set the random number seed, allows runs to be repeated exactly. (seed should be an integer value).
   -  Fixed bug in accessing SBW menu.
   - Added pdf(m) function. This will compute the probability density function for the vector of data supplied in the function.
   - Added graphHist(m) This is the same as graph but instead plots a histogram rather than a line graph.
- JDesigner
   - Fixed Region handling of numbers
   - Minor fixes to managing model notes

- RoadRunner
   - fix problem with rate rules on parameters if no species are present
	 - change not only roadRunners culture settings but NumberFormat 
	   as well to accomodate regional changes. 
	 - Uses new structural library and libsbml C# bindings   
	 - support SBML contraints 
	 - support SBML Initial Assignments
	 - support StoichiometryMath

- JarnacLite / JarnacLiteConsole
	 - change not only roadRunners culture settings but NumberFormat 
	   as well to accomodate regional changes.    
	 - fixed error where jarnac lite would interpret some species as parameters
	 - uses new libsbml c# bindings
	 - experimental syntax highlighting
	 - display line numbers
	 - allow errors to be highlighted

- SBMLSupport (aka NOM / NOMClipboard)
	 - fix problem in addMissingModifiers for models with reactions but no kinetic laws
	 - getNthListOfProducts / Reactants now return stoichiometryMath if set
	 - added several functions to quickly navigate through reactions
	 	- {} getNthReactionInfo(int)
	 		Returns all information associated with the given reaction index. Format: 
	 		list { 
	 			string id, string name, bool isReversible, string rateLaw, 
	 			list reactants  {string species, double stiochiometry, string stoichiometryMath}, 
	 			list products   {string species, double stiochiometry, string stoichiometryMath}, 
	 			list modifiers  {string species}, 
	 			list parameters {string name, double value} 
	 		- {} getListOfReactionInfo()
	 			Returns all reactions in reaction info format. Format: 
	 			list { 
			 		list { 
			 			string id, string name, bool isReversible, string rateLaw, 
			 			list reactants  {string species, double stiochiometry, string stoichiometryMath}, 
			 			list products   {string species, double stiochiometry, string stoichiometryMath}, 
			 			list modifiers  {string species}, 
			 			list parameters {string name, double value} 
	 		- int getNumConstraints()

          Returns the number of constraints defined in the model

	 		- int getNumInitialAssignments()

          Returns the number of initial assignments defined in the model.

	 		- {} getNthConstraint(int)

          Returns a list of the boolean expression and the message to be printed in case the boolean expression is false. Argument is the index for the constraint.

	 		- string getNthInitialAssignment()

          Returns the initial assignment for the index provided, it is defined in the form 'symbol = math expression'

	 		- {} getListOfConstraints()

          Returns the list of lists of all constraints given in the model (see also getNthConstraint)

	 		- {} getListOfInitialAssignments()

          Returns the list of all initial assignments (see also getNthInitialAssignment)

- SBML Layout Support: 
	Now also export EML Render Extension when using the SBW menu

What's new in Version 2.7.7

For details on many of these changes especially the distributed SBW, please email for more information.

Apr 2008

Changes in Version 2.7.7

- Installer
  - set working directory for shortcuts

- Jarnac
  - replaced CVODE dll
  - Relaxed restriction on Gillespie to use arbitrary rate laws

- RoadRunner
  - fixed bug in event interpretation
  - performance optimizations
- SimDriver 
  - added pulse and scan capabilities
  - fixed plotting to smooth lines
  - added anti-aliasing
  - added wait cursors

- SBML Support
  - updated to latest version of libsbml (3.1)
  - exposed getDerivedUnitDefinition
  - also accept models without <xml? ... preamble for hightened backwards compatibility

- SBML Layout
  - support EML render extension proposal
  - updeted SVG export to include rendering of it
- Auto Layout Module
  - bugfixes


What's new in Version 2.7.6

For details on many of these changes especially the distributed SBW, please email for more information.

Oct 2007

New Modules in 2.7.6
- Jacobian Viewer
  - visualizes the Jacobian during a time-course simulation
- BioModels Importer
  - Import models from Biomodels.NET and analyze them within SBW
Changes in Version 2.7.6

- SBML Translators
  - the Matlab / Mathematica / XPP translator have been updated to resolve an issue with
    some SBML Id's ... also fractional stoichiometries are now taken into account
  - the XPP translator now also contains compartment definitions
  - added C / C# / Java / MathematicaTranslators ... feedback welcome

- StructAnalysis
  - The structural analysis tool has been updated to resolve issues with ID / names and
    uses a slightly altered way of using

- SBW Broker
	- the broker has been updated with respect to the notification behavior upon shutdown, 
	  this should resolve problems where the broker would not shutdown properly. 

- MatlabTranslator
	- updated MatlabTranslator, so that it would always print compartment initializations.

- NOM / NOMClipboard
	- updated libsbml3
	- takes care of the time symbol when calling getParamPromotedSBML
	- added a function to convert sbml into other levels and versions
		string convertSBML(string sModel, int nLevel, int nVersion)

- C# Inspector
	- Optimized updating of modules, services and registry
	- using the delete key finally also unregisteres modules.
	- double click now starts selected module
	- methods can be filtered by typing in known parts of the signature ... 

- JarnacLite
	- fixed problem with assignment rules
	- allow console font to be changed
- SBML Layout support
	- fixed crash when loading a model with EML render extension

- JDesiger
  - Autmatically added regulatory edges to SBML models with list of modifiers
  - Made biospice work again
  - Automatically adds regulatory links to the reaction when modifying the rate laws.
  - Screen correctly refreshed when receving model from another SBW module
  - Waste nodes now correctly laid out when receiving models.
  - Exporting images at different magnifications improved.
- Jarnac
  - updated CVODE to current version
  - Disabled some unused lagacy functionality
  - Permit the font size in the sript editor to be changed.
- FreqGUI
  - Added ability to load SBMLs from the application itself
  - Now loads global parameters rather than local parameters

- roadRunner
	- resolved issues when re-loading a model
  - updated CVODE to current version
  - fixed problems with absolute errors
  - Make sure to return valid error messages for all SBW methods
  - added support for ode rules on all model elements
  - resolved issue with conservation laws interfering with rules
- Simulation Tool
  - Display all errors during loading of models ... 
  - updated zedgraph to its latest version, 
  - changed slider behavior, now refresh forced and simulator set to initial conditions
  - in continuous timecourse simulation, y axis can be fixed
  - added option to vary a species, while looking at how this changes selected rates ... 
  - integrated sliders to work with the rates vs. species feature
Changes in Version 2.7.5
Aug 2007

- Jarnac
   - Fixed missing search feature from Jarnac editor
   - Harmonising use of cvode between Jarnac and roadRunner
   - added SBW menu, run a model first, then select the module it will be sent to ... 
   - Fixed parameter error in SBML generation

- JDesigner
   - Background colour is now transparent when saving image in png format.
- JarnacLite
	 - Fixed bug with merging annotations
	 - Fixed UI glitches
- SimDriver
	 - Support MCA, as provided by some simulators, 
	 	 Options \ Steady State ...
	 - Displays all symbols provided by a simulator
	 - Slider Tree Window, changes parameters on the fly
	 	 Options \ Sliders
	 - made continuous time course simulations more 
- SBML Layout Viewer 
   - save also as transparent PNG	
- SBML Translator GUI
	 - Fixed UI glitches
- roadRunner
	 - fixed updating of internal values
   - added many new methods, that make it easier to access the 
     symbols of a computation: 
     {} getAvailableSymbols()
     Returns symbols of the currently loaded model, that can be used for the 
     selectionlist format array of arrays { { "groupname", { "item1", "item2" 
     ... } } }.

	 	 {} getSelectionList()
     Returns the currently selected columns that will be returned by calls to 
     simulate() or simulateEx(,,).

		 void setSelectionList({})
     Set the columns to be returned by simulate() or simulateEx(), valid symbol 
     names include time, species names, , volume, reaction rates and rates of 
     change (speciesName')
		 {} getAvailableSteadyStateSymbols()
		 Returns symbols of the currently loaded model, that can be used for steady 
		 state analysis. Format: array of arrays { { "groupname", { "item1", "item2" 
		 ... } } } or { { "groupname", { "subgroup", { "item1" ... } } } }.

		 {} getSteadyStateSelectionList()
		 Returns the selection list as returned by computeSteadyStateValues().

		 void setSteadyStateSelectionList({})
		 sets the selection list as returned by computeSteadyStateValues().

		 double[] computeSteadyStateValues()
		 performs steady state analysis, returning values as given by 

		 double[] computeSteadyStateValues({})
		 performs steady state analysis, returning values as specified by the given 
		 selection list.

		 double computeSteadyStateValue(string)
		 Returns the value of the given steady state identifier.

		 double[] getSelectedValues()
		 Returns the values selected with setSelectionList() for the current model 
		 time / timestep

Changes in Version 2.7.4
Jul 2007

- JDesigner
   - Now recognises the delay function in SBML
   - Changed some error messages to make them clearer

- JarnacLite
   - now accepts delay symbol
- SBW C# bindings 
   - resolved problems with Unicode strings   

- Java bindings
   - resolved problems with Windows Vista
   - debug version working again

- Matlab Translator (java)
   - working again, even under Vista

Changes in Version 2.7.3
Jul 2007
- SBW C# bindings
  - it turned out the C# bindings were not working correctly under Win2k, 
    this has been fixed
- Python bindings for Python 2.5 are now included

Changes in Version 2.7.x
Jul 2007
- Jarnac
  - use of release version of CVODE (until now it was debug)
- NOM	
	- the NOM now provides annotation and notes to all named sbml elements
	- added function to set the ModelID
- JarnacLite
	- JarnacLite now preserves annotations / notes on all supported elements
- SBMLLayoutViewer
	- bug fix: the layout reader crashed on currupt model annotation, now fixed


What's new in Version 2.7.1

For details on many of these changes especially the distributed SBW, please email for more information.

Changes in Version 2.7.1
May 2006

- JDesigner
		- Changed JDesigner SBW menu so that the level of SBML passed to the third-party
		  application reflects the choice of level set in the preferences dialog. This means
		  that one can now seamlessly call the stochastic simulator Dizzy from JDesigner (assuming
		  the stochastic toolbar button is also selected).
		- Fixed stoichiometry analysis not highlighting nodes.
		- Fixed Metatool Support (required switch to Level 2 SBML)
		- Fixed problem when editing text which had a large font size
		- Fixed problem when selecting a Box and the canvas was panned (selection was off).
		- Fixed problem when user right-clicked over a non-selected regulatory edge.
		- Modified SBML Level 1 generation to be compliant with Version 2
- Jarnac
    - Jarnac no longer complains when user requests SBML level 1
    - Added email feedback menu item
    - Added new simulation method to make it easier to perform quick simulations:
    					m = p.sim.eval (timeEnd, numberOfPoints);
    					graph (m);
    	The above statement will return the time evolution for all species in the model, 
    	with the first column of the returned matrix, m, containing the time variable.
    - Fixed error when using lists in user defined functions
- FORTRAN Translator
    - Fixed FORTRAN translator to match new libSBML
- TranslateToAny
    - Added a new module to SBW that permits any SBW module access to a SBML translator GUI.

- SBML Support Module
    - Now working with libsbml3, enabling applications to take advantage of the unit checking framework. 
More bug fixes and enhancements made to out other modules, especially roadRunner, JarnacLite, Inspector, 
autolayout module and sbml layout support. 

Changes in Version 2.6.0
- SBW Python Bindings
  - added support for one-dimensional string arrays ...

  - 'time' will now be handled as the C-Symbol time
  - distinguishes between initialAmount and initialConcentrations
  - convenience methods to return ListOf rectants / products / modifiers for a reaction

- JarnacLite
  - added search support
  - serves now also as SBML -> Jarnac translator (as available in JDesigner)

- XPP / Matlab SBML Translators
  - Bug fixes regarding to multi compartmental models

- Layout
  - Improvements to the AutoLayout algorithm, revised user interface
  - bug fix in SBW / SBML Layout Module ...

- roadRunner
  - piecewise function now handled correctly thanks to Bill Denny for pointing this out
  - steady state analysis revised, is now more stable

- JDesigner 2
  - Global parameters were not being deleted when a reaction was removed.
  - Fixed one annoying problem with Jarnac script generation
  - Fixed invalid focus window bug when closing reaction window
  - Fixed problem when loading models with non-default reaction names. This bug
    would cause non-referenced parameters to appear in the parameter list.
  - Added new functionality to associate multiple parameter sets with a given model.
  - Deleting parameters in multiply rates laws and reloading the model caused problems.
  - Changing a node to boundary staus with alias nodes in the model caused node changes when loaded.
  - SBML Notes in listofrules caused problems
  - Selection rectangle not quite right when zoomed out very far
  - Now accepts NaN values in sbml
  - Entering 'N' in a user defined rate equation would tricker the add node button, this has been removed
  - Added more alignment tools and made the existing ones work more sensibly
  - Hold down Ctrl and use wheel mnouse to zoom in and out
  - Compartment names now optionally written on the compartment.
  - User defined functions and assignments function support has been added to the view menu (compatible with copasi).
  - Current species concentrations (which could be the initial conditions) are also saved in the parameter file.
  - The Tab on model notes has been restored to the display tab.
  - F5 (fit image to screen) now resets the scroll bars to zero
  - Added basic alignment to regulatory edges, right-click over selected edge handle
  - Do no write out empty user defined functions

- Jarnac 2.23g
  - Enforce var declarations if var is used.
  - Fixed initilization problem with importing SBML models with compartments (finally)
  - Fixed some annoying bugs with the history feature in the console.
  - Switched to Delphi 2006 as dev environment
  - bug in syntax parsing when declaring external species with compartment, eg Xo in comp, X1 in comp failed to parse;
  - If the right-hand side of a rule is empty, it is assigned a value od zero.
  - Fixd error with computing square root of expressions like, (-2)^2

With this version we release a new test module installed as C# Inspector. This module,
similar to it's Win32 counterpart allows to start all registered modules / services /
methods available on a machine. The new program is completely threaded and so will allow
to cancel longer taking operations. Thanks to Andy Somogyi for the initial implementation.

Changes in Version 2.5.5

- Fixed a problem with reading commpartment information from SBML (read via SBW interface)
- Fixed a memory leak in the Gillespie method
- Better error messages when a SBML model fails to load

.NET SimDriver:
 - output species in order of simulator
 - different Dialog for Errors
 - different dialog for changing simulators
 - modified graphplotting

C# Bindings:
 - using different connection procedure ...

Python Bindings:
	- support for Booleans added
	- note this will work only for Python > 2.2

Strurctual Analysis Module
- New version is 1.06
- Functionality added to perform structural analysis using LU decompisition with full pivoting.
- Exception handling for networks without any species

- New method added to compute LU decomposition using full pivoting (getLUWithFullPivoting)

- Emery Conrad's modifications for dependent species.
- New version is 1.04

- Replaced eigenvalue IMSL library call with LAPACK call (Much more stable)

- fixed compartment problem when reading sbml without layout (bug introduced in previous versions)
- When selecting free format rate expression, the current builtin is copied over to the edit box
- An annoying can't focus message bug fixed.
- SBW menu is now sorted alphabetically
- File reopen list deletes any files which no longer exist
- Selecting nodes at high zoom levels didn't scale, now fixed
- Changing a compartment size did not propagate to the simulation until a save and reload
- Saving species notes did not replace existing notes but added to them in the sbml file 

- Upgraded libsbml ... convertion of SBML level 2 to level 1 does no longer clear initialAmount
- Added getNthRuleType()
- Added facility to time method calls
- updated to newer LibSBML version
- Fixed memory leak and exception handling
New Models
- Added some new models to the example models that come with JDesigner
Changes in Version 2.5.0

SBW C# core:
- native C# version
SBW C++ core:
- fixed bug in category treatment
- fixed bug in auto-registration
- several optimizations
.NET SimDriver
- new version supporting steady state and continuous timecourse simulations
- Splash screen now centered on one screen when used with dual monitors
- Fix a number of bugs in the slider controller and define sliders dialog
- Installation now stores models in user My Documents
- SBW API Modified to conform to Simulation API
- Installation now stores models in user My Documents
- New methods added to NOM to conform to SBML Level 2
- Model validation carried out by the NOM, exception in the event of error
General bug fixes to Inspector and Frequency tool		  

Changes in Version 2.4.0

- Removed MDI Interface, JDesigner API now compatible with SBW stimulation API
- Better error reporting when SBW method cannot be located.

- Changed aim API to be in line with SBW simulation API

SBW CPP Core & Broker:
- bugfix DataBlockWriter ... adding of empty 2d arrays of type **
now throws proper exception
- optimized internal message calls

- Fixed a bug when users tried to export a model but the translator crashes.
- Experimental Version 2.0 of JDesigner available at
- No changes
- Internal changes to reduce message traffic

New Modules with this Release

- SBW wrapper for some functions in LAPACK
- SBW Module that computes structure metrics for reaction networks, including
stoichiometry matrix, conservation attributes, flux attributes.
- SBML to XPPTranslator. Generates reduced model according to the number of conservation laws. Critical
for any analysis that requires a non-singular Jacobian.
- Used by Oscill8 Bifurcation tool from Emery Conrad.

Changes in Version 2.3.1a

SimDriver Module:
- minor visual changes,

SBW C# interface:
- bugfix in Exception propagation
- bugfix in Memory Management in PInvoke to SBW Dlls
- bugfix of CallingConventions

Changes in Version 2.3.1

SimDriver Module:
- added checkboxes to add all or remove all species from the
list of variables to plot

SBW Matlab Translator:
- added support for pow(x,y) functions

- Added new splash screens and about box
- Increased font size on model summary window

Jarnac (2.16g)
- Updated integrator to latest CVODE 2.3 (Thanks to Christophe Chassagnole for his help)
- Added new integrator options in the sim object (maxsteps and maxorder)
- Made CVODE the default integrator
- Changed slash and about screens

Changes in Version 2.3.0

Python SBW bindings
- the installer will now install the python bindings iff
- python 2.4.x with numpy (
- python 2.3.x with numpy ( or
- python 2.2.x with numpy (
is installed
- the python bindings have been rewritten to be more stable

- now working with Windows Server 2003

- changed to Sundials default CVode integrator (lsoda still available)

- modified SBML export to make the files fully compliant with validating
- lot of small changes that improve usability

SimDriver Module:
- since the existing Java SimDriver module (used as Jarnac frontend in CD)
was written a long time ago, it seems to fall over after a couple of runs.
- this installation includes a C# Version that contains the same functionality
- the .NET Framework 1.1 has to be installed for this to work it can be
downloaded at:

Changes in Version 2.1.0


- interoperability with other Brokers on the same host possible
- changed linkBroker() handling so that it is possible to specify
the port to connect to. e.g.: localhost:10301
- registry now uses the same code for all platforms
- XML is properly formated

- modules are now allowed to run on a remote broker. (use ModuleImpl::runOnHost(char* host));
- modules can connect to remote brokers (use SBW::connect(char* host))


Fixed a problem with the eigenvalue determination when matrix contained NAN values

Added better error messages when parsing ill-formed rate laws

Fixed a rare parse error, would issue an error message for things like a+-b, a++b etc., it was
necessary to correctly this because libSBML tends to generate this kind of infix.

Changes in Version 2.0.1


- added GDIPLUS.DLL for Win2k


- small fixes on multi-threading issues


- changed problems with edu.caltech.NOM so that the following methods work again:

string[] getBuiltinFunctions()
string[] getBuiltinFunctionInfo(string)

in the previous versions these functions just returned integers and thus would
not work correctly

re-added java modules from 1.0.5:

- SimDriver (with fix from Stephen Ramsey)
- plot (plot module needed by SimDriver)
- edu.caltech.MatlabTranslator (to convert models to Matlab/Simulink)

Version 2.0.0

Version 2.0.0 of SBW constitutes a number of significant changes over the previous version. It is however, fully backward compatible with version 1.0. Details of changes are given below:

1. The Broker has been rewritten in C++. The original version was written in Java. There were a number of reasons for this change:

a) Reduce the memory footprint. The Broker is only a small component of SBW, and yet consumed a disproportionate amount of  memory due to it's reliance on Java, changing to C++ resulted in a considerable reduction in memory usage.

b) Portability to other systems was an issue, particularly Linux cluster machines. The Broker code is fully compliant with GCC 3.3 and should run on most machines.

2. The Broker has now been fully tested on Linux and Mac OS including support for distributed functionality.

3. Distributed programming with SBW has changed with version 2.0.0, we think it is now much easier to use. The inspector module has been updated to reflect these changes and remote access is now possible from the Inspector. In order to access remote machines using version 1.0 of SBW, it was required to set up a ssh connection. In addition remote access was only one way, it was not possible to access Brokers on Windows machines from Linux. Max OS had not support in version 1.0. The requirement for ssh has been removed and remote access is available from all three major platforms (Windows, Mac and Linux) from any direction, however to ensure security a number of restrictions have been added: a) Certain Broker methods are now classed as privileged and can only be executed from the host machine b) Only registered modules can be started on a remote broker. We envisage that remote access functionality would be used for applications which would naturally be continuously online, eg databases and high speed simulation resources.

4. A new data type has been added to the message stream, this type is the complex number. It is now possible for example to have arrays and lists of complex numbers.

5. Updates to all binding libraries to accommodate complex number support.

6. Addition of two new binding libraries: Matlab and .NET. The .NET bindings permit SBW modules to be developed in any .NET language, in particular this includes C# and Visual Basic. Although not yet tested, the intention is that the .NET bindings should work under the open-source version of .NET, mono. The Matlab bindings permit users to either call Matlab functions from SBW modules or for Matlab users to call SBW functions from Matlab (The Matlab bindings were developed by Cameron Wellock).

7. A number of additional methods have been added to the Broker, see screen shot below. Help has now also been added to the Broker methods.

8. Bug fixes to the Broker and modules.

9. Updates to the developer documentation.

Broker Method List:

9 Future changes to the Broker:

a) Automatic compression of data streams when passing large data blocks from module to module.

b) Web Services Module


    Home  |   About Us  |   Contact Us  |   Statistics