biosustain / cameo

cameo - computer aided metabolic engineering & optimization
http://cameo.bio
Apache License 2.0
114 stars 44 forks source link

FSEOF #254

Open weif000 opened 4 years ago

weif000 commented 4 years ago

According to the selected criteria of FSEOF algorithm, as follows code,

max(abs(max(fluxes)), abs(min(fluxes))) > abs(reference[reaction_id]) and min(fluxes) * max(fluxes) = 0 why do the result of FSEOF have decreased targets?

bdelepine commented 4 years ago

I think this is related to a comment I made a few months ago on cameo's gitter:

Hello! I have a question about FSEOF from cameo.strain_design.deterministic.flux_variability_based. The last step of the FESOF.run() is to filter the results (line 977). This is used obviously to remove the reactions from the exclude parameter, but there are two other criteria to keep the reaction:

  • min(fluxes) * max(fluxes) >= 0
  • and max(abs(max(fluxes)), abs(min(fluxes))) > abs(reference[reaction_id])

I do not understand why those tests are legit. Could someone help me on that?

I am not convinced it is a bug (i.e. something leading to wrong results) but this looked suspicious to me (i.e. an implementation of FSEOF different from the original paper). Any technical help would be most welcomed, including directions on what would be an acceptable test to sort this out.