Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion paper/literature.bib
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ @fdm.uni-freiburg.deSupplementary

@article{RN15,
author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and van der Walt, Stéfan J. and Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and Kern, Robert and Larson, Eric and Carey, C. J. and Polat, İlhan and Feng, Yu and Moore, Eric W. and VanderPlas, Jake and Laxalde, Denis and Perktold, Josef and Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and Harris, Charles R. and Archibald, Anne M. and Ribeiro, Antônio H. and Pedregosa, Fabian and van Mulbregt, Paul and Vijaykumar, Aditya and Bardelli, Alessandro Pietro and Rothberg, Alex and Hilboll, Andreas and Kloeckner, Andreas and Scopatz, Anthony and Lee, Antony and Rokem, Ariel and Woods, C. Nathan and Fulton, Chad and Masson, Charles and Häggström, Christian and Fitzgerald, Clark and Nicholson, David A. and Hagen, David R. and Pasechnik, Dmitrii V. and Olivetti, Emanuele and Martin, Eric and Wieser, Eric and Silva, Fabrice and Lenders, Felix and Wilhelm, Florian and Young, G. and Price, Gavin A. and Ingold, Gert-Ludwig and Allen, Gregory E. and Lee, Gregory R. and Audren, Hervé and Probst, Irvin and Dietrich, Jörg P. and Silterra, Jacob and Webber, James T. and Slavič, Janko and Nothman, Joel and Buchner, Johannes and Kulick, Johannes and Schönberger, Johannes L. and de Miranda Cardoso, José Vinícius and Reimer, Joscha and Harrington, Joseph and Rodríguez, Juan Luis Cano and Nunez-Iglesias, Juan and Kuczynski, Justin and Tritz, Kevin and Thoma, Martin and Newville, Matthew and Kümmerer, Matthias and Bolingbroke, Maximilian and Tartre, Michael and Pak, Mikhail and Smith, Nathaniel J. and Nowaczyk, Nikolai and Shebanov, Nikolay and Pavlyk, Oleksandr and Brodtkorb, Per A. and Lee, Perry and McGibbon, Robert T. and Feldbauer, Roman and Lewis, Sam and Tygier, Sam and Sievert, Scott and Vigna, Sebastiano and Peterson, Stefan and More, Surhud and Pudlik, Tadeusz and Oshima, Takuya and others },
title = {SciPy 1.0: fundamental algorithms for scientific computing in Python},
title = {{{SciPy} 1.0: {F}undamental Algorithms for Scientific Computing in {P}ython}},
journal = {Nature Methods},
volume = {17},
number = {3},
Expand Down
6 changes: 3 additions & 3 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ bibliography: literature.bib
---

# Summary
Modeling and simulation are indispensable tools for understanding the complex nature of biological systems and making the most of the information contained in experimental data. Functional integration of quantitative measurement data and rigorous parameter estimation are essential for creating valid, predictive models. We present $\texttt{estim8}$, a Python package for FMI-compliant ODE and DAE (bio)process modeling and parameter estimation. It offers convenient handling of multiple experimental replicates coupled with highly scalable solutions using federated simulation operations. The source code is available on [GitHub](https://github.com/JuBiotech/estim8). The package is unit-tested on Windows and Linux. Thorough documentation is available under [https://estim8.readthedocs.io](https://estim8.readthedocs.io) including various example notebooks.
Modeling and simulation are indispensable tools for understanding the complex nature of biological systems and making the most of the information contained in experimental data. Functional integration of quantitative measurement data and rigorous parameter estimation are essential for creating valid predictive models. We present $\texttt{estim8}$, a Python package for FMI-compliant ODE and DAE (bio)process modeling and parameter estimation. It offers convenient handling of multiple experimental replicates coupled with highly scalable solutions using federated simulation operations. The source code is available on [GitHub](https://github.com/JuBiotech/estim8). The package is unit-tested on Windows and Linux. Thorough documentation is available under [https://estim8.readthedocs.io](https://estim8.readthedocs.io) including various example notebooks.

# Statement of Need
Mathematical modeling has become a pivotal tool in biotechnological research and industrial bioprocess development, supporting the analysis and interpretation of complex experimental data [@RN29; @RN27; @RN28; @RN38]. While ordinary differential equations (ODEs) are commonly used to describe continuous biological systems, many biotechnological applications require differential algebraic equation (DAE) systems to handle discontinuities, discrete events, physical constraints, and embedded optimization criteria [@RN26].
Expand All @@ -54,7 +54,7 @@ $\texttt{estim8}$ is designed to provide straightforward access to modeling work
# State of the Field

Many established tools such as pyFOOMB [@RN30], COPASI [@RN33], PyBioNetFit [@RN34],
and Data2Dynamics [@RN31] are limited to ODE systems, leaving users without native support for the DAE formulations often required in biotechnological process modeling. DAE Tools [@RN35] and ModestPy [@RN36] support DAE systems but lack dedicated functionality for common biotechnological workflows such as structured handling of experimental replicates across different contidions, and therefore require substantial workarounds. The combination of AMICI [@RN32] and pyPESTO [@RN48] offers high-performance sensitivity analysis, but poses a relatively high entry barrier with respect to model formulation, making it less accessible to domain experts without extensive computational background.
and Data2Dynamics [@RN31] are limited to ODE systems, leaving users without native support for the DAE formulations often required in biotechnological process modeling. DAE Tools [@RN35] and ModestPy [@RN36] support DAE systems but lack dedicated functionality for common biotechnological workflows such as structured handling of experimental replicates across different conditions, and therefore require substantial workarounds. The combination of AMICI [@RN32] and pyPESTO [@RN48] offers high-performance sensitivity analysis, but poses a relatively high entry barrier with respect to model formulation, making it less accessible to domain experts without extensive computational background.
$\texttt{estim8}$ combines FMI-based DAE support, dedicated replicate handling, and an accessible Python interface to address these gaps.


Expand All @@ -63,7 +63,7 @@ The workflow in $\texttt{estim8}$ follows a structured approach to bioprocess mo

The exported FMU is then loaded into $\texttt{estim8}$ using the $\texttt{FmuModel}$ class. The package implements a structured data hierarchy where $\texttt{Experiment}$ objects contain $\texttt{Measurement}$ objects with an associated $\texttt{error\_model}$ and an $\texttt{observation\_mapping}$. A key feature of $\texttt{estim8}$ is its comprehensive handling of biological replicates, which are crucial for the statistical quality of data from biological experiments [@RN37]. Based on a user-defined $\texttt{ParameterMapping}$, common properties of replicates and different conditions between them can be modeled by defining so-called global and local parameters. This concept utilizes redundant information in the measurement data, thereby effectively reducing the number of parameters to be estimated [@RN30; @RN47; @HelleckesOsthege2022].

The core of $\texttt{estim8}$ is the $\texttt{Estimator}$ class, which serves as a central hub for managing parameter estimation tasks. This class stores all data entered by the user and provides functions for solving optimization problems. In addition, identifiability analyses and uncertainty quantifications can be performed using profile likelihood or Monte Carlo sampling. The $\texttt{visualization}$ module offers comprehensive visualization methods for analyzing simulation results, comparing model predictions with experimental data, and evaluating parameter estimation results. A thorough guideline is given by several example notebooks in our [documentation](https://estim8.readthedocs.io/en/latest/).
The core of $\texttt{estim8}$ is the $\texttt{Estimator}$ class, which serves as a central hub for managing parameter estimation tasks. This class stores all data entered by the user and provides functions for solving optimization problems. In addition, identifiability analysis and uncertainty quantification can be performed using profile likelihood or Monte Carlo sampling. The $\texttt{visualization}$ module offers comprehensive visualization methods for analyzing simulation results, comparing model predictions with experimental data, and evaluating parameter estimation results. A thorough guideline is given by several example notebooks in our [documentation](https://estim8.readthedocs.io/en/latest/).

![](estim8_workflow.png)
__Figure 1__: Schematic overview of the $\texttt{estim8}$ workflow.
Expand Down
Loading