Simulate metabolic flux distributions, gene knockouts, and dynamic modeling for S. cerevisiae
Project description
yEscher
yEscher
is a Python package designed to simulate metabolic flux distributions, gene knockouts, and dynamic modeling for S. cerevisiae. It is built on top of the yeastGEM metabolic model and integrates with various analysis libraries, such as cobra
, pytfa
, and optlang
. This tool allows for both static and dynamic flux balance analysis (FBA) as well as enzyme usage simulations.
Table of Contents
Features
- Metabolic Simulation: Run gene knockout simulations and simulate metabolic flux distributions using eTFLa models.
- Dynamic FBA: Model the dynamic response of enzyme concentrations and substrate uptakes over time.
- Flux Variability Analysis: Perform flux variability analysis to explore alternative metabolic pathways.
- Essential Gene Identification: Identify essential genes using single-gene deletion analysis.
- Integrated Visualization: Automatically generate metabolic maps using
Escher
for intuitive flux visualization.
Installation
Prerequisites
Ensure you have the following installed on your system:
- Python 3.7 or higher
pip
(Python package installer)
Installing yEscher
-
Clone the repository:
git clone https://github.com/Shyamsaibethina/yEscher.git cd yEscher
-
Install the package and dependencies:
pip install .
Alternatively, you can install the package in development mode using:
pip install -e .
Installing with Conda
If you prefer using Conda, you can create a virtual environment and install the package as follows:
conda create -n yescher python=3.9
conda activate yescher
pip install .
Additional Dependencies
You may need the following libraries, which are included in requirements.txt
:
optlang
pytfa
cobra
pandas
sympy
escher
gurobipy
(for optimization)
Run this command to install all dependencies:
pip install -r requirements.txt
Running Knockout Simulations
The knockout
function allows for simulating gene knockouts and generating metabolic maps. The model path is now referenced using an Enum
class (ETFL
).
from yEscher.knockout import knockout
from yEscher.enumETFL import ETFL
# Use the ETFL Enum to get the path to the eTFLa model
etfl_model_path = ETFL.CEFL.value
# Paths for output
map_file_path = './output/maps/'
csv_file_path = './output/csv/'
knockouts = ['gene1', 'gene2']
# Run knockout simulation
knockout(growth_rate=0.5, knockouts=knockouts, map_file_path=map_file_path,
csv_file_path=csv_file_path, map_name='yeast_map', etfl_model_path=etfl_model_path)
Performing Flux Variability Analysis
The perform_flux_variability_analysis
function helps analyze the flux ranges for all reactions in the model.
from yEscher.flux_analysis import perform_flux_variability_analysis
from yEscher.enumETFL import ETFL
# Load eTFLa model using the ETFL enum
etfl_model_path = ETFL.CEFL.value
# Perform FVA
fva_results = perform_flux_variability_analysis(ctrl_model)
# Display FVA results
print(fva_results)
Identifying Essential Genes
The identify_essential_genes
function identifies genes that are critical for the survival of the organism.
from yEscher.gene_analysis import identify_essential_genes
from yEscher.enumETFL import ETFL
# Load eTFLa model using the ETFL enum
etfl_model_path = ETFL.CEFL.value
# Identify essential genes
essential_genes = identify_essential_genes(ctrl_model)
# Display essential genes
print(essential_genes)
License
yEscher is licensed under the MIT License. See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yescher-1.0.1.tar.gz
.
File metadata
- Download URL: yescher-1.0.1.tar.gz
- Upload date:
- Size: 25.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0044462c0c92937acd610ef562a20f14444c98e4e2844de4c5d78e6eec25d67a |
|
MD5 | c339108a70c51e30ff7facb0277065f6 |
|
BLAKE2b-256 | a01668d36cd208355dfefac9cfd6b33ca586e4b61e655ff903bb08ba656aea1f |
File details
Details for the file yescher-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: yescher-1.0.1-py3-none-any.whl
- Upload date:
- Size: 26.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e7b4db4e7c765980312d7de25f7545d0e50b2fd7d8e373b388013f0137f2fe |
|
MD5 | 7323dd7596d4ce1040cb156d53dcf4aa |
|
BLAKE2b-256 | 95ae230256945d8a27ba5860b2f8517929755bbd35ef7998e3ec9db849239ae6 |