From f8b735cc7b65faa33ff24d4b89606b3ac4285b2b Mon Sep 17 00:00:00 2001 From: "t.latour" Date: Tue, 5 May 2026 13:40:03 +0200 Subject: [PATCH 1/4] Fix typo in AI usage disclosure --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index ea569b8..f4116cb 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -98,7 +98,7 @@ Currently, $\texttt{estim8}$ does not incorporate gradient-based optimization al $\texttt{estim8}$ introduces a streamlined bioprocess modeling workflow that makes rigorous hypothesis testing accessible to domain experts without extensive computational background. By combining accessible Python interfaces and FMI-compliant modeling software such as $\texttt{OpenModelica}$, $\texttt{estim8}$ allows researchers to focus on the scientific question rather than the computational implementation. With comprehensive DAE support and tailored solutions for handling experimental replicates — which are increasingly relevant in the context of laboratory automation — $\texttt{estim8}$ enables rapid iteration through cycles of model evaluation, fitting, and falsification. This lowers the barrier for model-based reasoning in biotechnological applications, supporting faster translation of experimental observations into quantitative process understanding. ### AI usage disclosure -Claude 3.5 Sonnet was occasionally used during software development for drafting and refining implementation ides. No AI-generated code was incorporated into the software. All design decisions, code editing and reviews were conducted by the researchers. The authorship of this manuscript was conducted without the use of generative AI tools. +Claude 3.5 Sonnet was occasionally used during software development for drafting and refining implementation ideas. No AI-generated code was incorporated into the software. All design decisions, code editing and reviews were conducted by the researchers. The authorship of this manuscript was conducted without the use of generative AI tools. ### Author contributions From 7a6a50a8e83126276c16ed29e4e5c053c399d894 Mon Sep 17 00:00:00 2001 From: "t.latour" Date: Wed, 6 May 2026 08:26:07 +0200 Subject: [PATCH 2/4] Add Python range to install instructions --- README.md | 4 ++-- docs/source/index.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5948f9f..b3d497b 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ It is highly recommended to use a [conda](https://docs.conda.io/projects/conda/e ### 1. Installation from PyPI -It is advised to create a fresh virtual environent using ``mamba`` (or ``conda`` alternatively): +It is advised to create a fresh virtual environent using ``mamba`` (or ``conda`` alternatively) with any Python>=3.10,<3.14: ```bash - mamba create --name estim8 python==3.10 + mamba create --name estim8 python=3.13 mamba activate estim8 ``` diff --git a/docs/source/index.rst b/docs/source/index.rst index 2cd82fa..e15f94b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -29,11 +29,11 @@ It is highly recommended to use a `conda =3.10,<3.14: .. code-block:: bash - mamba create --name estim8 python==3.10 + mamba create --name estim8 python=3.13 mamba activate estim8 From b594f0f4e55bfceb52fa07e5236f2fbbec0f5c34 Mon Sep 17 00:00:00 2001 From: "t.latour" Date: Wed, 6 May 2026 13:46:23 +0200 Subject: [PATCH 3/4] Add statement on target audience --- paper/paper.md | 1 + 1 file changed, 1 insertion(+) diff --git a/paper/paper.md b/paper/paper.md index f4116cb..06f3569 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -48,6 +48,7 @@ Mathematical modeling has become a pivotal tool in biotechnological research and A crucial step in the modeling workflow is parameter estimation – or in layman's terms "fitting the model". This step questions the theoretical understanding of the system under investigation using real data, ultimately leading to confirmation or falsification of the hypotheses put forward. Although several general-purpose software tools for model formulation, simulation and parameter estimation exist, they currently present various limitations for biotechnological applications, particularly regarding DAE support, handling of experimental replicates, and accessibility. To address these limitations, we present $\texttt{estim8}$: a Python-based toolbox for simulation and parameter estimation of dynamic models. It is built on the Functional Mock-up Interface (FMI) standard [@RN42] and employs metaheuristic algorithms for optimization problems. $\texttt{estim8}$ provides specialized functionality for biotechnological applications, particularly in handling experimental replicates. By supporting model definition and simulation export from various FMI-compliant third-party software, including the open source OpenModelica platform [@RN22], $\texttt{estim8}$ enables comprehensive DAE support and convenient event handling. +$\texttt{estim8}$ is designed to provide straightforward access to modeling workflows for domain experts in biotechnological research without requiring extensive computational expertise. # State of the Field From 3fe80980e3f03a36e9a5f758e46bca5874c7a5f7 Mon Sep 17 00:00:00 2001 From: "t.latour" Date: Wed, 6 May 2026 12:16:57 +0200 Subject: [PATCH 4/4] Add detailed descriptions to figure legends --- paper/paper.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/paper/paper.md b/paper/paper.md index 06f3569..70d530d 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -67,6 +67,7 @@ The core of $\texttt{estim8}$ is the $\texttt{Estimator}$ class, which serves as ![](estim8_workflow.png) __Figure 1__: Schematic overview of the $\texttt{estim8}$ workflow. +A dynamic model is developed in a third-party FMI-compliant modeling tool (e.g. OpenModelica) and loaded into $\texttt{estim8}$ as an $\texttt{FmuModel}$. Experimental time series data from possibly multiple replicates is organized into $\texttt{Experiment}$ and $\texttt{Measurement}$ objects. The estimation problem is defined by specifying a $\texttt{ParameterMapping}$ — distinguishing global parameters shared across replicates from local replicate-specific parameters — along with parameter bounds. The $\texttt{Estimator}$ class provides three levels of analysis: point estimates via metaheuristic optimization ($\texttt{estimate()}$), parameter identifiability assessment via profile likelihood ($\texttt{profile\_likelihood()}$), and full parameter distributions via Monte Carlo sampling ($\texttt{mc\_sampling()}$), each with corresponding analysis plots. # Software Design @@ -90,6 +91,7 @@ To this end, $\texttt{estim8}$ provides the option to use a so-called federated __Figure 2__: Federated computation setup for differentiable objective functions. +A population-based optimization algorithm distributes candidate global parameter sets $\theta_{global}$ across a process pool for parallel evaluation. Within each process, the objective function performs replicate handling by dispatching replicate-specific local parameter sets $\theta_{local}$ to federated worker nodes via gRPC streams. Each worker independently simulates the FMU and returns its replicate-specific likelihood contribution $\mathcal{L}(\theta_{local}|y_{local})$. Workers can be deployed across multiple machines (e.g. in a compute cluster), introducing an additional parallelization layer on top of the process pool for computationally expensive models. # Limitations Currently, $\texttt{estim8}$ does not incorporate gradient-based optimization algorithms, which could enhance parameter estimation efficiency through parametric sensitivities [@RN43]. This capability could be implemented once OpenModelica supports FMI 3.0 [@RN46], providing access to adjoint derivative functions, which are essential for efficiently computing gradients in high-dimensional parameter spaces. Future developments include the integration of Bayesian optimization methods from packages like $\texttt{PyMC}$ [@RN45] and $\texttt{hopsy}$ [@RN44].