Skip to main content

libRoadRunner

GitHub version Build Status Documentation Status PyPI version

Licence PyPI - Downloads Funding Funding

Summary

libRoadRunner is a C/C++ library that supports simulation of SBML based models. It uses LLVM to generate extremely high performance code and is the fastest SBML-based simulator currently available (ref). Its main purpose is for use as a reusable library that can be hosted by other applications, particularly on large compute clusters for doing parameter optimization where performance is critical. It also has a set of python bindings that allow it to be easily used from python.

We provide C/C++, Python and Julia bindings.

Documentation

Full Documentation

Local Documentation (May be used if above link is failing.)

C API Documention

Installation

Binaries for Windows, MacOS (including universal binaries for the M1 processor), and Linux

Python wheels are available at the above binaries link, and can also be installed via pip:

pip install libroadrunner

Google Colab

libroadrunner can be used entirely in a browser using Google Colab. Ideally, it will work with the following steps (updated May 2023)

  1. run a cell with !apt-get install libncurses5
  2. run a cell with !pip install libroadrunner
  3. (Vert important) Restart the runtime (From the menu: 'Runtime / Restart runtime')
  4. Test by running import roadrunner

The Python version behind Colab is reasonably stable but can change. This issue to changes in how colab handles packages. we try to keep abreast of changes at colab.

Example Python usage

Once installed in Python (using pip or using the wheels directly), the following simple example script should demonstrate the basics of a roadrunner simulation:

import roadrunner
rr = roadrunner.RoadRunner("https://www.ebi.ac.uk/biomodels/model/download/BIOMD0000000010.2?filename=BIOMD0000000010_url.xml")
results = rr.simulate(0, 2000, 200)
rr.plot()
print(results)

This simple script downloads BioModels 10 (the Kholodenko model of MAPK oscillation) and runs a simulation for 2000 seconds, storing the results in results. If your system is set up to display figures, it will display a plot of the simulation, then print the numerical values obtained.

Dependencies

All libRoadRunner binaries are self-contained, and should include all libraries it depends on. When building libRoadRunner from source, its dependencies may either be downloaded en masse from the libroadrunner-deps repository, may be obtained directly from their respective sources, or the libraries may be installed directly on your operating system. Compilation requires a C++17 compiler.

The one exception to the above is that the libRoadRunner binaries depend on the 'ncurses' library on linux.

Copyright

Copyright 2013-2022

E. T. Somogyi 1, J. K. Medley 3, M. T. Karlsson 2, M. Swat 1, M. Galdzicki 3, K. Choi 3, W. Copeland 3, L. Smith 3, C. Welsh 3 and H. M. Sauro 3

  1. Biocomplexity Institute, Indiana University, Simon Hall MSB1, Bloomington, IN 47405
  2. Dune Scientific, 10522 Lake City Way NE, #302 Seattle WA
  3. Department of Bioengineering, University of Washington, Seattle, WA, 98195

The current (2021-present) developer is Lucian Smith.

Contributing

Contributors may submit pull requests at any time, and are asked to follow some general contribution guidelines. Bug requests and feature suggestions are also welcomed on the issues page.

libRoadRunner supports the following features:

  • Time Dependent Simulation (with optional conservation law reduction) using CVODE
  • Supports SBML Level 2 to 3 but currently excludes algebraic rules and delay differential equations
  • Uses latest libSBML distribution
  • Defaults to LLVM code generation on the backend, resulting is very fast simulation times
  • Optional generation of model C code and linking at run-time
  • Add plugins, distribution comes with Levenberg-Marquardt optimizer plugin
  • Compute steady state
  • Metabolic Control Analysis
  • Frequency Domain Analysis
  • Access to:
    • Eigenvalues and Eigenvectors
    • Jacobian, full and reduced
    • Structural Matrices of the stoichiometry matrix

Availability

RoadRunner is licensed for free as an open source programmatic library for use in other applications and as a standalone command line driven application. Its C++ API, C API, and Python APIs have comprehensive documentation. On Windows, OS X, and Linux binary files can be downloaded from the Releases page, and the Python bindings can additionally be downloaded via pip.

Docker images

Currently we have a manylinux2014 build docker image. The base provides the environment you need to be able to build roadrunner yourself on manylinux2014 (centos 8).

To get the base image:

docker pull sysbiouw/roadrunner-manylinux2014-base:llvm-13.x

Docker build scripts can be found under the docker directory from the roadrunner root directory.

We can also build roadrunner in alternative docker environments (ubuntu etc.) on request.

Citing

If you use RoadRunner in your research, we would appreciate following citations in any works you publish:

Ciaran Welsh, Jin Xu, Lucian Smith, Matthias König, Kiri Choi, Herbert M Sauro, libRoadRunner 2.0: a high performance SBML simulation and analysis library, Bioinformatics, Volume 39, Issue 1, January 2023, btac770, https://doi.org/10.1093/bioinformatics/btac770

Endre T. Somogyi, Jean-Marie Bouteiller, James A. Glazier, Matthias König, J. Kyle Medley, Maciej H. Swat, Herbert M. Sauro, libRoadRunner: a high performance SBML simulation and analysis library, Bioinformatics, Volume 31, Issue 20, 15 October 2015, Pages 3315–3321, https://doi.org/10.1093/bioinformatics/btv363

Acknowledgements

This work is funded by NIGMS grant: GM081070

License

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

http://www.apache.org/licenses/LICENSE-2.0

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, company internal, or commercial purposes;

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 of any modifications you may have made to it, in any redistribution you may assemble that includes it.

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

libRoadRunner logo

The libroadrunner logo is an adaptation of the image originally posted to Flickr by El Brujo+ at http://flickr.com/photos/11039104@N08/2954808342. It was reviewed on 9 August 2009 by the FlickreviewR robot and was confirmed to be licensed under the terms of the cc-by-sa-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libroadrunner-2.9.3-cp314-cp314-win_amd64.whl (25.0 MB view details)

Uploaded CPython 3.14Windows x86-64

libroadrunner-2.9.3-cp314-cp314-manylinux_2_28_x86_64.whl (51.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

libroadrunner-2.9.3-cp314-cp314-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

libroadrunner-2.9.3-cp314-cp314-macosx_14_0_arm64.whl (34.2 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

libroadrunner-2.9.3-cp313-cp313-win_amd64.whl (24.4 MB view details)

Uploaded CPython 3.13Windows x86-64

libroadrunner-2.9.3-cp313-cp313-manylinux_2_28_x86_64.whl (51.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

libroadrunner-2.9.3-cp313-cp313-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

libroadrunner-2.9.3-cp313-cp313-macosx_14_0_arm64.whl (34.2 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

libroadrunner-2.9.3-cp312-cp312-win_amd64.whl (24.4 MB view details)

Uploaded CPython 3.12Windows x86-64

libroadrunner-2.9.3-cp312-cp312-manylinux_2_28_x86_64.whl (51.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

libroadrunner-2.9.3-cp312-cp312-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

libroadrunner-2.9.3-cp312-cp312-macosx_14_0_arm64.whl (34.2 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

libroadrunner-2.9.3-cp311-cp311-win_amd64.whl (25.0 MB view details)

Uploaded CPython 3.11Windows x86-64

libroadrunner-2.9.3-cp311-cp311-manylinux_2_28_x86_64.whl (51.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

libroadrunner-2.9.3-cp311-cp311-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

libroadrunner-2.9.3-cp311-cp311-macosx_14_0_arm64.whl (34.2 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

File details

Details for the file libroadrunner-2.9.3-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c5a5feb07642a27738de454585fc1a4bf559c9af6ee3ebe01a3e222629069e18
MD5 27840dce6eba9487c101270f1d64b817
BLAKE2b-256 5be7093959052b669be4ea59fbb09f146316dafb48b31c1ea9dea3b0cd16447f

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cc9f12e9cf612a4ea72bb50f2343e1c1b051fa78b7c0fc9cbbfdc430883033eb
MD5 c413777e36647bc9d0d8829e02a89598
BLAKE2b-256 63f3887df55b878c2536b64e1d785e23a8e80562b66da6ea21456fb75bedfe12

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5ce94d02701ce86ffda17ec14db1c2d8c6c37e9b5f604644fea11923350bc8bb
MD5 ba8600c845b407ee73bed658d2d77465
BLAKE2b-256 974fd592a8f2682f3cf5e426d1c726e357af403c7422f2f6287828f002cef094

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3ab25ca522d7440c05884861cbc0a7117dff9318afeb87af7294f10b659cd221
MD5 af82b4166d177fe6bdbe5258a015e9ba
BLAKE2b-256 d43657dbacf54398bee6cdabd1a1c75f54a5771ba15ae55a9f6ebeb340f3a255

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bc2b151293093b76716b52d9f0fd17a6c022f52762e59f0f9b81c0178a1f5f74
MD5 a56b250f2c798c9d9ddacd2de1a02911
BLAKE2b-256 619c81fdfc4f0c616b84f1be00e189bc697a26e915bce2eac97caa1d58b2b31c

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8af66a36819d1ba1e3c305b03241807a015b0a6716b5c4a24ca4f12033962dfb
MD5 5e4a833dbad2f55b1a15c75582f85c49
BLAKE2b-256 17827186b1147bfe2793a4fa41b9e418cb2ba6eb7a7c2a58826e1f5bf0c9d61a

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 dfcf17fd7518b9afc7ecb3cf5bcc2e8c474452447898494de5d073c4260568f9
MD5 42823134a894efff759987c87524bbf0
BLAKE2b-256 8aad5b1496a4a4f42aa0f19cef35b733d61a8e2a32454afb3e7c148ea74dac7a

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 734794fff507313952ef06d538f81b5d2d10b1d0428990d5e108abad0570ba25
MD5 1d66e10ea4c9412b6b6f382857b01c2c
BLAKE2b-256 fd9ba8cba6ad6711aa163d2b7ab8820a86538b0075b7ce52c1de361cd2a9e6a4

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aae90ec32f0a56a637498d397b49d0c3c93b9e7b203cda5062fedc5958611749
MD5 a08f4347c5648c07005c37246850131d
BLAKE2b-256 c20f14bea3b8886d6a718535472d5f9fe49b4515dff53b2d8abe4b8f3a79f92e

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7a5a685062bec0c7d084c485899717ffbaa0c4b959b8c6c8d556061c7a2df91
MD5 089973c5e66ebb7f238e85259fac9091
BLAKE2b-256 a5b10acd8e4208d64cdb05bb659c2cb3e186e7e42c5b0dabcdad82bc49bef8d1

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 f56b3fd5bdb87c3cd208f9e3e86cd975cea97a29f4b31068d430ddf50fbd419d
MD5 c50982bce9c01b810e1eca1fb31640a9
BLAKE2b-256 dbb5585dffc017321ec639df95fc9c67901f983d3c69527668646a4f99111909

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 759349c35494063520afb74c6e31552c643249a2aadfc62bd40b83450da34eec
MD5 cbbc524d9069137c42cc3d8b5b1246bb
BLAKE2b-256 5f82e84fe9380ed140585362d637a1d4d4bf88f3ffd4415c09126b95a82015e5

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 33f52655b31128542459f0bd81360ce0b90023eed596bfecfede4ec6dfd98145
MD5 f9255f36f30a1c181476b7110e74c8c1
BLAKE2b-256 7f57d58b24f20c932c5f0ad7d6036439ba9b500c193f0aaf55d5a3d12ed0e7fd

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50c3bd97216e13c91b4ec613e3a5a08ea5f8bbbdbc0732231fac2259131dd35a
MD5 07a4e994b776e6e4b07f7de38c490b80
BLAKE2b-256 afdca545d366d47ee97c063640e0ddfe2546e55c2467b6dbf75e411916d81935

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 8c38b23727cb7c68dcddcb507e8bccc12af9a432d72bf35041415a3ea83eb2b9
MD5 f6743724ee2d3395154a6bf7aa88b421
BLAKE2b-256 cfdca87e6175bd7636d439208d13293a745a0242d6bbb95b5e693f21a3490649

See more details on using hashes here.

File details

Details for the file libroadrunner-2.9.3-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a6aaad80cb1ee63df03d8763857036ac8b6cb72cadbc6ebeea2deffc71c8ec19
MD5 9185abe41ee427ca7914ac4ff2632c60
BLAKE2b-256 0179b0344279b94e7b2cab6b1359a4b5162fb8954ca1e10f9af32c0035500b0b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page