A Python package for calculating Genetic Minimal Intervention Sets (gMIS) and Minimal Cut Sets (MCS) in metabolic networks with regulatory cycles.
cyclic-gMISpy is a computational tool designed for identifying minimal genetic interventions in metabolic networks that consider regulatory cycles and gene-protein-reaction (GPR) rules. The package extends traditional minimal cut set analysis by incorporating regulatory network dynamics and cyclic dependencies.
- Minimal Cut Set (MCS) Calculation: Find minimal sets of reactions that disrupt metabolic objectives
- Genetic Minimal Intervention Sets (gMIS): Identify minimal gene knockouts considering GPR rules
- Regulatory Cycles Support: Handle cyclic dependencies in gene regulatory networks
- Parallel Computing: Multi-threaded calculations for improved performance
- Multiple Solvers: Support for Gurobi and CPLEX optimization solvers
- Python ≥ 3.7
- COBRApy
- NumPy
- SciPy
- pandas
- tqdm
- bidict
- bonesis
- mpbn
At least one of the following optimization solvers:
- Gurobi (recommended for performance)
- CPLEX
# Clone the repository
git clone https://github.com/your-username/cyclic-gMISpy.git
cd cyclic-gMISpy
# Install dependencies
pip install -r requirements.txt
# Install the package
pip install -e .Or use pip install
pip install cyclic-gmispyimport cobra
from cyclic_gmispy import calculateParallelGMIS
# Load your metabolic model
model = cobra.io.read_sbml_model("your_model.xml")import pandas as pd
from cyclic_gmispy import calculateGMIS
# Load metabolic model
model = cobra.io.read_sbml_model("your_model.xml")
# Load regulatory network data
regulatory_df = pd.read_csv("regulatory_network.csv")
from cyclic_gmispy import calculateParallelGMIS
# Run parallel gMIS calculation
parallel_results = calculateParallelGMIS(
cobraModel=model,
regulatory_dataframe=regulatory_df,
numWorkers=8,
maxKOLength=3
)calculateParallelGMIS(): Calculate genetic minimal intervention sets with regulatory cyclescalculateReadjustmentParallel(): Calculate readjustment cycles efficiently
buildGMatrix(): Build gene-protein-reaction matrixcheckGMCS(): Validate computed genetic minimal cut setssaveSolutions(): Save results in various formatssetSolver(): Configure optimization solver settings
- Support for different optimization problem formulations
- Flexible constraint handling
- Multiple objective functions
- SBML format (via COBRApy)
- JSON format
- MAT files
- CSV files with regulator-target relationships
- Tab-separated files
- Custom pandas DataFrame format
If you use cyclic-gMISpy in your research, please cite:
[Pending]
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For questions and support:
- Open an issue on GitHub
- Contact: [cjrodriguezf@unav.es]
- COBRApy community for metabolic modeling tools
- Bonesis framework for regulatory network analysis
- Optimization solver providers (Gurobi, CPLEX, SCIP)