Abstract

The SBML standard is used in a number of online repositories for storing systems biology models, yet there is currently no Web-capable JavaScript library that can read and write the SBML format. This is a severe limitation since the Web has become a universal means of software distribution, and the graphical capabilities of modern web browsers offer a powerful means for building rich, interactive applications. Also, there is a growing developer population specialized in web technologies that is poised to take advantage of the universality of the web to build the next generation of tools in systems biology and other fields. However, current solutions require server-side processing in order to support existing standards in modeling. We present libsbmljs, a JavaScript/WebAssembly library for Node.js and the Web with full support for all SBML extensions. Our library is an enabling technology for online SBML editors, model-building tools, and web-based simulators, and runs entirely in the browser without the need for any dedicated server resources. We provide NPM packages, an extensive set of examples, JavaScript API documentation, and an online demo that allows users to read and validate the SBML content of any model in the BioModels and BiGG databases. We also provide instructions and scripts to allow users to build a copy of libsbmljs against any libSBML version. Although our library supports all existing SBML extensions, we cover how to add additional extensions to the wrapper, should any arise in the future. To demonstrate the utility of this implementation, we also provide a demo at https://libsbmljsdemo.github.io/ with a proof-of-concept SBML simulator that supports ODE and stochastic simulations for SBML core models. Our project is hosted at https://libsbmljs.github.io/, which contains links to examples, API documentation, and all source code files and build scripts used to create libsbmljs. Our source code is licensed under the Apache 2.0 open source license.

Highlights

  • The SBML [1] standard is used for encoding reaction network models in systems biology research in a reusable, exchangeable, and future–proof manner

  • While the core components of the standard are designed for describing kinetic chemical reaction network models, SBML extensions exist for encoding constraint–based models (the "flux– balance constraints" extension, employed by the widely used COBRA framework for constraint–based modeling [2, 3]), and rule–based models (the SBML "multi" extension [4])

  • Prior work on implementing the SBML standard has resulted in two libraries: libSBML [15], a C++ library with interfaces for many languages, and JSBML [16, 17], a platform– independent pure Java library

Read more

Summary

Introduction

The SBML [1] standard is used for encoding reaction network models in systems biology research in a reusable, exchangeable, and future–proof manner. One of the factors behind SBML’s wide adoption is the SBML standard’s process for introducing extension modules, which allow incremental incorporation of new capabilities. While the core components of the standard are designed for describing kinetic chemical reaction network models, SBML extensions exist for encoding constraint–based models (the "flux– balance constraints" extension, employed by the widely used COBRA framework for constraint–based modeling [2, 3]), and rule–based models (the SBML "multi" extension [4]). SBML is used in several online model repositories includ-

Methods
Discussion & Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call