Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improvement to summary with fva #240

Closed
2 of 3 tasks
aebrahim opened this issue Mar 15, 2016 · 3 comments
Closed
2 of 3 tasks

improvement to summary with fva #240

aebrahim opened this issue Mar 15, 2016 · 3 comments

Comments

@aebrahim
Copy link
Member

The following improvements would be useful:

  • FVA only runs for reactions which might be displayed (input/output/biomass)
  • solver options should be accepted (and the ability to specify a solver to override the default)
  • A new optimal flux state is computed (this one can be discussed further)
@pstjohn
Copy link
Contributor

pstjohn commented Mar 16, 2016

  • FVA only runs for reactions which might be displayed (input/output/biomass)

This one shouldn't be hard, we'll just move the .query(lambda x: x, 'boundary') to above the FVA call. No real point to call FVA on objectives, the range is specified by the function call.

  • solver options should be accepted (and the ability to specify a solver to override the default)

Also easy, and currently only relevant to FVA solutions. I'll pass kwargs from the summary call through to the FVA call.

  • A new optimal flux state is computed (this one can be discussed further)

So yeah, this one we'd need to think about. They summary methods are designed to print out nicely to a terminal window, so I'll usually call them quickly in series to follow material flow through the network after solving w/ pFBA. Triggering a new optimization at each stage would slow this down, but I agree that as shown in #238 using the existing solution can occasionally lead to unexpected behavior.

@cdiener
Copy link
Member

cdiener commented Mar 16, 2016

I think the third point could be mitigated by redesigning the output format. For instance if the summary output for the FVA case would be something like that:

PRODUCING REACTIONS -- Pyruvate
-------------------------------
  %       FLUX   RANGE   RXN ID                       REACTION
 40.0%      4     2-8      PYK            adp_c + h_c + pep_c --> atp_c + pyr_c
 ...

Here the percentage and shown flux value will come from the presolved solution and FVA just adds a range. When run without FVA the RANGE column would be missing. This would solve #238 and would be clear since the presented flux values are "real" (not the mean of the range) and the percentages can be calculated from them.

pstjohn added a commit to pstjohn/cobrapy that referenced this issue Mar 17, 2016
Address points raised in opencobra#240, including adding solver options to
summary methods and allowing solvers to be passed explicitly to fva
calls.
@hredestig
Copy link
Contributor

This all appears fixed with 20d3de8 - recalculating the optimal flux for every call to summary appears heavy and indeed mitigated by new summary output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants