Skip to main content

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

  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.

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

yescher-1.0.1.tar.gz (25.8 MB view details)

Uploaded Source

Built Distribution

yescher-1.0.1-py3-none-any.whl (26.5 MB view details)

Uploaded Python 3

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

Hashes for yescher-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0044462c0c92937acd610ef562a20f14444c98e4e2844de4c5d78e6eec25d67a
MD5 c339108a70c51e30ff7facb0277065f6
BLAKE2b-256 a01668d36cd208355dfefac9cfd6b33ca586e4b61e655ff903bb08ba656aea1f

See more details on using hashes here.

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

Hashes for yescher-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1e7b4db4e7c765980312d7de25f7545d0e50b2fd7d8e373b388013f0137f2fe
MD5 7323dd7596d4ce1040cb156d53dcf4aa
BLAKE2b-256 95ae230256945d8a27ba5860b2f8517929755bbd35ef7998e3ec9db849239ae6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page