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
- 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)
- Open a terminal / shell
- Optional: Create a new environment with
conda env create -n my-pyfoomb-env python=3.9
and activate it withconda activate my-pyfoomb-env
- Install
pyFOOMB
by executingconda install -c conda-forge pyfoomb
- 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. - Open a terminal / shell and clone the repository
via
git clone https://github.com/MicroPhen/pyFOOMB.git
- cd (change directory) into the newly cloned repository :
cd pyfoomb
- Verify that you are in the repo folder, where the file
environment.yml
is found (dir
for Windows,ls
for Linux/Mac). - Exceute
conda env create -f environment.yml
. This will create a conda environment namedpyfoomb
, with the current version of the just cloned git repository. - Don't forget to activate the newly created environment to install the
pyFOOMB
package in the next step - 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
.