Programmatic modeling for biological systems. Issue 27 (September 2021) - Lubbock, Alexander L.R.; Lopez, Carlos F.
Abstract: Computational modeling has become an established technique to encode mathematical representations of cellular processes and gain mechanistic insights that drive testable predictions. These models are often constructed using graphical user interfaces or domain-specific languages, with community standards used for interchange. Models undergo steady-state or dynamic analysis, which can include simulation and calibration within a single application, or transfer across various tools. Here, we describe a novel programmatic modeling paradigm, whereby modeling is augmented with software engineering best practices. We focus on Python—a popular programming language with a large scientific package ecosystem. Models can be encoded as programs, adding benefits such as modularity, testing, and automated documentation generators, while still being extensible and exportable to standardized formats for use with external tools if desired. Programmatic modeling is a key technology to enable collaborative model development and enhance dissemination, transparency, and reproducibility. Highlights: Programmatic modeling combines computational modeling with software engineering best practices. An executable model enables users to leverage all available resources from the language. Community benefits include improved collaboration, reusability, and reproducibility. Python has multiple modeling frameworks with a broad, active scientific ecosystem.