estim8
is a open source Python toolbox for parameter estimation of dynamic (bio)process models compliant to the Functional Mockup Interface (FMI) standard.
It provides a high-level API for simulation and analysis of FMU models, employing ODE or DAE systems written and compiled from third-party software like e.g. the open source modeling environment of OpenModelica. estim8
offers special functionality with respect to biotechnological applications, for example the modeling of experimental replicates or measurement noise.
For now, it relies on global meta-heuristic optimization algorithms from scipy
and the highly scalable approaches provided by pygmo
to solve parameter estimation problems, and provides methods for uncertainty quantification.
estim8
is build using a highly modular object-oriented architecture, making it easily extensible for custom flavoured implementations.
It is highly recommended to use a conda or preferably a mamba environment manager.
It is advised to create a fresh virtual environent using mamba
(or conda
alternatively):
mamba create --name estim8 python==3.10
mamba activate estim8
NOTE: Not all dependencies are packaged with the PyPI version. In order to use pygmo
optimizers, the package needs to be installed manually. When using federated setups on Windows, additionally install m2w64-toolchain
. These packages need to be installed before installing estim8
!
mamba install -c conda-forge pygmo m2w64-toolchain
estim8
can then easily be installed using pip
:
pip install estim8
Download the source code repository to your computer, best by using git
:
- navigate to the directory of your computer where you want the repository to be located
- open a terminal and run
git clone https://github.com/JuBiotech/estim8.git
- change into the dowloaded directory
cd estim8
It is advised to create a fresh virtual environent:
conda create --name <env_name>
conda activate <env_name>
conda env update --name <env_name> --file environment.yml
To get the most recent version, open a terminal in the repository and run:
git pull
In Python, add the following lines ath the top of your code. Don't forget to adjust the path.
import sys
sys.path.append('path/to/repo')
Check out our documentation, where we provide a series of example notebooks.
estim8
is licensed under the GNU Affero General Public License v3.0.
A citable publication is coming soon.