Skip to main content

Package for automated generation of bacterial Resource Balance Analysis (RBA) models and simulation of RBA models

Project description

RBApy is a open-source Python package for the automated generation of bacterial Resource Balance Analysis (RBA) models (https://rba.inrae.fr). Existing RBA models for Bacillus subtilis 168 (wild type), Escherichia coli K-12 (wild type) and CO2-fixing Escherichia coli K-12 (an engineered strain) can be found here: https://github.com/SysBioInra/Bacterial-RBA-models.

For a complete documentation on RBApy installation and usage, please visit the website: https://sysbioinra.github.io/RBApy/

Installation

RBApy requires one of the linear programming solvers IBM CPLEX, GLPK, or Gurobi. Note, while GLPK is capable of executing the example models in the tutorial, in our experience, GLPK is prohibitively slow for real RBA models. IBM and Gurobi both provide free licenses for academic research.

  1. Optionally, install the CPLEX linear programming solver.

  2. Install this package from PyPI:

    ` pip install rbapy `

    Optionally, also install CPLEX by installing RBApy with the cplex option. Note, this requires a CPLEX license.:

    ` pip install rbapy[cplex] `

    Optionally, also install GLPK by installing RBApy with the swiglpk option. Note, this requires libglpk-dev.:

    ` pip install rbapy[swiglpk] `

    Optionally, also install Gurobi by installing RBApy with the gurobi option. Note, this requires a Gurobi license.:

    ` pip install rbapy[gurobi] `

More information about how to install RBApy is available at https://sysbioinra.github.io/RBApy/installation.html.

Remark on usage

When using RBApy in own Python code, it must be imported as: rba

` import rba `

Running

For more detailed instructions on usage, please refer to the RBApy website https://sysbioinra.github.io/RBApy/.

Put the SBML file containing the Genome Size Metabolic Model (GSMM) of your organism of interest in the input directory and fill in the parameter file input/params.in. Then open a console at the root of the repository and run:

` python generate_rba_model.py input/params.in `

or, more generally:

` python generate_rba_model.py path/to/params.in `

The script will generate several files used as an input for the RBA solver. By default, they will be written to the output directory.

Warning: for the first run, the script will download and parse Uniprot data as best it can. Unfortunately, numerous values cannot be parsed properly and are replaced with default values. The script will generate many helper files to replace these default values with hand-curated values. You should fill in these helper files and rerun the script to obtain more relevant output (see instructions below).

If rbapy has been installed properly, there also exists command-line interface called by:

` generate-rba-model path/to/params.in `

Once the RBA model has been generated, you can solve it using:

` python solve_rba_model.py path/to/model `

where the path points to the directory containing the XML files defining the RBA model.

If rbapy was installed properly, there also exists command-line interface called by:

` solve-rba-model path/to/model `

Running RBApy with Gurobi

To use RBApy with Gurobi, either:

  • Save your license to your home directory (~/gurobi.lic) or to the appropriate location for your OS (e.g., /opt/gurobi/gurobi.lic for Linux).

  • Encode your license variables (e.g., WLSACCESSID, WLSSECRET, LICENSEID) into environment variables with the prefix GRB_ (e.g., GRB_WLSACCESSID, GRB_WLSSECRET, GRB_LICENSEID).

SBML file requirements

The SBML file must be a valid SBML file, with gene-reaction associations. RBApy assumes that the boolean relation is always “or”s of “and”s, e.g. (g1 and g2) or (g3 and g4) Moreover, the words “or” and “and” must be written in lowercase letters. Empty fields in Gene-association will be interpreted as a diffusion reaction.

Authors

Fischer S. , Bulovic A. , Goelzer A. , Bodeit, O., Dinh M.

Citation

If you use RBApy for scientific publications, please cite Bulović A., Fischer S., Dinh M., Golib F., Liebermeister W., Poirier C., Tournier L., Klipp E., Fromion V., Goelzer A. (2019), “Automated generation of bacterial resource allocation models”, Metabolic Engineering 55 (2019) 12–22. https://doi.org/10.1016/j.ymben.2019.06.001.

License

Copyright (c) 2018 INRAE - MaIAGE - France.

RBApy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

RBApy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with RBApy. If not, see <https://www.gnu.org/licenses/>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rbapy-2.0.1.tar.gz (6.4 MB view details)

Uploaded Source

Built Distribution

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

rbapy-2.0.1-py2.py3-none-any.whl (96.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file rbapy-2.0.1.tar.gz.

File metadata

  • Download URL: rbapy-2.0.1.tar.gz
  • Upload date:
  • Size: 6.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.3 CPython/3.6.5

File hashes

Hashes for rbapy-2.0.1.tar.gz
Algorithm Hash digest
SHA256 0f068819add3e586f1a568488e460910fff84f05c3c34d9d56fa51852f3adf84
MD5 48cc3e219960c1a29180ea309231cf1b
BLAKE2b-256 85a512eadbc7a6df93e5249ef47277d1e314d38642ce31376f9720ae964692d4

See more details on using hashes here.

File details

Details for the file rbapy-2.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: rbapy-2.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 96.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.3 CPython/3.6.5

File hashes

Hashes for rbapy-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b27a6b88cd40de536b15801c5dec0fc9f8da3eeda90ff8f117eb17f4002d149e
MD5 31b4e93ea1171bb200de87e6621f05f9
BLAKE2b-256 5baf32d65d1ff74e1746bbd783ea42a584d0d0cda6f279f37fde86acc4ea3d7e

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