mjenior / riptide

Reaction Inclusion by Parsimony and Transcript Distribution
MIT License
11 stars 3 forks source link

Essential genes fail to be forcefully included in model #16

Open wshao1 opened 1 year ago

wshao1 commented 1 year ago

Minor issue: If gene IDs are input into RIPTiDe as tasks to be forcefully included, the script returns an error because the gene IDs are not converted into reaction IDs. There is a _screen_tasks function defined in riptide.py, but it has not been incorporated into the maxfit or contextualize functions. Doing so would be an easy fix.

Major issue: Another issue arises after fixing the conversion from gene IDs to reaction IDs. From reading the riptide.py script it seems task reactions are assigned the minimum cost during pruning, but this does not guarantee its inclusion in the final model. I have tried manually assigning a large negative cost to the task reactions, to no avail. I hesitate to manually remove task reactions from the inactive_rxns list, as this might result in blocked reactions in the final model. And since there is no check that tasks have indeed been included in the model, when the _constrain_for_sampling function is reached in contextualize, RIPTiDe crashes due to the missing task reaction. Is there a way to fix this, or is this just an inherent limitation of the method?