pamodelpy
Repository for source code of the PAModelpy package
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: nature.com, plos.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Repository
Repository for source code of the PAModelpy package
Basic Info
- Host: GitHub
- Owner: iAMB-RWTH-Aachen
- License: gpl-2.0
- Language: Jupyter Notebook
- Default Branch: main
- Size: 180 MB
Statistics
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 1
- Releases: 5
Metadata Files
README.md
PAModelpy - Protein Allocation Model reconstruction in Python
What is PAModelpy?
Models of metabolism are powerful tools to explore the metabolic potential of microorganism. Powerful tools have been created to support Python-based analysis of genome-scale models. These models, however, cannot capture all metabolic phenotypes and the simulation results have high flux variability. Adding protein to each reaction increases the simulation fidelity. The PAModelpy package is designed to integrate protein constraints and protein sectors as described by Alter et al. (2021) to metabolic models. It is the Python implementation of the PAM MATLAB framework to create GECKO like ME models. Furthermore, it implements sEnz, a sensitivity analysis for finding the most influential enzymes with respect to the growth rate.
The PAModelpy package builds upon the community-wide used COBRApy. We have extended this package with the following features: - protein-reaction associations - infrastructure to include isozymes and promiscuous enzymes - protein sectors - specialized objects to build protein allocation models - sEnz: the possibility to perform a computational efficient sensitivity analysis
Installation
IMPORTANT: PAModelpy is only compatible with Python >= 3.9 and <=3.11
PAModelpy is a PiPy package which allows for easy installation with pip:
pip install PAModelpy
Note that the package has been tested with the Gurobi solver. In order for Gurobi to work properly, please install gurobipy with a version matching your license.
For example for the version used for the development of PAModelpy:
pip install gurobipy==9.5.2
Documentation
The documentation including coding examples can be found here.
What can you find where in this repository?
This repository contains not only the source code, but also examples and scripts which were used in van den Bogaard et al. (2024).
- Data
- eGFPexpressionBienick2014: measured growth rate and eGFP expression by Bienick et al. (2014)
- proteinAllocationModeliML1515EnzymaticData_py: information about the proteinsectors of the PAM for Escherichia coli (E.coli)
- proteomedataextract_schmidt2016: quantitative proteomics data from Schmidt et al. (2016) used to parametrize the E.coli core PAM
- Ecoliphenotypes/Ecoliphenotypespyrev: experimental physiology measurements to validate the model simulations
- Figures: scripts used to create Figure 1-3 and supplementary figures
- MATLAB: MATLAB code for doing simulations with the E.coli core PAM and the toy model (validating the sensitivity relationships)
- Models: models used (iML1515 and core ecoli model)
- Results: results of computational performance analysis
- Scripts: scripts used for gathering results
- computational performance analysis: compare_computational_efficiency_esc.py and numeric_error_estimation_schemes_esc.py
- E.coli core PAM creation: analyze_proteome.ipynb and create_ecolicore_pam_incl_UE.ipynb
- Sensitivity analysis: toy_ec_pam.py and Ecoli_core_sensitivity_analysis.ipynb
- src/PAModelpy: source code for PAModelpy package
Code structure:
- EnzymeSectors: The objects which are used to store the data of the different enzyme sectors which are added to the genome-scale model
- PAModel: Proteome Allocation (PA) model class. This class builds on to the
cobra.core.Modelclass from the COBRApy toolbox with functions to build enzyme sectors, to add enzyme kinetics parameters and in the future to perform a sensitivity analysis on the enzyme variables. - Enzyme: Different classes which relate enzymes to the model with enzyme constraints and variables.
- CatalyticEvent: A class which serves as an interface between reactions and enzyme. This allows for easy lookup of Protein-Reaction associations.
- PAMValidator: Functions to validate the model predictions with physiology data and giving a graphical overview. The script uses data for E.coli (found in
./Data/Ecoli_physiology) by default.
Dependencies
Because of the version of numpy used, the PAModelpy is only compatible with Python >= 3.9 and <=3.11.
Dependencies for the scripts in this repository, not included in the PAModelpy package:
- PAModelpy
- gurobipy
- matplotlib
- scipy
- time
- resource
- PIL
All dependencies can be installed in one go by downloading this repository and running:
python setup.py install
from the src directory
The dependencies of the PAModelpy package can be found in src/pyproject.toml
How to cite?
Did you use this package in your work? Please cite use by clicking the 'cite this repository' button on the right side and select your favourite format.
License
Copyright institute of Applied Microbiology, RWTH Aachen University, Aachen, Germany (2025)
PAModelpy is released under both the GPL and LGPL licenses version 2 or later. You may choose which license you choose to use the software under.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License or the GNU Lesser General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program 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.
Owner
- Name: iAMB-RWTH-Aachen
- Login: iAMB-RWTH-Aachen
- Kind: organization
- Repositories: 9
- Profile: https://github.com/iAMB-RWTH-Aachen
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: PAModelpy
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Samira Larissa
name-particle: van den
family-names: Bogaard
email: samira.vandenbogaard@rwth-aachen.de
affiliation: 'institute of Applied Microbiology, RWTH Aachen'
orcid: 'https://orcid.org/0000-0003-0746-4863'
repository-code: 'https://github.com/iAMB-RWTH-Aachen/PAModelpy'
url: 'https://pamodelpy.readthedocs.io/en/latest/'
abstract: >-
Models of metabolism are powerful tools to explore the
metabolic potential of microorganism. Powerful tools have
been created to support Python-based analysis of
genome-scale models. These models, however, cannot capture
all metabolic phenotypes and the simulation results have
high flux variability. Adding protein to each reaction
increases the simulation fidelity. The PAModelpy package
is designed to integrate protein constraints and protein
sectors as described by Alter et al. (2021) to metabolic
models. It is the Python implementation of the PAM MATLAB
framework to create GECKO like ME models. Furthermore, it
implements sEnz, a sensitivity analysis for finding the
most influential enzymes with respect to the growth rate.
The PAModelpy package builds upon the community-wide used
COBRApy.
keywords:
- metabolic models
- protein allocation model
- resource allocation
license: GNU GENERAL PUBLIC LICENSE
commit: 3955f40bf6fc61b9844d75f7c0408c1366495455
version: 0.0.4.6
date-released: '2025-01-29'
GitHub Events
Total
- Create event: 6
- Issues event: 2
- Release event: 5
- Watch event: 1
- Issue comment event: 4
- Member event: 1
- Push event: 106
- Pull request review event: 1
- Pull request event: 1
- Fork event: 1
Last Year
- Create event: 6
- Issues event: 2
- Release event: 5
- Watch event: 1
- Issue comment event: 4
- Member event: 1
- Push event: 106
- Pull request review event: 1
- Pull request event: 1
- Fork event: 1