This work is funded by the generous support of the NIH/NIGMS grant: GM081070

What is it?

PathwayDesigner is a visual tool for drawing and simulating reaction networks.

Latest Stable Version 4.4.0 (23 February 2019):

Download Installer

Full details of changes can be found at the end of this page.

Introductory Video on using PathwayDesigner

Start of the new 4.3 series.

4.3.0 Introduces for the first time the ability to handle SBML events.

Events are instantaneous changes that occur in a model. These changes may occur at specific time points or when the level of a species has reached a particular value. To give a concrete example, assume that glucose is a boundary species and a step increase in glucose of 5 mM is administered at time = 20 seconds. An event can be set up that checks when time equals or exceeds 20 seconds and when it does the glucose level is increased by 5 mM. In pseudocode code this would be implemented as:

at time >= 20 do

glucose = glucose + 5

A video showing how events are used will be uploaded soon. In the meantime look at the menu item view->List of Events

4.4.0 (January 10, 2018) New changes:

4.4.0 (Feb 2019) Fix some issues with setting default styles

4.3.9 (Feb, 2019) New changes:

4.3.8 (Apr 2018) Added a more flexible color selector to the molecular designer form.

4.3.8 (January 10, 2018) New changes:

    1. New plugin that supports elementary modes and other structural analysis calculations
    2. Additional node caption positions: Left and Right of node.
    3. Reaction labels are now draggable in order to change its position and the font style can now be changed.
    4. The gap distance between a node and a reaction edge can now be changed by the user.
    5. Improved file browser

4.3.5 (Aug 29, 2017) Added a warning if the user changes a node name but doesn’t change the corresponding reaction rate law.

4.3.4 (July 15th, 2016) There was a memory error when selecting a rate law, was introduced in the last release candidate, fixed in this version. Three visual styles supplied to support new color styling feature: Titanium, Orange and Default. Access vis Edit->Pick a color style

4.3.3 New plugin to compute splines curves for discrete data. Useful for attaching a trend in an outside variable into the model. Eg sunlight variability fed into a photosynthesis model or a particular drug regime profile. Fixed a long-standing bug in double click response, double click on a reaction is not certain to work. Fix introduced bug in expression parsing related to division, fixed in this

release candidate. Added quick buttons on a right-hand panel to bring up simulation and output panels. Fix issue with saving default font size fo nodes. Improved font support for compartments.

4.3.2 Unicode bug in saving parameter sets fixed. Updates to the event and assignments dialog forms. Added some help text to the events and assignments forms.

4.3.1 Improved forms for specifying events (gives access to current symbols). Added ability to accept or not accept new left-hand variables in the assignment form.


  • Draw reactants, products, connecting reactions, compartments and the ’empty’ or ‘null’ reactant or product
  • Support floating and boundary species
  • Supports alias nodes to avoid clutter
  • Select rate laws from a database or enter your own
  • Interactive rate law explorer
  • Supports undo
  • Full set of alignment functions including grid
  • Grid and snap to grid
  • Reactions can be displayed using Beziers, straight lines, or segmented lines
  • Full control over reaction colors, thickness and arrow style
  • Full control over species interior and border colors and thickness
  • Select various gradient styles, change positions of caption and font
  • Change styles for alias and boundary species
  • Species style editor to draw multimer and covalent modification styles
  • Displays modifiers (regulators) either automatically or as pure decoration
  • Decorate the network with text and shapes
  • Import and export standard SBML
  • Export the models in the form of Matlab
  • Export the network diagram in bitmap, tikz, pdf, SVG or windows metafile
  • Zoom in/out
  • Edit global parameters
  • Add assignment rules
  • Add user-defined functions
  • Manage multiple parameter sets for a single model
  • View model equations
  • Support time course simulation
  • Interfaces to high-speed libRoadRunner simulator backend
  • Support steady-state simulation
  • Provide graphical and tabular output
  • Plugin support
  • Steady state analysis plugin
  • Parameter scan plugin
  • Arrow tip designer plugin
  • Interactive slider plugin
  • Interface to other SBW and SBW modules.

Some Statistics on the Application:

Number of lines of code (not including comments or third-party components): 97,995

Number of source code files: 170

Number third-party components: 9 which include:

1) libSBML for SBML support

2) MimeTex for rendering equations

3) ColorPicker and ColSel controls for color selection

4) htmlite for HTML rendering

5) ShellTree for viewing directories

6) AlignGrid: Enhanced grid control


Licensed under the Apache License, Version 2.0 (the “License”); you may not use this source code except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

In plain English this means:

You CAN freely download and use this software, in whole or in part, for personal or commercial purposes without restriction.

You CAN use the software in packages or distributions that you create.

You SHOULD include a copy of the license in any redistribution you may make;

You are NOT required include the source of software or any modifications you may have made to it, in any redistribution you assemble.

YOU CANNOT: redistribute any piece of this software without proper attribution

List of changes to version 4.2.13 (most recent stable version):

4.2.0 Some big changes to this version. For the first time, it is now possible to have as many reactants and products in a reaction.

Some other minor changes: 1) Set arrowheads visible/invisible 2) Set arrowhead outline color; 3) New plugins, MCA, Slider, and arrow tip designer plugins.

4.2.1 Fixed bug when loading text objects. Fixed url links in notes, added helper buttons to notes by adding a paragraph, images (with sizing options), files and web links. HTML syntax is now more strictly enforced because the system XML loader is strict and will not tolerate for example missing closing paragraph tags. When creating an alias, selection not moves to the newly created alias. Spruced up the compartment properties panel.

4.2.2 Added ability to specify relative or absolute paths when setting up model documentation.

4.2.3 Updated installer because it failed to copy svg support to the host computer.

4.2.4 pgf2svg is buggy on windows, doesn’t appear to work on all machines. Remove it and now using an alternative solution to supporting SVGT export.

4.2.5 Fixed loading font details for node text, save font color for display text, fixed mouse mishit on text for magnified canvas. Fixed introduced bug which prevented windows positions from being saved and restored.

4.2.6 Added new symbols such as a hexagon, triangle etc. Added quick change to symbol shape in the node properties form. Updated the molecule designer to include new symbols. Added new boundary condition style, double line around the shape, See image below.

4.2.7 Three bug fixes and one enhancement. Fix the moving compartment label (bug introduced in a previous version), Changing a species name now results in all rate laws being checked for that species and offering user to update all rate laws using the new name, Editing text objects in zoom mode and where the origin changed didn’t properly taking this into account, how fixed. Finally an enhancement. The node popup menu has a new item, ‘Convert to empty node’. This makes it easy to convert existing nodes into the empty or null node symbol.

4.2.8 Added ability to change one or more nodes to the default node style. Access this from the right-click popup when over a node. Tidied up the molecular design window. Started to add support to manage SBML events. Some internal refactoring of default value handling. Added preference in preference window to switch on and off the popup that asked if you want the rate laws changed when a node name is changed.

4.2.9 Output list no longer forgotten if time course or steady state window closed. Also, the output selection lists are now stored with the model so that reloading the model recovers the original output selection list. A bug was identified in compartment modeling. The new simulation backend requires an explicit statement on whether the selection list includes concentrations or amounts, ie [X] or X. Same goes for setting initial conditions. This bug resulted in incorrect compartmental calculations. This has been fixed in this release.

4.2.10 Fixed minor issue with text objects on the drawing canvas (edit box not properly resized) and a big introduced in 4.2.9 which resulted in initial values being corrupted when reset button is clicked.

4.2.11 display names checkbox was only working with the first node, now works with selected nodes. Reading UTF-8 files from biomodels was causing problems in some cases. Now reads UTF-8 correctly.

4.2.12 SVG output now sizes to the extent of the model on screen.

4.2.13 Finally tracked down a mysterious memory bug, now fixed. Rate of changes when there are conserved moieties wasn’t working correctly. Bug present in libroadrunner, but found a workaround. Fixed a problem with reporting incorrect number of errors from libsbml. Fixes a large number of annoying bugs, redesigns the way the styles for nodes and reactions are handled, restyled the toolbar and made sure the plugins work in the 4.x series and a host of other improvements.

4.1.2 (Oct 15, 2015)

– Redesigned interface for editing species and reactions

– Added set to default visual style for species and reactions

– Updated parameter scan plugin, now orders lists of parameters and species etc

– Fixed resetting of what to plot when users switches from builtin to free format rate laws

– Restyled toolbar

– Internal changes for future Mac port

Beta Version of PathwayDesigner 4.1.3 – RC-1 (Nov 6, 2015)

– Allows users to incude reactions with any number of reactans and products

– Save default molecule style now saves caption visibility

– Added ability to set arrow heads visible or invisible

– Added ability to set the arrow head outline color

– Bug in libRoadRunner binding for computing Jacobian fixed

– New plugins:

– Metabolic Control Analysis plugin

– Slider plugin

– Arrow Tip Designer plugin

Change Log for previous versions

October 4, 2015

PathwayDesigner 4.1.1


– Fixed some issues with exporting images from pathwayDesigner

– Added PDF export of networks

– If inkscape is installed networks can also be exported as SVG

– Fixed problem with setting edge and arrow colors.

– Now imports Level 3 SBML

October 2, 2015
PathwayDesigner 4.0.7
- Left in some debug code which prevented solver configuration from working

October 1, 2015

PathwayDesigner 4.0.6


– Updated libRoadRunner to 1.3.32 (fixes issues with boolean expressions)

– Allow user to change integrator, supports CVODE, RK$ and Gillespie (See Prefs window under File)

September 2015

PathwayDesigner 4.0.5


– Fixed can’t focus window when selecting compartment properties

– Update to Matlab export, removed some functions, redesigned boolean functions

– Released with latest libRoadRunner (1.3.27) that allows boolean expressions to return values

– Fixed bug that resets reaction line thickness to 2 when bringing up edge properties

PathwayDesigner 4.0.4


– Fixes issue that arose with new compiler, prevented freee format expressions from being entered

– Fix issue with text labels, again due to update to new compiler.

– First release of Matlab export support

PathwayDesigner 4.0.3


– Was insisting on checking for rate law changes even if a species wasn’t even

associated with a rate law.

– With the move to SBML Level 3, use of boolean functions is much more strict, in

order to get round the restrictions we relax the Boolean constraints in libSBML.

Ie functions like gt (a, b) not return zero or one and this can be mixed with

normal expressions. Once Level 3/2 is released, this will be the normal behavior.

– Bad variable naming in one of the functions caused a component ‘name’ to be

renamed to an illegal string.

– Update to libRoadRunner 1.3.26 – supplied by Kyle Medley

PathwayDesigner 4.0.0, 4.0.1, 4.0.2


Internal fixes, not released.