The outcome of findBlockedReaction for model_M is different than that of model_INF (in my case the later having more blocked reactions). The reason behind this is that when the LP solver maximizes/minimizes those reactions with unknown bounds, which also happen to be unbounded, it returns a status of unbounded which the fluxVariablity function treats as 0. In fact, the following code solves the problem (i.e. the blocked reactions are the same in both models), but the issue can lead erroneous calculations if someone is unaware of this:
For example, consider model_M with a large scalar M for unknown bounds:
The outcome of
findBlockedReaction
for model_M is different than that of model_INF (in my case the later having more blocked reactions). The reason behind this is that when the LP solver maximizes/minimizes those reactions with unknown bounds, which also happen to be unbounded, it returns a status of unbounded which thefluxVariablity
function treats as 0. In fact, the following code solves the problem (i.e. the blocked reactions are the same in both models), but the issue can lead erroneous calculations if someone is unaware of this:I hereby confirm that I have: