A parameter estimation tool for DAE models implemented compliant to the Functional Mockup Interface
Project description
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):
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
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file estim8-0.1.4-py3-none-any.whl.
File metadata
- Download URL: estim8-0.1.4-py3-none-any.whl
- Upload date:
- Size: 45.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f51b9c0d14141ca242030ef509bd7f420abafdf39725f5f091a6f0a7a90d5ac
|
|
| MD5 |
65abb5bfcb069b87835ef261c16d05ce
|
|
| BLAKE2b-256 |
36bbc3fd7154698362951f8d3170ef637969eb956ada6abd960319d2bc2b9df3
|