Systems Biology Simulation Core Library

Welcome to the Systems Biology Simulation Core Library (SBSCL)!

SBSCL provides an efficient and exhaustive Java™ implementation of methods to interpret the content of models encoded in the Systems Biology Markup Language (SBML) and to compute their numerical solution. The library is based on the JSBML project and can be used on every operating system, for which a Java Virtual Machine is available.

Please note that this project does not contain any user interface, neither a command-line interface nor a graphical user interface. It is intended as a pure programming library that can be embedded into other tools and workflows.

To support the Minimum Information About a Simulation Experiment (MIASE) effort, SBSCL understands Simulation Experiment Description Markup Language (SED-ML) files and can execute simulation experiments stored in COMBINE archive (OMEX) files.

Its abstract type and interface hierarchy is designed to facilitate the future implementation of further community standards (for example, CellML). At the moment, however, CellML models are not yet supported.

When using the Simulation Core Library, please cite:

  1. Hemil Panchiwala, Shalin Shah, Hannes Planatscher, Mykola Zakharchuk, Matthias König, Andreas Dräger. The Systems Biology Simulation Core Library. Bioinformatics, btab669, 2021. [ DOI ]
  2. Roland Keller, Alexander Dörr, Akito Tabira, Akira Funahashi, Michael J. Ziller, Richard Adams, Nicolas Rodriguez, Nicolas Le Novère, Noriko Hiroi, Hannes Planatscher, Andreas Zell, and Andreas Dräger. The systems biology simulation core algorithm. BMC Systems Biology, 7:55, July 2013. [ DOI | link | pdf ]

Capabilities

Deterministic simulation of SBML models

  • Several solvers from the Apache Commons Math Library included
  • Rosenbrock solver for integration of stiff differential equation systems
  • Clear separation of SBML interpretation and integration routines
  • Fast SBML interpretation by using a transformed syntax graph
  • Full support of SBML events, algebraic rules and fast reactions
  • Support of all models from the SBML Test Suite (v. 3.3.0) for all levels and versions: Simulation results

Stochastic simulation of SBML models

  • Supports different solvers from the FERN library
  • Gillespie Algorithm used currently to solve the SBML models
  • Support of models from the Stochastic Test Suite for all levels and versions

Constraint-based modeling (flux balance analysis)

  • Support for SBML models that use the flux-balance-constraints (FBC) extension (versions 1 and 2)
  • Suitable for constraint-based modeling and flux balance analysis (FBA) of genome-scale metabolic models
  • Tested with models from the BiGG models FBA benchmark set
  • Example code is available in the FBA example

Support for SED-ML and COMBINE archives (OMEX)

  • Reads and executes simulation experiments described in SED-ML Level 1 Version 3
  • Can work directly with COMBINE archive (OMEX) files containing SBML, SED-ML and associated resources
  • Several quality functions for computation of the distance from simulated data to given reference data
  • Example code is available in the OMEX example and the SED-ML example

Examples and demo repository

A dedicated Demo Repository provides a few use-case examples and an exemplary POM file that helps setting up a project using SBSCL.

Further examples can be found directly within this repository in the examples package, including:

Documentation of the application programing interfaces

To get started with this library, please see the API documentation (JavaDoc) on the project website: https://draeger-lab.github.io/SBSCL/apidocs/overview-summary.html.

See also the introduction, use-cases, and coding examples summarized on the project reports page.

In case you like to use older versions, you can find the documentation here:

Download

You can obtain all versions of this library by going to the download area of the project. There you can also find the release notes for user-visible changes.

Acknowledgments

Many thanks to B. Kotcon, S. Mesuro, D. Rozenfeld, A. Yodpinyanee, A. Perez, E. Doi, R. Mehlinger, S. Ehrlich, M. Hunt, G. Tucker, P. Scherpelz, A. Becker, E. Harley, and C. Moore, Harvey Mudd College, USA, for providing a Java implementation of Rosenbrock’s method as part of the ODEToolkit.

We like to thank Michael T. Cooling, University of Auckland, New Zealand, for fruitful discussion.

We thank Deepak Yadav (https://www.linkedin.com/in/deepak-yadav-97aa22297/) for contributing updates to the SBSCL project website and documentation.

This work was funded by the Federal Ministry of Education and Research (BMBF, Germany) as part of the Virtual Liver Network.