davincios / pyFOOMB

Framework for Object Oriented Modelling of Bioprocesses

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

codecov Tests DOI License: MIT GitHub release (latest by date)

pyFOOMB

Python Framework for Object Oriented Modelling of Bioprocesses

Intented application is the acessible modelling of simple to medium complex bioprocess models, by programmatic means. In contrast to 'full-blown' software suites, pyFOOMB can be used by scientists with little programming skills in the easy-access language Python. pyFOOMB comes with a MIT license, and anyone interested in using, understanding, or contributing to pyFOOMB is happily invited to do so.

pyFOOMB relies on the assimulo package (https://jmodelica.org/assimulo), providing an interface to the SUNDIALS CVode integrator for systems of differential equations, as well as event handling routines. For optimization, i.e. model calibration from data, the pygmo package is used, which provides Python bindings for the pagmo2 package implementing the Asynchronous Generalized Islands Model.

To faciliate rapid starting for new users, a continously growing collection of Jupyter notebooks is provided. These serve to demonstrate basic and advanced concepts and functionalities (also beyond the pure functions of the pyFOOMB package). Also, the examples can be used as building blocks for developing own bioprocess models and corresponding workflows.

Check also our open access publication at Engineering in Life Sciences introducing pyFOOMB with two more elaborated application examples that reproduce real-world data from literature.

Literature:

  • Andersson C, Führer C, and Akesson J (2015). Assimulo: A unified framework for ODE solvers. Math Comp Simul 116:26-43
  • Biscani F, Izzo D (2020). A parallel global multiobjective framework for optimization: pagmo. J Open Source Softw 5:2338
  • Hindmarsh AC, et al (2005). SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers. ACM Trans Math Softw 31:363-396

Requirements (provided as environment.yml)

  • python 3.7, 3.8 or 3.9
  • numpy
  • scipy
  • joblib
  • pandas
  • openpyxl
  • matplotlib(-base)
  • seaborn(-base)
  • psutil
  • assimulo (via conda-forge)
  • pygmo (via conda-forge)

Easy installation

  1. Open a terminal / shell
  2. Optional: Create a new environment with conda env create -n my-pyfoomb-env python=3.9 and activate it with conda activate my-pyfoomb-env
  3. Install pyFOOMB by executing conda install -c conda-forge pyfoomb

Development installation

  1. Download the code repository to your computer, this is done the best way using git clone: In a shell, navigate to the folder where you want the repository to be located.
  2. Open a terminal / shell and clone the repository via git clone https://github.com/MicroPhen/pyFOOMB.git
  3. cd (change directory) into the newly cloned repository : cd pyfoomb
  4. Verify that you are in the repo folder, where the file environment.yml is found (dir for Windows, ls for Linux/Mac).
  5. Exceute conda env create -f environment.yml. This will create a conda environment named pyfoomb, with the current version of the just cloned git repository.
  6. Don't forget to activate the newly created environment to install the pyFOOMB package in the next step
  7. To make sure, your environment will refer always the state of your git repo (i.e., after own code modifications or after pulling from remote), run pip install -e ../pyfoomb.

About

Framework for Object Oriented Modelling of Bioprocesses

License:MIT License


Languages

Language:Python 100.0%