Department of Bioengineering, University of Washington, Box 355061, Seattle, WA 98195-5061, United States of America.
eScience Institute, University of Washington, Seattle, WA, United States of America.
Biosystems. 2020 Jul;195:104150. doi: 10.1016/j.biosystems.2020.104150. Epub 2020 Apr 24.
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.
SBML 标准被用于许多在线存储库中,用于存储系统生物学模型,然而,目前还没有可读写 SBML 格式的 Web 功能 JavaScript 库。这是一个严重的限制,因为 Web 已经成为软件分发的通用手段,而现代网络浏览器的图形功能为构建丰富、交互式的应用程序提供了强大的手段。此外,有越来越多的专门从事网络技术的开发人员,他们准备利用 Web 的普遍性来构建系统生物学和其他领域的下一代工具。然而,当前的解决方案需要服务器端处理才能支持现有的建模标准。我们提出了 libsbmljs,这是一个用于 Node.js 和 Web 的 JavaScript/WebAssembly 库,完全支持所有 SBML 扩展。我们的库是在线 SBML 编辑器、模型构建工具和基于 Web 的模拟器的使能技术,完全在浏览器中运行,不需要任何专用服务器资源。我们提供了 NPM 包、一套丰富的示例、JavaScript API 文档和一个在线演示,允许用户读取和验证 BioModels 和 BiGG 数据库中任何模型的 SBML 内容。我们还提供了说明和脚本,允许用户针对任何 libSBML 版本构建 libsbmljs 的副本。尽管我们的库支持所有现有的 SBML 扩展,但我们将介绍如何在包装器中添加其他扩展,如果将来出现任何扩展。为了演示此实现的实用性,我们还在 https://libsbmljsdemo.github.io/ 提供了一个演示,其中包含一个支持 ODE 和随机模拟的概念验证 SBML 模拟器,用于 SBML 核心模型。我们的项目托管在 https://libsbmljs.github.io/,其中包含示例、API 文档以及用于创建 libsbmljs 的所有源文件和构建脚本的链接。我们的源代码根据 Apache 2.0 开源许可证获得许可。