Skip to main content

A parameter estimation tool for DAE models implemented compliant to the Functional Mockup Interface

Project description

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.

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

estim8-0.1.4-py3-none-any.whl (45.9 kB view details)

Uploaded Python 3

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

Hashes for estim8-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9f51b9c0d14141ca242030ef509bd7f420abafdf39725f5f091a6f0a7a90d5ac
MD5 65abb5bfcb069b87835ef261c16d05ce
BLAKE2b-256 36bbc3fd7154698362951f8d3170ef637969eb956ada6abd960319d2bc2b9df3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page