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
Escherfor 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:
optlangpytfacobrapandassympyeschergurobipy(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.
Metadata
Release files for yescher 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| yescher-1.0.1.tar.gz | 25.8 MB | Without provenance | Details for yescher-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| yescher-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for yescher-1.0.1-py3-none-any.whl |
Total release size: 52.3 MB
Release files / yescher-1.0.1.tar.gz
| Download URL | yescher-1.0.1.tar.gz |
|---|---|
| Size | 25.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0044462c0c92937acd610ef562a20f14444c98e4e2844de4c5d78e6eec25d67a
|
|
BLAKE2b-256 checksum How to use checksums |
a01668d36cd208355dfefac9cfd6b33ca586e4b61e655ff903bb08ba656aea1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.12
|
Release files / yescher-1.0.1-py3-none-any.whl
| Download URL | yescher-1.0.1-py3-none-any.whl |
|---|---|
| Size | 26.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1e7b4db4e7c765980312d7de25f7545d0e50b2fd7d8e373b388013f0137f2fe
|
|
BLAKE2b-256 checksum How to use checksums |
95ae230256945d8a27ba5860b2f8517929755bbd35ef7998e3ec9db849239ae6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.12
|
Security for yescher 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.