Skip to main content

libRoadRunner: A simulation and analysis library for SBML

Project description

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.

Project details


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

Uploaded CPython 3.14Windows x86-64

libroadrunner-2.9.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.9.0-cp314-cp314-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

libroadrunner-2.9.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.9.0-cp313-cp313-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

libroadrunner-2.9.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.9.0-cp312-cp312-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

libroadrunner-2.9.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.9.0-cp311-cp311-macosx_15_0_x86_64.whl (36.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

libroadrunner-2.9.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.9.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d3d83818b7f15f2faccda0bf5b7f6fe0fe7c7488e85a8c8974b450ea1e30bc61
MD5 f914fecaf6589c0fa30ca860ded290c2
BLAKE2b-256 20ef95e452e9a22f73e0e8fd4ec54a0a998960368704316a005975002dd10b68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 515fbb86b2ad7006a84a03476cd52b3ef009ba0e4931efa891aa01ac8a6642fb
MD5 db5e4003744a89be35a685f7956c0fa0
BLAKE2b-256 ac077d305a31385e0c2a91f2dde21bd0a8682d168d178e2a7fc937dce59f6c65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 a98423cf135d78d452e2abf94e2f7c055b8851643100627a2af6f2de3c6246f8
MD5 803617596ca5b4972e21903731257c32
BLAKE2b-256 04c611410d8b6700a6030d56ab2f2a30903823772b11e51aea197859a47462eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f793e4b876a0e4885e709ccd344072127706614419b7ef4d135e3d453809c0a8
MD5 05efd5e3d9e8c3b3b33e70841ff57c4c
BLAKE2b-256 c24b9218327ccc9545441df866735b5d2bde212da33969522fbaf09b8d42ec82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 86f286dde48358d82629dcaa62bbfc8e89b01700865f0f9a76700b44f5a360f2
MD5 7222c27b83a64ee737ed3d8774c17225
BLAKE2b-256 f3f0e11967b6493da88f7d44504d15078ab9ce0ba6c228e0119920964a31a342

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a89fe93d7412afd0847c41b5b0c7917e2e724cf89e8c0e16b15304fd8dcd9bb
MD5 ecba3a13ba1b4e9b3c7211e5da79e60a
BLAKE2b-256 f721776b46371efb656ff3f9a81cac4d8ab0b36b60c2fde7792dc23a466183b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 696c16dec462a2196fb701e960d03b81d385cd58eea9484df2f7077f28c47311
MD5 923d194a100d6adc9c33bdc5a540ea6f
BLAKE2b-256 092e668440f6cf298e82fe79923232817c99e6d6e5074b10e84b456b991aeb94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7d0a3a0962b56533bf2712f757f8a0fdb0d7a4ceedc765a0e8a6cb834126cc85
MD5 dcb6e8b7d0db2ea7a292a6812b817c9f
BLAKE2b-256 77f180ac2a778f89772ec687a668c457fc8d90419756f46bf005b66766ddbd8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5b5d7eec20c69c6389f1c2b3ff4eb8cc66c3e54eee83690b53fb0ff55331a17d
MD5 a931a763a7fae016efb5608447fa6746
BLAKE2b-256 e32c4c456d13049cbd4d4cbab43d6ddba19042e4dccee63a66034723ff54a3d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f8560ce6417fd47df0b8c7df846bf132b4a6990cbcd5412a8d8e4eb6d61065a
MD5 96126bcdcfb3e148175d3ba5acb057e6
BLAKE2b-256 46274af28a660f1e9df0cc9a86e148570d0d99e1b1140728a8632f48925ee5f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 0c1bebfe5043a5fdf1be966da72fb3000e3d94e300c31602ec55d29c2767b207
MD5 795fe41dae38fc4ea7a57e4f4ee36cf7
BLAKE2b-256 3516b7f6c88f2c1cfff9c7e2c55e05cbdd7a9df549e38e4962d1726dcfd80118

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 019319d11f96c50e4d7e191611be3c6ce93ecbcd13720a8f1886878d893ee2c5
MD5 4a1805b2b8dfb83cce86c639d0cd8c15
BLAKE2b-256 5854ed4b7a86e510e3a8b5008ee8017fd54826a7b9b621308e721873d6629d88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 294accdfd1fe645d8925471b47a46efa1c32564984acd0cd1b234843bf5d80a8
MD5 cdd4563f04c008c414f71e0c0fc68475
BLAKE2b-256 0c2616f17ca641690813fa4a5ebd14a6c494cd06ceb19189d1d9f6dc3b997c6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8b0fda8e5234df23ddd538aff3153df187586619ac3446cf36f7c93cecd147a
MD5 44ff1e1acf6f3d9bc23dcaa7b388da4d
BLAKE2b-256 23dd729ee037b7c27be09f2e0fd0473bb354ef31cac9b81702d0537379bde4b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 392256b3dc48e34a5ca9cd50f75d966bf47d36d581cf451a20e37d5d9f9585d3
MD5 80c9a135c573b8a6bf857c27fe63f5c9
BLAKE2b-256 fe9a0c818539a3f29a60463b23b1798d42695e2d7392e6b4c27ff44aa87c9d7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libroadrunner-2.9.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 16c276a03b0734cb64cbe17a5cf7301bfa7f9aeff7a052e61e4052387b65ca30
MD5 65754810b238d9a941c20a4260b7a528
BLAKE2b-256 8acc1d6755d91a4eba24806bd8693cdc263546d9579b5fcfd9d012e090b3650d

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 Pingdom Monitoring Sentry Error logging StatusPage Status page