Skip to main content

License: GPL v3 PyPI version Documentation Status Build Status

MEWpy

MEWpy is an integrated Metabolic Engineering Workbench for strain design optimization. It offers methods to explore different classes of constraint-based models (CBM) for:

  • Metabolic Modeling: Simulate steady-state metabolic models with different formulations (GECKO, ETFL) and kinetic models
  • Strain Design Optimization: Evolutionary computation-based optimization by knocking out (KO) or over/under expressing (OU) reactions, genes, or enzymes
  • Omics Integration: Integration of transcriptomics and expression data (eFlux, GIMME, iMAT)
  • Regulatory Networks: Integrated metabolic-regulatory modeling (PROM, SRFBA, RFBA, CoRegFlux)
  • Community Modeling: Microbial community simulation and optimization (SteadyCOM, SMETANA)

MEWpy supports REFRAMED and COBRApy simulation environments. The optimization engine relies on either inspyred or jMetalPy packages.

Key Features

Metabolic and Integrated Modeling

  • Unified Simulator API: Seamless integration with COBRApy and REFRAMED models
  • GERM Framework: Generic representation supporting metabolic, regulatory, and integrated models
  • Analysis Methods: FBA, pFBA, FVA, MOMA, lMOMA, ROOM, gene/reaction deletions
  • Regulatory Integration: PROM, SRFBA, RFBA, CoRegFlux for integrated metabolic-regulatory analysis
  • Expression Data Integration: eFlux, GIMME, iMAT with built-in tools for processing omics data
  • Enzyme-Constrained Models: Support for GECKO and ETFL formulations

Strain Design Optimization

  • Multi-Objective Optimization: Evolutionary algorithms for strain design using inspyred or jMetalPy
  • Flexible Design Strategies: Reaction/gene/enzyme knockouts (KO) and over/under expression (OU)
  • Custom Objectives: BPCY, product yield, biomass-product coupled yield, and custom fitness functions
  • Problem Types: Support for metabolic, kinetic, GECKO, ETFL, and community optimization problems

Community Modeling

  • SteadyCOM: Simulate microbial communities at steady-state
  • SMETANA: Species METabolic interaction ANAlysis for studying metabolic interactions
  • Community Optimization: Strain design for microbial consortia
  • Cross-feeding Analysis: Identify and optimize metabolic dependencies

Kinetic Modeling

  • ODE-based Simulation: Support for kinetic metabolic models
  • Parameter Optimization: Fit kinetic parameters to experimental data
  • Dynamic Strain Design: Knockout optimization for kinetic models
  • Hybrid Approaches: Integration of kinetic and constraint-based models

Solver Support

  • Commercial Solvers: CPLEX (recommended for large problems), Gurobi
  • Open-Source Solvers: SCIP (pip install pyscipopt), GLPK
  • Automatic Fallback: Seamlessly switches between available solvers

Quick Start

from mewpy.io import read_sbml
from mewpy.simulation import get_simulator, SimulationMethod

# Load a model
model = read_sbml('path/to/model.xml')

# Create simulator
simulator = get_simulator(model)

# Run FBA
result = simulator.simulate(method=SimulationMethod.FBA)
print(f"Objective value: {result.objective_value}")

# Perform FVA
from mewpy.germ.analysis import fva
fva_result = fva(model)

For integrated metabolic-regulatory models:

from mewpy.io import read_model, Reader, Engines
from mewpy.germ.analysis import SRFBA, PROM

# Load integrated model
gem_reader = Reader(Engines.MetabolicSBML, 'metabolic_model.xml')
trn_reader = Reader(Engines.BooleanRegulatoryCSV, 'regulatory_network.csv',
                    sep=',', id_col=0, rule_col=2, header=0)
model = read_model(gem_reader, trn_reader)

# Run SRFBA
srfba = SRFBA(model).build()
solution = srfba.optimize()

For strain design optimization:

from mewpy.optimization import EA
from mewpy.problems import GKOProblem
from mewpy.simulation import get_simulator

# Load model
model = read_sbml('path/to/model.xml')
simulator = get_simulator(model)

# Define optimization problem
problem = GKOProblem(
    model=model,
    fevaluation=['BPCY'],  # Biomass-Product Coupled Yield
    product='EX_succ_e',    # Target product (e.g., succinate)
    max_candidate_size=10   # Maximum number of gene knockouts
)

# Run evolutionary algorithm
ea = EA(problem, max_generations=50, mp=True)
final_pop = ea.run()

# Display results
ea.dataframe()

Examples

Examples are provided as jupyter notebooks and as python scripts.

Documentation

The package documentation is available at mewpy.readthedocs.io.

Installation

From PyPI

pip install mewpy

From GitHub

git clone https://github.com/vmspereira/MEWpy.git
cd MEWpy
pip install -e .

Development Installation

pip install -e ".[dev]"     # Install with development dependencies
pip install -e ".[test]"    # Install with testing dependencies
pip install -e ".[solvers]" # Install with SCIP solver support

Solver Requirements

MEWpy requires at least one compatible linear programming solver. Supported solvers:

  • CPLEX (commercial, recommended for large problems)
  • Gurobi (commercial)
  • SCIP (open-source, install via pip install pyscipopt)
  • GLPK (open-source)

For open-source solver installation:

pip install pyscipopt  # Installs SCIP solver

Cite

If you use MEWpy in your research, please cite:

Vítor Pereira, Fernando Cruz, Miguel Rocha, MEWpy: a computational strain optimization workbench in Python, Bioinformatics, 2021; https://doi.org/10.1093/bioinformatics/btab013

Credits and License

Developed by Vítor Pereira and Centre of Biological Engineering, University of Minho. MEWpy received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement number 814408 (2019-2023).

MEWpy is currently maintained by Vítor Pereira.

Released under the GNU General Public License v3.0.

Metadata

Release files for mewpy 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mewpy 1.0.0
File Size Uploaded Provenance Actions
mewpy-1.0.0.tar.gz 23.2 MB Without provenance Details for mewpy-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mewpy 1.0.0
File Interpreter ABI Platform Actions
mewpy-1.0.0-py3-none-any.whl Python 3 none any Details for mewpy-1.0.0-py3-none-any.whl

Total release size: 24.3 MB

Release files / mewpy-1.0.0.tar.gz

Download URL mewpy-1.0.0.tar.gz
Size 23.2 MB
Tags Source
SHA-256 checksum
How to use checksums
04babb3fb3d7a27fe03155edc59fde18dc4b7fcd7dedd43fa2a1dccc9a05b437
BLAKE2b-256 checksum
How to use checksums
3623dec118fb33228717cfa44d723f9f80eedea4923e77129fe7baae7fa5b19b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / mewpy-1.0.0-py3-none-any.whl

Download URL mewpy-1.0.0-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
14852feaacb58165cef592331fca39b66844a26f664a04a929ab7fd62bad5e17
BLAKE2b-256 checksum
How to use checksums
be63707013467a147af9fdef7a2c355373d48072b4ae166ad2ed8d4a90f3b1d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Security for mewpy 1.0.0

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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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