A COBRApy-based package for computational design of metabolic networks¶
The comprehensive StrainDesign package for MILP-based strain design computation with the COBRApy toolbox supports MCS, MCS with nested optimization, OptKnock , RobustKnock  and OptCouple , GPR-rule integration, gene and reaction knockouts and additions as well as regulatory interventions. The automatic lossless network and GPR compression allows strain design computations from genome-scale metabolic networks. Supported solvers are GLPK (available from COBRApy), CPLEX, Gurobi and SCIP .
Download Jupyter notebook examples ...
Parts of the compression routine is done by efmtool’s compression function (https://csb.ethz.ch/tools/software/efmtool.html).
The StrainDesign package is available on pip and Anaconda. To install the latest release, run:
pip install straindesign
conda install -c cnapy straindesign
Download the repository and run
pip install -e .
in the main folder. Through the installation with -e, updates from a ‘git pull’ are at once available in your Python envrionment without the need for a reinstallation.
In some cases, installing the StrainDesign python package may fail with the error:
JVMNotFoundException: No JVM shared library file (libjli.dylib) found. Try setting up the JAVA_HOME environment variable.
In this case you need to set your JAVA_HOME environment variable
If you’re on OS X and get the error
OSError: [Errno 0] JVM DLL not found
check that your Java and the JPype library is set up correctly.
Computation examples are provided in the different chapters of this documentation. The original Jupyer notebook files are located in the StrainDesign package at docs/source/examples.
How to cite:¶
Schneider P., Bekiaris P. S., von Kamp A., Klamt S. - StrainDesign: a comprehensive Python package for computational design of metabolic networks. Bioinformatics, btac632 (2022)
- Network Analysis
- Plotting the flux space
- Computational strain design: Growth-coupled production (GCP)
- Minimal Cut Sets (MCS)
- Example 1: Strain designs with a minimum product (1,4-butanediol) yield (SUCP strain design)
- Example 2: Enforce product (1,4-BDO) synthesis at all growth states (dGCP strain design)
- Example 3: Suppress flux states that are optimal with respect to a pre-defined objective function (wGCP strain design)
- Example 4: Protect flux states that are optimal with respect to a pre-defined objective function (pGCP strain design)
- Example 5: All single gene knockouts that prohibit growth (synthetic lethals).
- Example 6: Genome-scale strain designs with a minimum product (1,4-butanediol) yield (SUCP strain design)
- Example 7: Suppress flux states in a toy network
- Example 8: Suppress and protect flux states in a toy network
- Theoretical background
- Multi-level strain optimization approaches
- Combining nested optimization strain design with MCS
- Standalone network compression
- CNApy interface
- StrainDesign API
- Package Contents
 Ebrahim, A., Lerman, J.A., Palsson, B.O. et al. - COBRApy: COnstraints-Based Reconstruction and Analysis for Python. BMC Syst Biol 7, 74 (2013)
 Burgard, A. P., Pharkya, P., & Maranas, C. D. - Optknock: a bilevel programming framework for identifying gene knockout strategies for microbial strain optimization. Biotechnology and bioengineering, 84(6), 647–657 (2003)
 Tepper N., Shlomi T. - Predicting metabolic engineering knockout strategies for chemical production: accounting for competing pathways, Bioinformatics. Volume 26, Issue 4, Pages 536–543 (2010)
 Jensen K., Broeken V., Lærke Hansen A.S., et al. - OptCouple: Joint simulation of gene knockouts, insertions and medium modifications for prediction of growth-coupled strain designs. Metabolic Engineering Communications, Volume 8 (2019)
 Bestuzheva K., Besançon M., Chen W.K. et al. - The SCIP Optimization Suite 8.0. Available at Optimization Online and as ZIB-Report 21-41, (2021)
 Marco Terzer, Jörg Stelling, Large-scale computation of elementary flux modes with bit pattern trees, Bioinformatics, Volume 24, Issue 19, (2008), Pages 2229–2235,