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)[source]

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

Parameters:

model – COBRA model (will be modified in place)

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