Skip to content

JuBiotech/estim8

Repository files navigation

PyPI version pipeline coverage documentation

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:

  1. navigate to the directory of your computer where you want the repository to be located
  2. open a terminal and run git clone https://github.com/JuBiotech/estim8.git
  3. 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.

Usage and Citing

estim8 is licensed under the GNU Affero General Public License v3.0.

A citable publication is coming soon.