Poincaré and SimBio: a versatile and extensible Python ecosystem for modeling systems

Mauro Silberberg,Henning Hermjakob,Rahuman S. Malik-Sheriff,Hernán E. Grecco
DOI: https://doi.org/10.1101/2024.01.10.574883
2024-01-12
Abstract:Chemical Reaction Networks (CRNs) play a pivotal role in diverse fields such as systems biology, biochemistry, chemical engineering, and epidemiology. High-level modelling of CRNs enables various simulation approaches, including deterministic and stochastic methods. However, existing Python tools for CRN modelling typically wrap external C/C++ libraries for modelling and simulation, limiting their extensibility and integration with the broader Python ecosystem. In response, we developed Poincaré and SimBio, two novel Python packages for the definition and simulation of dynamical systems and CRNs. Poincaré serves as a foundation for dynamical system modelling, 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. Additionally, to ensure a user-friendly experience, our packages use standard typed modern Python syntax that provides a seamless integration with Integrated Development Environments (IDEs). Python-centric approach significantly enhances code analysis, error detection, and refactoring capabilities, positioning Poincaré and SimBio as valuable tools for the modelling community.
Bioinformatics
What problem does this paper attempt to address?