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.10.0-cp314-cp314-win_amd64.whl (25.1 MB view details)

Uploaded CPython 3.14Windows x86-64

libroadrunner-2.10.0-cp314-cp314-manylinux_2_28_x86_64.whl (51.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14macOS 15.0+ x86-64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

libroadrunner-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl (51.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 15.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

libroadrunner-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl (51.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12macOS 15.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

libroadrunner-2.10.0-cp311-cp311-win_amd64.whl (25.1 MB view details)

Uploaded CPython 3.11Windows x86-64

libroadrunner-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl (51.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11macOS 15.0+ x86-64

libroadrunner-2.10.0-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.10.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b4d54bc51c78e5be673f1ccc64ee1596125600c4745abcea789e446db7022479
MD5 bd9956d9c6162af39b671df147d1be6b
BLAKE2b-256 d5644c14a855490980d6b7803084778725ac377b388539c8fb4fc8a4c3cf2eba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3481b6c2aa8030e3c35419b216b1036e4c1aee75e2083716353ebc863aced620
MD5 ed2d6af002692b2406adb376c1badcfc
BLAKE2b-256 174e86592cbba7f6b493aaf8f64849a500464402231e86a9866428fafdb38664

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 04f1fb5aeace59514a4a10d869acd1bd88c6a9f597f140f18ebd31e67afc485d
MD5 26e428f33c7059704b4134ff92dceb1b
BLAKE2b-256 945fb55c2a54132d1e2907e880b07259122a2845a08c56a3458c69c8857564b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 11ce888d5f2fc396a45c885aa647d6cda49cd678848387d8323e8e588c759831
MD5 019aaadc604fc90fbbffe5d7c03d2b1a
BLAKE2b-256 1e402d2a221bef074ff54f445c3518781e3e6d2f8f4d82ae03e58df951cffcb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b881b6db0d0c92ddf62bd3a95c355d1c0fbbcc683a06f2430e43fdec3fe1875b
MD5 ed00146cfacd1256d19da8146ddfb772
BLAKE2b-256 0ac90c84e343096f5f2b1ab321d712f023f1159b18c263da9313b96ae57ce202

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9efc3571fa422dd014d90090150f1baf051863e8f67eece023e6181728d633dd
MD5 18ab77d48b6009a702c95b726157e481
BLAKE2b-256 72c845b1849e48cd83a0e0cec9082e90cd97df7da3232362d320f693e5e3747f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 01080024d2aa579cff9b0245dd357669a1d50d57716b3fd5ecb12ed382f7eca5
MD5 dbde0186023b2b2437036076a9ab0fd3
BLAKE2b-256 948bf800ab9769c989e4d76129a5a5cfee4d22e8f0d8439f02f34aa4b8e849b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f3204b7f0ee207e9d4d8abad0910d5bd2ebb760051c9a864a621f23003a4ee86
MD5 14e645d39c2d27fb670781d145b20348
BLAKE2b-256 b04c5be26c0ad6c9e306a99a41640ec0ef10b01930be3382028faa90f4ae2432

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 625be1c567f252bd635dd2810e7db82ac8b248b72d0ea56725110eab30b88d3b
MD5 df65c4aa78431c429af8d45cc27c4707
BLAKE2b-256 f44d167adc6f98197200831eae270393f2bc9c6e63e0b7c8a518240ea7ad9af6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa87d7a9f1509f3ce14bfb61ae78eed1ad710e7ea5190d611b76323b425ae5b4
MD5 2f94079e70820171e5229546b0107155
BLAKE2b-256 3691b90186ffd04d487259dbed53610607fbc37502121a4584f8839a6af94f10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 86639245bf6431d88e8f9cea52cdfb4fd6746ce14d867b691fa93014f005021f
MD5 830e202e6871bc7214aab42991c35ce6
BLAKE2b-256 d56a2b233cefae857bccf94f4d2f2f506824df8287658454e40f767932c7a714

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 66f61f8ed7c40600895d2c8250e8515e25dc7648f5681a6e6a2e988701701e2a
MD5 d0657822c0914616db1cf96b836b6a70
BLAKE2b-256 1f4779bfe7d8ba017be1f6f29e96cbc0c6611b4590a658548e9fe72e44fd470a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 248892e12bea20664ac6f002697b4c0b505e482da4da6f31512243a2bc1711f1
MD5 4d7c1ad00341cef978a5b5f00222c212
BLAKE2b-256 297123919ba7c6149a94de67f3dd42bc54e7c1369806c1b3a6a08ffc5577412c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0abdae2fb59c78fac0e10a177f6dc2f10296c31ad25eb50e73fdec1ad5ef10b
MD5 291a55935be326b19732d746c14768c1
BLAKE2b-256 4523789ee31ac5556b013073d31adbdb80439a167a0df72d6b7359ca14558f73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6eb549b797f5d0d16f457f72ab3d39ec421e7a900aec3ab3659fb3d362619c37
MD5 229e5638ba301c6d70548f26438b36d6
BLAKE2b-256 b55f41a688ad3b47e3c5b1ccaeda5b1c64ac97c4efab799f64afd15400107986

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.10.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0e20eb532511e146288309a2fdd3508e225ed0e3d697658123ae00385f42c83f
MD5 e30956825f7ac1eb2857312b6b3793eb
BLAKE2b-256 756b1a5936b0f82734497af3766cc154bdc61cb3344eb17b98e725f8fcba42dc

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