soslibPy: Python Wrappers for the SBML ODE Solver Library

Download Windows installer for soslibPy (setup_soslib.exe)

** Update (7-28-09): soslibPy has been repackaged in a new installer (follow the link above) that makes it easier to run the examples. The readme and tutorial have not been updated accordingly so I’ll give you brief instructions here. Open up a command prompt (go to Start –> All Programs –> Accessories –> Command Prompt) and change the directory to your soslibPy installation directory. By default, setup_soslib.exe installs to ‘c:\Program Files\soslib\’. In the command prompt, go to this directory by typing ‘cd c:\Program Files\soslib’. Then, you may run a very basic example by typing ‘runSoslibExample’. This prints 10 integration steps for a very simple ODE model. You may run a couple of more exciting examples by typing ‘runSoslibPythonExample -s <example script> -i <sbml model>’ where <example script> is replaced by the name of the example script you want to run and <sbml model> is replaced by the name of an SBML file. The names of the two example Python scripts provided with the installation are and There are also SBML files (*.xml) in the folder ‘examplesSoslib/sbmlModels/’. Be sure to include the full relative path to both the Python script and the SBML file. For example:

runSoslibPythonExample -s examplesSoslib/ -i examplesSoslib/sbmlModels/testModel.xml


runSoslibPythonExample -s examplesSoslib/ -i examplesSoslib/sbmlModels/testModel.xml

The first example above ( can run with any SBML file. Look in the ‘examplesSoslib/sbmlModels/’ folder for other SBML files. The second example, however, should be run with testModel.xml since this Python script references a parameter named ‘k1’. If, however, you provide another SBML model that happens to have a parameter named ‘k1’, the example should run okay.

Note that this work is being done in collaboration with Maciek Swat at the Biocomplexity Institute of Indiana University. We will eventually start releasing CompuCell3D with soslibPy.

I have been working with CompuCell3D to run multicellular simulations (you can download CompuCell 3.3.1 for free). My primary interest (and a focus of my current research) is multiscale model integration in biology. The core of CompuCell3D (CC3D) is written in C++ and provides the necessary functionality for setting up a multicellular simulation based on the Cellular Potts Model or CPM (also called the Glazier-Graner-Hogeweg or GGH Model). I like the following overview of the CPM: Magnetization to Morphogenesis: A Brief History of the Glazier-Graner-Hogeweg Model. The history of its development is very interesting.

Python wrappers are available for CC3D permitting scripting access to its core functionality. Additional layers of Python have been written to extend the basic capabilities of CC3D and to allow more sophisticated multicellular modeling simulations. Recently, I created a Python wrapper library for the essential functions of SOSLib (SBML ODE Solver Library – written in C) that allow SBML-defined models to be read and numerically solved. SOSLib makes use of libSBML (for reading SBML files) and SUNDIALS (particularly CVODES, the ODE solver library). The wrappers were generated using SWIG.

The Windows download for soslibPy (see the top of this post) provides a couple of sample Python scripts ( and demonstrating the use of the soslibPy library. These can be run at the Python command line by typing “from soslibPyTest import *” or “from SLPyObjectsTest import *”. Be sure to download and install Python 2.5. There are also a couple of CC3D simulation scripts ( and that demonstrate how soslibPy can be used with CC3D. Be sure to download and install CompuCell3D 3.3.1. For details on how to run these examples, see “soslibPy_README.txt” and “soslibPy_TUTORIAL.txt” from the soslibPy installation.

** Take a look at this simulation using CC3D and soslibPy **

NOTE: This work is being done as part of an NIH-funded project with James Glazier (PI) at the Indiana University Biocomplexity Institute and the Sauro Lab at the University of Washington (Bioengineering Department).


~ by bionetsolver on July 17, 2009.

3 Responses to “soslibPy: Python Wrappers for the SBML ODE Solver Library”

  1. Hello Ryan!my name is Sotiris, a PhD student in Nottingham University, UK. I was in Indiana last summer where you talked at the CC3D/SBW tutorial about SBW and CC3D using an example with Notch signaling. Do you have an email that i could contact you?
    Many thanks!

  2. […] mentioned in previous posts (here, here and here), has now been replaced by BionetSolver. If you want to run multicellular, multiscale […]

  3. […] Update: You can download soslibPy (Python wrapper library for SOSLib) here. […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: