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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ It is highly recommended to use a `conda <https://docs.conda.io/projects/conda/e

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:

.. code-block:: bash

mamba create --name estim8 python==3.10
mamba create --name estim8 python=3.13
mamba activate estim8


Expand Down
5 changes: 4 additions & 1 deletion paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -66,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
Expand All @@ -89,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].
Expand All @@ -98,7 +101,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
Expand Down
Loading