Announce: release of libRoadRunner 1.0.0

After a lot of work I am pleased to announce the first official release of libRoadRunner, 1.0.0. This represents a complete rewrite of the original C# RoadRunner developed by Frank Bergmann and Herbert Sauro.

libRoadRunner is a high-performance cross-platform C/C++ library that supports the simulation and analysis of SBML based models. One of its key innovations is the development of a SBML to LLVM compiler. One of the primary use cases for libRoadRunner is to support multicellular simulators where tens of thousands of cells are simulated simultaneously requiring high performance. Details of libRoadRunner can be found at the dedicated web site: libroadrunner.org A summary of the most important features is given below:

  1. Time dependent simulation (with optional conservation law reduction), sundials (CVODE)
  2. Steady state evaluation (NLEQ2)
  3. Supports SBML Level 2 to 3 (libSBML 5.9) including full and robust event support
  4. Includes a SBML to LLVM compiler
  5. Optional generation of model in C code
  6. Support for metabolic and frequency domain control analysis
  7. Supports a rich set of APIs designed specifically for modelers: C++ API, C API, Python API
  8. Additional Plugin API (C, C++ and Python) – Levenberg-Marquardt optimizer plugin included
  9. Access to other items such as: Eigenvalues/Eigenvectors, Jacobian stoichiometric analysis
  10. Extensive documentation.
  11. …and more.

A sample Python script to run a simulation is shown below:

import roadrunner
rr = roadrunner.RoadRunner()
rr.load("mymodel.xml")
result = rr.simulate()
roadrunner.plot(result)

A short paper giving some architectural details and timing information can be found here:

http://biorxiv.org/content/early/2013/12/12/001230

Authors: Andy Somogyi – LLVM backend and overall architectural design, Mac OS port, Python interface
Totte Karlsson – Initial translation and design of plugin system
Michal Galdzicki – Documentation and testing
Maciej Swat – Linux deployment and testing
Herbert Sauro – Documentation, testing

Support: libRoadRunner is funded through the generous support of the NIGMS, grant: GM081070

This entry was posted in Modeling, Pathways, Programming, SBML, Software. Bookmark the permalink.

Leave a Reply

Your email address will not be published.