Universidad de Buenos Aires, Facultad de Ciencias Exactas y Naturales, Departamento de Física, Buenos Aires 1426, Argentina.
CONICET - Universidad de Buenos Aires, Instituto de Física de Buenos Aires (IFIBA), Buenos Aires 1426, Argentina.
Bioinformatics. 2024 Aug 2;40(8). doi: 10.1093/bioinformatics/btae465.
Chemical reaction networks (CRNs) play a pivotal role in diverse fields such as systems biology, biochemistry, chemical engineering, and epidemiology. High-level definitions of CRNs enables to use various simulation approaches, including deterministic and stochastic methods, from the same model. However, existing Python tools for simulation of CRN typically wrap external C/C++ libraries for model definition, translation into equations and/or numerically solving them, limiting their extensibility and integration with the broader Python ecosystem.
In response, we developed Poincaré and SimBio, two novel Python packages for simulation of dynamical systems and CRNs. Poincaré serves as a foundation for dynamical systems modeling, while SimBio extends this functionality to CRNs, including support for the Systems Biology Markup Language (SBML). Poincaré and SimBio are developed as pure Python packages enabling users to easily extend their simulation capabilities by writing new or leveraging other Python packages. Moreover, this does not compromise the performance, as code can be just-in-time compiled with Numba. Our benchmark tests using curated models from the BioModels repository demonstrate that these tools may provide a potentially superior performance advantage compared to other existing tools. In addition, to ensure a user-friendly experience, our packages use standard typed modern Python syntax that provides a seamless integration with integrated development environments. Our Python-centric approach significantly enhances code analysis, error detection, and refactoring capabilities, positioning Poincaré and SimBio as valuable tools for the modeling community.
Poincaré and SimBio are released under the MIT license. Their source code is available on GitHub (https://github.com/maurosilber/poincare and https://github.com/hgrecco/simbio) and can be installed from PyPI or conda-forge.
化学反应网络 (CRN) 在系统生物学、生物化学、化学工程和流行病学等多个领域发挥着关键作用。CRN 的高级定义能够使用各种模拟方法,包括确定性和随机性方法,从同一个模型中进行模拟。然而,现有的用于 CRN 模拟的 Python 工具通常会封装用于模型定义、将其转换为方程和/或对其进行数值求解的外部 C/C++ 库,这限制了它们的可扩展性和与更广泛的 Python 生态系统的集成性。
针对这一问题,我们开发了 Poincaré 和 SimBio,这两个用于模拟动力系统和 CRN 的新型 Python 包。Poincaré 是动力系统建模的基础,而 SimBio 则扩展了这一功能,包括对系统生物学标记语言 (SBML) 的支持。Poincaré 和 SimBio 都是纯 Python 包,用户可以通过编写新的代码或利用其他 Python 包来轻松扩展其模拟功能。此外,这种方法不会影响性能,因为代码可以使用 Numba 即时编译。我们使用 BioModels 存储库中精心挑选的模型进行基准测试,结果表明这些工具与其他现有工具相比,可能具有潜在的优越性能优势。此外,为了确保用户友好的体验,我们的包使用标准的现代 Python 类型语法,与集成开发环境实现了无缝集成。我们的 Python 中心方法显著增强了代码分析、错误检测和重构功能,使 Poincaré 和 SimBio 成为建模社区的有价值的工具。
Poincaré 和 SimBio 都采用 MIT 许可证发布。它们的源代码可以在 GitHub 上找到(https://github.com/maurosilber/poincare 和 https://github.com/hgrecco/simbio),也可以从 PyPI 或 conda-forge 进行安装。