libRoadRunner 2.0: a high performance SBML simulation and analysis library

MOTIVATION This article presents libRoadRunner, an extensible, high-performance, cross-platform, open-source software library for the simulation and analysis of models expressed using Systems Biology Markup Language (SBML). SBML is the most widely used standard for representing dynamic networks, especially biochemical networks. libRoadRunner is fast enough to support large-scale problems such as tissue models, studies that require large numbers of repeated runs and interactive simulations. RESULTS libRoadRunner is a self-contained library, able to run both as a component inside other tools via its C++ and C bindings, and interactively through its Python interface. Its Python Application Programming Interface (API) is similar to the APIs of MATLAB ( WWWMATHWORKSCOM: ) and SciPy ( HTTP//WWWSCIPYORG/: ), making it fast and easy to learn. libRoadRunner uses a custom Just-In-Time (JIT) compiler built on the widely used LLVM JIT compiler framework. It compiles SBML-specified models directly into native machine code for a variety of processors, making it appropriate for solving extremely large models or repeated runs. libRoadRunner is flexible, supporting the bulk of the SBML specification (except for delay and non-linear algebraic equations) including several SBML extensions (composition and distributions). It offers multiple deterministic and stochastic integrators, as well as tools for steady-state analysis, stability analysis and structural analysis of the stoichiometric matrix. AVAILABILITY AND IMPLEMENTATION libRoadRunner binary distributions are available for Mac OS X, Linux and Windows. The library is licensed under Apache License Version 2.0. libRoadRunner is also available for ARM-based computers such as the Raspberry Pi. http://www.libroadrunner.org provides online documentation, full build instructions, binaries and a git source repository. CONTACTS hsauro@u.washington.edu or somogyie@indiana.edu SUPPLEMENTARY INFORMATION Supplementary data are available at Bioinformatics online.

[1]  D. Marquardt An Algorithm for Least-Squares Estimation of Nonlinear Parameters , 1963 .

[2]  D. Gillespie Exact Stochastic Simulation of Coupled Chemical Reactions , 1977 .

[3]  Eugene M. Izhikevich,et al.  Simple model of spiking neurons , 2003, IEEE Trans. Neural Networks.

[4]  Chris J. Myers,et al.  Tablet—next generation sequence assembly visualization , 2009, Bioinform..

[5]  Herbert M. Sauro,et al.  Antimony: a modular model definition language , 2009, Bioinform..

[6]  Jonathan R. Karr,et al.  A Whole-Cell Computational Model Predicts Phenotype from Genotype , 2012, Cell.

[7]  H M Sauro,et al.  SCAMP: a general-purpose simulator and metabolic control analysis program , 1993, Comput. Appl. Biosci..

[8]  Srinivas Devadas,et al.  Efficient stochastic simulation of reaction–diffusion processes via direct compilation , 2009, Bioinform..

[9]  Herbert M. Sauro,et al.  SBW - A Modular Framework for Systems Biology , 2006, Proceedings of the 2006 Winter Simulation Conference.

[10]  C Reder,et al.  Metabolic control theory: a structural approach. , 1988, Journal of theoretical biology.

[11]  J C Schaff,et al.  Virtual Cell modelling and simulation software environment. , 2008, IET systems biology.

[12]  Ulrich Nowak,et al.  A Family of Newton Codes for Systems of Highly Nonlinear Equations. , 1992 .

[13]  MachnéRainer,et al.  The SBML ODE Solver Library , 2006 .

[14]  Michael Goesele,et al.  Massively-Parallel Simulation of Biochemical Systems , 2009, GI Jahrestagung.

[15]  M. Straume,et al.  Monte Carlo method for determining complete confidence probability distributions of estimated model parameters. , 1992, Methods in enzymology.

[16]  Griewank,et al.  On automatic differentiation , 1988 .

[17]  Noriko Hiroi,et al.  LibSBMLSim: a reference implementation of fully functional SBML simulator , 2013, Bioinform..

[18]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[19]  Kenneth Levenberg A METHOD FOR THE SOLUTION OF CERTAIN NON – LINEAR PROBLEMS IN LEAST SQUARES , 1944 .

[20]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[21]  Herbert M. Sauro,et al.  33 JARNAC: a system for interactive metabolic analysis , 2000 .

[22]  Andreas Dräger,et al.  Improving Collaboration by Standardization Efforts in Systems Biology , 2014, Front. Bioeng. Biotechnol..

[23]  Michael Hucka,et al.  LibSBML: an API Library for SBML , 2008, Bioinform..

[24]  Mudita Singhal,et al.  COPASI - a COmplex PAthway SImulator , 2006, Bioinform..

[25]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[26]  Jeffrey D Orth,et al.  What is flux balance analysis? , 2010, Nature Biotechnology.

[27]  Abbas Shirinifard,et al.  Multi-scale modeling of tissues using CompuCell3D. , 2012, Methods in cell biology.

[28]  Hiroaki Kitano,et al.  The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models , 2003, Bioinform..

[29]  James A. Glazier,et al.  A Multi-cell, Multi-scale Model of Vertebrate Segmentation and Somite Formation , 2011, PLoS Comput. Biol..

[30]  Herbert M. Sauro,et al.  Conservation analysis of large biochemical networks , 2006, Bioinform..

[31]  Stefanie Widder,et al.  The SBML ODE Solver Library: a native API for symbolic and fast numerical analysis of reaction networks , 2006, Bioinform..

[32]  Andreas Zell,et al.  The systems biology simulation core algorithm , 2013, BMC Systems Biology.

[33]  Herbert M. Sauro,et al.  Software Tools for Systems Biology , 2010 .

[34]  P. Shannon,et al.  Cytoscape: a software environment for integrated models of biomolecular interaction networks. , 2003, Genome research.

[35]  David M. Beazley,et al.  SWIG: An Easy to Use Tool for Integrating Scripting Languages with C and C++ , 1996, Tcl/Tk Workshop.

[36]  Jan-Hendrik S. Hofmeyr,et al.  Modelling cellular systems with PySCeS , 2005, Bioinform..

[37]  H. Sauro Enzyme Kinetics for Systems Biology , 2012 .

[38]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[39]  Carol S. Woodward,et al.  Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers , 2020, ACM Trans. Math. Softw..

[40]  Jacky L. Snoep,et al.  BioModels Database: a free, centralized database of curated, published, quantitative kinetic models of biochemical and cellular systems , 2005, Nucleic Acids Res..

[41]  Alec Wolman,et al.  The structure and performance of interpreters , 1996, ASPLOS VII.

[42]  J. H. Hofmeyr,et al.  The reversible Hill equation: how to incorporate cooperative enzymes into metabolic models , 1997, Comput. Appl. Biosci..

[43]  Theodore W. Berger,et al.  Maximizing predictability of a bottom-up complex multi-scale model through systematic validation and multi-objective multi-level optimization , 2015, 2015 7th International IEEE/EMBS Conference on Neural Engineering (NER).

[44]  Mark A. J. Chaplain,et al.  Integrating Intracellular Dynamics Using CompuCell3D and Bionetsolver: Applications to Multiscale Modelling of Cancer Cell Growth and Invasion , 2012, PloS one.

[45]  X. Yi On Automatic Differentiation , 2005 .

[46]  Jean-Marie C Bouteiller,et al.  Modeling glutamatergic synapses: insights into mechanisms regulating synaptic efficacy. , 2008, Journal of integrative neuroscience.

[47]  Arnd Roth,et al.  Automated optimization of a reduced layer 5 pyramidal cell model based on experimental data , 2012, Journal of Neuroscience Methods.