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 .
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:
- 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
 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)
 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)