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.

If you need a fully integrated system or you just want an easy to use modeling platform, we recommend the Python package Tellurium. Installation is simple and you'll get a range of additional packages, including Antimony support.

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.

Metadata

Release files for libroadrunner 2.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for libroadrunner 2.11.0
File Actions
libroadrunner-2.11.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for libroadrunner-2.11.0-cp315-cp315-win_amd64.whl
libroadrunner-2.11.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details for libroadrunner-2.11.0-cp315-cp315-manylinux_2_28_x86_64.whl
libroadrunner-2.11.0-cp315-cp315-macosx_15_0_x86_64.whl CPython 3.15 CPython 3.15 macOS 15.0+ x86-64 Details for libroadrunner-2.11.0-cp315-cp315-macosx_15_0_x86_64.whl
libroadrunner-2.11.0-cp315-cp315-macosx_14_0_arm64.whl CPython 3.15 CPython 3.15 macOS 14.0+ ARM64 Details for libroadrunner-2.11.0-cp315-cp315-macosx_14_0_arm64.whl
libroadrunner-2.11.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for libroadrunner-2.11.0-cp314-cp314-win_amd64.whl
libroadrunner-2.11.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for libroadrunner-2.11.0-cp314-cp314-manylinux_2_28_x86_64.whl
libroadrunner-2.11.0-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details for libroadrunner-2.11.0-cp314-cp314-macosx_15_0_x86_64.whl
libroadrunner-2.11.0-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for libroadrunner-2.11.0-cp314-cp314-macosx_14_0_arm64.whl
libroadrunner-2.11.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for libroadrunner-2.11.0-cp313-cp313-win_amd64.whl
libroadrunner-2.11.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for libroadrunner-2.11.0-cp313-cp313-manylinux_2_28_x86_64.whl
libroadrunner-2.11.0-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details for libroadrunner-2.11.0-cp313-cp313-macosx_15_0_x86_64.whl
libroadrunner-2.11.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for libroadrunner-2.11.0-cp313-cp313-macosx_14_0_arm64.whl
libroadrunner-2.11.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for libroadrunner-2.11.0-cp312-cp312-win_amd64.whl
libroadrunner-2.11.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for libroadrunner-2.11.0-cp312-cp312-manylinux_2_28_x86_64.whl
libroadrunner-2.11.0-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details for libroadrunner-2.11.0-cp312-cp312-macosx_15_0_x86_64.whl
libroadrunner-2.11.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for libroadrunner-2.11.0-cp312-cp312-macosx_14_0_arm64.whl

Total release size: 586.6 MB

Release files / libroadrunner-2.11.0-cp315-cp315-win_amd64.whl

Download URL libroadrunner-2.11.0-cp315-cp315-win_amd64.whl
Size 25.1 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
81ffdeadd3677ca8f514adda1b8acb4729e26277c0abf1ebd6ea09e8ac5e4e33
BLAKE2b-256 checksum
How to use checksums
7ae9d8ef2eb3ba4f59025c1647b12bbf62cefee4a6233315f7c8fec344b02e6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL libroadrunner-2.11.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 50.8 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c17824289dcc2e38b17610a91f5c0b3f464d501a027e87dd6c2325c9bcbd5d6e
BLAKE2b-256 checksum
How to use checksums
87b08323be66accd699fb40a4cb68b64de52bdbfd180b44e146881abd5b79765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp315-cp315-macosx_15_0_x86_64.whl

Download URL libroadrunner-2.11.0-cp315-cp315-macosx_15_0_x86_64.whl
Size 36.7 MB
Tags CPython 3.15 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
1ce06db6b18573b97d2fcc7a8b963f704cf49ffb4038e4a433504d64c2660ee5
BLAKE2b-256 checksum
How to use checksums
470d078e6f80aa4af943e28f439b3460fa2a33e27ed8c45b488378cd29759616
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp315-cp315-macosx_14_0_arm64.whl

Download URL libroadrunner-2.11.0-cp315-cp315-macosx_14_0_arm64.whl
Size 34.2 MB
Tags CPython 3.15 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
bf7b8b268bbe85d303ffb5a0c0d55c5968cc9020772bafe28f7819b7124c231b
BLAKE2b-256 checksum
How to use checksums
e41686e2c9835202c7d36736521af6fab51b1617de21123a2b9db52751f5c128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp314-cp314-win_amd64.whl

Download URL libroadrunner-2.11.0-cp314-cp314-win_amd64.whl
Size 25.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
2e553a3261227b274fad304995a900b062bb4743062bf57cdccc6a1b0f596d53
BLAKE2b-256 checksum
How to use checksums
15749d97217fd269255768efebfafe9a3f66d0bd5a028373abee09eada0c3d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL libroadrunner-2.11.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 50.8 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
87e8f7b8977c0f704d38d515fbf4830667d110f1552a55bf44c14bd26344e358
BLAKE2b-256 checksum
How to use checksums
30f7ee15827115ebe0f9a8a811f05f74f6de012356879618a837734215a2d575
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp314-cp314-macosx_15_0_x86_64.whl

Download URL libroadrunner-2.11.0-cp314-cp314-macosx_15_0_x86_64.whl
Size 36.7 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
13a82c947c71062488f8f3077c81b815d0c9c1b7d29371a20e20b8254a43e96b
BLAKE2b-256 checksum
How to use checksums
f9dd2fc627334ca81108333a26bc2a3c407776efb0521b7af91dcab8105a342b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL libroadrunner-2.11.0-cp314-cp314-macosx_14_0_arm64.whl
Size 34.2 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
92681aa02754011ed278c1bf615def29892b63cc6b8b847db9cd06ab2df46305
BLAKE2b-256 checksum
How to use checksums
e8ff0b8697209c0e3fffbaa073381f889694e0829b1c61c4e0c7c3a8a449a677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp313-cp313-win_amd64.whl

Download URL libroadrunner-2.11.0-cp313-cp313-win_amd64.whl
Size 24.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b50cd9dfdf87ee06ddfd7dc4ae56187a25b89daed3ed8150b8f86ce595ab76d9
BLAKE2b-256 checksum
How to use checksums
41449d68deb109ddf702bc94d37fcd3940f2346627744f944204fce4cfa7f63c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL libroadrunner-2.11.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 50.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
067f4807644f77811d076823d1b463e4ebfc318c76b3b1a975fea39884dc1697
BLAKE2b-256 checksum
How to use checksums
711173cf8e5e5e412d6be4aa1097eb1a148c741237cb3b6f66338ebfe7271ada
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp313-cp313-macosx_15_0_x86_64.whl

Download URL libroadrunner-2.11.0-cp313-cp313-macosx_15_0_x86_64.whl
Size 36.7 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
7ecf2e64d8f2788d2354d0b75fbfc479abbdec8b7704b58f99cfb5fb50a44d04
BLAKE2b-256 checksum
How to use checksums
854dad36c7b94ac7d481a511baa6e0c473e2f8b188f16a9873df4c3f38d00933
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL libroadrunner-2.11.0-cp313-cp313-macosx_14_0_arm64.whl
Size 34.2 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
8dcca85b111242e50c0c892ab20059a0abf7a4bd8c8dc830fe4f969d91a8aafe
BLAKE2b-256 checksum
How to use checksums
1d5f0c220c0490cfbaa37626af9c166a261310fafa2a60902d7af0f603637edd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp312-cp312-win_amd64.whl

Download URL libroadrunner-2.11.0-cp312-cp312-win_amd64.whl
Size 25.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5713ac61d37556853c433c3ef285108b5860539ed1773770be9f0ecf83823632
BLAKE2b-256 checksum
How to use checksums
a21693b747fda29dd15171832a595f9145d1292528a865cc3156670f99d8c94f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL libroadrunner-2.11.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 50.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bc8736c90bdfaa98d52311bdda6a133aaaa919085473e0b6d4ae59984dd236be
BLAKE2b-256 checksum
How to use checksums
41211e556f8cdd74a2fcfa8c8287c3dd8141be260594d7ed38968af7f452bc2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp312-cp312-macosx_15_0_x86_64.whl

Download URL libroadrunner-2.11.0-cp312-cp312-macosx_15_0_x86_64.whl
Size 36.7 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
5ab524c8964200d482f068bda44d446c555e4d7d0278e872d2927e4a54b05854
BLAKE2b-256 checksum
How to use checksums
8815f143bb61bbf27532dfee01799dc5418fad9b0f9390cf2e9be39441cf74c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / libroadrunner-2.11.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL libroadrunner-2.11.0-cp312-cp312-macosx_14_0_arm64.whl
Size 34.3 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
50c286be19ea4aee53db6ed359b0fd87738a2661c170bb07832c2186f010108d
BLAKE2b-256 checksum
How to use checksums
d77dc631e0f04bf1195c6dfca93b91f11db12cc0e0dee9a456df01c53bdc93ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for libroadrunner 2.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.11.0 This release

16 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page