estim8
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.
Installation:
It is highly recommended to use a conda or preferably a mamba environment manager.
1. Installation from PyPI
It is advised to create a fresh virtual environent using mamba (or conda alternatively) with any Python>=3.10,<3.14:
mamba create --name estim8 python=3.13
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
2 Development Installation
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
Setting up the environment
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
Importing estim8
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')
Documentation
Check out our documentation, where we provide a series of example notebooks.
Contributing
When encountering bugs using estim8, please bring them to our attention by opening a issue. When doing so, describe the problem in detail and add minimal code snippets for reproducing the problem, along with any other material that might be usefull. For contributions to our codebase, clone the repository, create a new branch and open a pull request (PR).
Usage and Citing
estim8 is licensed under the GNU Affero General Public License v3.0.
A citable publication is coming soon.
Metadata
Release files for estim8 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| estim8-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Release files / estim8-0.1.6-py3-none-any.whl
| Download URL | estim8-0.1.6-py3-none-any.whl |
|---|---|
| Size | 45.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
517da7023b52eef0e964e7b6c0c8f34c84ad143be5d9db841756351ff117556a
|
|
BLAKE2b-256 checksum How to use checksums |
0d989eaec16c196b09a3a11141e8be4953b88ea53b8f2f41b25eff6bf28cb442
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|