straindesign.efmtool_cmp_interface

EFMtool compression interface for straindesign.

This module provides compression utilities for metabolic networks. By default, the pure Python ‘sparse_rref’ compression backend is used. The Java EFMTool backend is available via compression_backend=’efmtool_rref’ (requires jpype1).

For the documentation of the compression API provided by StrainDesign, refer to straindesign.compression.compress_model.

Module Contents

straindesign.efmtool_cmp_interface.basic_columns_rat(mx, tolerance=0)[source]

Find basic columns using exact rational arithmetic (FLINT or sympy).

straindesign.efmtool_cmp_interface.basic_columns_rat_java(mx, tolerance=0)[source]

Find basic columns using Java Gaussian elimination.

Legacy implementation using jpype and Java efmtool. Requires jpype1 and sympy to be installed.

Parameters:
  • mx – Matrix (numpy array or Java matrix)

  • tolerance – Tolerance (unused in exact arithmetic)

Returns:

Array of indices of basic columns

straindesign.efmtool_cmp_interface.compress_model_java(model, suppressed_reactions=None)[source]

Legacy Java compression using jpype (requires jpype and sympy).

Parameters:
  • model – COBRA model (will be modified in place)

  • suppressed_reactions – Set of reaction IDs to exclude from compression. These reactions are kept as standalone entries with identity mapping. Used to protect reactions referenced in strain design constraints from being deleted by the Java compressor’s CoupledContradicting logic.

Returns:

Reaction map from compressed to original reactions with scaling factors

Return type:

dict

straindesign.efmtool_cmp_interface.jBigFraction2sympyRat(val)[source]

Convert Java BigFraction to sympy Rational (requires Java init).

straindesign.efmtool_cmp_interface.jBigIntegerPair2sympyRat(numer, denom)[source]

Convert Java BigInteger pair to sympy Rational (requires sympy).

straindesign.efmtool_cmp_interface.jpypeArrayOfArrays2numpy_mat(jmat)[source]

Convert jpype array of arrays to numpy matrix.

straindesign.efmtool_cmp_interface.numpy_mat2jpypeArrayOfArrays(npmat)[source]

Convert numpy matrix to jpype array of arrays (requires Java init).

straindesign.efmtool_cmp_interface.sympyRat2jBigIntegerPair(val)[source]

Convert Fraction or sympy Rational to Java BigInteger pair (requires Java init).