This post talks a bit about the technical aspects of the project. libRoadRunner is a high-performance SBML based simulator for Systems and Synthetic Biology. The source code is written in C++. SWIG is used to connect the code to the Python API. CMAKE is used to build the code on various operating systems independent of the compiler. Sphinx is used to generate the Python documentation while Doxygen is used to generate C and C++ documentation from the source code. LLVM, a compiler infrastructure, is used to generate very efficient runtime code which gives the ability for libRoadRunner to run fast.
SBML(Systems Biology Markup Language) is an XML-based interchange format for computer models of biological processes which is used to make the representation and exchange of biochemical network models easier. SBML is defined in levels with level 3 packages being developed in a modular fashion. One of the modules being developed is the “Arrays” package for supporting the expression of an array of components(such as compartments, constraints, species, reactions, etc.).
libRoadRunner requires a few dependencies such as libSBML, POCO, UnitTest++ and SUNDIALS. libSBML is used to read, write, manipulate, translate, and validate SBML files and data streams. POCO C++ class libraries are used to get SBML files from links. UnitTest++ is a lightweight unit testing framework for C++. SUNDIALS is a Suite of Nonlinear and Differential/Algebraic equation Solvers. libRoadRunner uses CVODE integrator from this suite.