Hi Ryan. The method you mentioned does not optimize biomass, but rather looks for the flux distribution that coincides (correlates) most with the gene expression data. It does not require
a biomass function at all (see equation 3 in the paper you mentioned). Looking at the paper in detail I think you would have to implement you own method since the method
they describe also defines some new variables and an iterative method to solve the non-convexity of the absolute value problem. Unfortunately, there is nothing already implemented in
cobrapy that does that for you.
An alternative approach would be to not use continuous gene expression values, but rather make a data-specific reconstruction based on your gene expression data. Here you first
use a barcode approach to identify enzyme genes that are present or absent in your data and than reconstruct a new model that is consistent with these calls. This is usually done
with also enforcing some required metabolic targets such as the ability to grow or to produce essential metabolites (this is often called functional validation and is for instance ignored
in the paper you mentioned). So an example: the gene for PFK is not expressed in your data, so as long as its deletion does not prohibit one of the required metabolic functions, the most
consistent thing would be to remove the corresponding reaction from the model (since it is very likely that the enzyme protein is missing). There are several methods that perform
those reconstructions and they generally have better perfromance than the one using continuous gene expression values, but only few are available in Python.
After you have the reconstruction you can predict fluxes using pFBA or FVA and do deletion analysis.
Cheers
Christian