You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the enzyme usage reactions can be defined in two ways, dependent on whether proteomics data is integrated.
Model content
Without proteomics
With proteomics
Protein usage rxn
prot_Q99312[c] <= prot_pool[c]
prot_Q99312[c] <=
LB of protein usage rxn
-1000
Measured Q99312 concentration, as taken from model.ec.concs, or potentially flexibilized by flexibilizeEnzConcs. Example = -0.0416
Protein pool exchange rxn
prot_pool[c] <=
prot_pool[c] <=
LB of protein pool exchange rxn
Total enzyme content, as defined by Ptot * sigma * f. Example = -125
Non-measured enzyme content, as calculated by updateProtPool . Example = -95.915
A problem that I have encountered with this approach is that the new lower bound of the protein pool exchange reaction might be too strict. The model can no longer be solved, unless some proteins are flexibilized by a high amount (although sometimes this even does not resolve the problem).
In the calculation by updateProtPool, it assumes that the f-factor (fraction of protein being enzymes) is the same for both the measured- and unmeasured-protein fraction.
Already when the f-factor is first calculated, it is only based on the measured-protein fraction (if this data is available), which might be somewhat biased, but at that stage it would be countered out by the fitting of the sigma-factor.
In addition, to avoid over-constraining individual proteins based on noisy proteomics data, loadProtData by default adds 1 or more standard deviations to the protein measurements. As a consequence, the sum of measured protein concentrations Pmeas is substantially higher, which automatically means that the unmeasured protein fraction Ptot-Pmeas is always lower than it should be.
As an alternative, there is actually no good reason why the enzyme usage reaction has to change when proteomics data is integrated, except for changing its lower bound. The new approach suggested below would prevent the issues raised above, and instead would keep using the same lower bound for the protein pool exchange reaction that earlier in the model generation pipeline had been fitted to give realistic growth predictions. New suggestion:
Model content
Without proteomics
With proteomics
Protein usage rxn
prot_Q99312[c] <= prot_pool[c]
prot_Q99312[c] <= prot_pool[c]
LB of protein usage rxn
-1000
Measured Q99312 concentration, as taken from model.ec.concs, or potentially flexibilized by flexibilizeEnzConcs. Example = -0.0416
Protein pool exchange rxn
prot_pool[c] <=
prot_pool[c] <=
LB of protein pool exchange rxn
Total enzyme content, as defined by Ptot * sigma * f. Example = -125
Total enzyme content, as defined by Ptot * sigma * f. Example = -125
I hereby confirm that:
The new feature is not already in the main branch of the repository.
Any comments on the following suggested change?
Currently, the enzyme usage reactions can be defined in two ways, dependent on whether proteomics data is integrated.
prot_Q99312[c] <= prot_pool[c]
prot_Q99312[c] <=
model.ec.concs
, or potentially flexibilized byflexibilizeEnzConcs
. Example = -0.0416prot_pool[c] <=
prot_pool[c] <=
Ptot * sigma * f
. Example = -125updateProtPool
. Example = -95.915A problem that I have encountered with this approach is that the new lower bound of the protein pool exchange reaction might be too strict. The model can no longer be solved, unless some proteins are flexibilized by a high amount (although sometimes this even does not resolve the problem).
updateProtPool
, it assumes that the f-factor (fraction of protein being enzymes) is the same for both the measured- and unmeasured-protein fraction.loadProtData
by default adds 1 or more standard deviations to the protein measurements. As a consequence, the sum of measured protein concentrationsPmeas
is substantially higher, which automatically means that the unmeasured protein fractionPtot-Pmeas
is always lower than it should be.As an alternative, there is actually no good reason why the enzyme usage reaction has to change when proteomics data is integrated, except for changing its lower bound. The new approach suggested below would prevent the issues raised above, and instead would keep using the same lower bound for the protein pool exchange reaction that earlier in the model generation pipeline had been fitted to give realistic growth predictions. New suggestion:
prot_Q99312[c] <= prot_pool[c]
prot_Q99312[c] <= prot_pool[c]
model.ec.concs
, or potentially flexibilized byflexibilizeEnzConcs
. Example = -0.0416prot_pool[c] <=
prot_pool[c] <=
Ptot * sigma * f
. Example = -125Ptot * sigma * f
. Example = -125I hereby confirm that:
main
branch of the repository.The text was updated successfully, but these errors were encountered: