Skip to main content

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

  1. Clone the repository:

    git clone https://github.com/Shyamsaibethina/yEscher.git
    cd yEscher
    
  2. 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.

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)

Source distribution for yescher 1.0.1
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)

Table of built distributions (wheels) for yescher 1.0.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page