Closed cdiener closed 10 months ago
Tests will probably fail for now until #1340 is merged and this has been rebased.
EDIT: not necessary since CI does not check with symengine yet
Patch coverage: 100.00%
and project coverage change: -0.09%
:warning:
Comparison is base (
c6f0bb4
) 83.93% compared to head (aaa5943
) 83.85%. Report is 5 commits behind head on devel.:exclamation: Current head aaa5943 differs from pull request most recent head 9083275. Consider uploading reports for the commit 9083275 to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Some minor comments. Are you sure that the original intention wasn't that if the objective was part of a cycle, breaking that cycle could lead to a lower optimum value? It seems to me that this will no longer be possible now.
Yes that was my intention when I originally wrote that code. But as others have pointed out now that actually does not work (https://github.com/opencobra/cobrapy/issues/698, https://github.com/opencobra/cobrapy/issues/1262) and can lead to wrong results. So that's why this now returns it to the exact implementation from the CycleFreeFlux paper (which did fix the objective). If you wanted to do this you would have to run a strategy similar to the loopless FVA where that is done with an iterative approach. We could add something like this if we wanted it in another PR.
Cheers, thank you for the work and the explanation 😃
A bit embarrassing I took so long for such a simple fix, but here it is.
This now fixes the objective value as well when running CycleFreeFlux as in the original publication.
Fixed behavior
Compare with #1262: