-
Notifications
You must be signed in to change notification settings - Fork 44
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
Remove the boundary compartment from Human-GEM #172
Comments
@JonathanRob sounds good. How about start with a to-do list regarding this change? |
It's actually pretty straightforward; just need to run |
I wonder if this removal affects any model manipulation and simulation functions from RAVEN? |
I'm only aware of two affected functions that rely on the presence of boundary metabolites (an Maybe @edkerk can confirm, but as far as I am aware, RAVEN is designed to work without boundary metabolites. |
RAVEN simulations indeed assume that no boundary compartment is present. @simas232 I remember there was an exercise at a course that relied on the boundary compartment being included, do you remember which RAVEN function was not working without boundary? Regardless, we can also write a small function that adds a boundary compartment, takes the output of |
Ok, that's what I thought, thanks @edkerk. We actually have a function in this Human-GEM repo that adds boundary metabolites: |
@JonathanRob, @edkerk, RAVEN already has a function which adds a boundary compartment (i.e. closes the model), called @edkerk, I think that only tINIT related functionalities, including |
Ah ok, I didn't even know about @edkerk, I'm not sure it's necessary to make any changes to RAVEN to accommodate the change. Or maybe simply update the existing error/warning messages that are thrown when the |
Addressed in #179. |
Description of the issue:
The default Human-GEM model currently contains a boundary compartment [x], used to close mass balances on exchange reactions. For example, the exchange of oxygen between the extracellular compartment [s] and the boundary is formulated as:
O2[s] <=> O2[x]
However it is generally more common among the modeling community to formulate exchange reactions without the balancing boundary metabolite:
O2[s] <==>
I propose that we change the "default" state of the model such that the boundary compartment is removed. Users can then choose to add it back when needed (e.g., for
checkTasks
or running tINIT) using theaddBoundaryMets
function:model = addBoundaryMets(model);
The reason for my suggestions is that the boundary compartment is not really standard practice in the modeling community, and is often a source of confusion and compatibility problems. For example, if FBA is run on the model with boundary metabolites still present, flux through the biomass reaction (
biomass_human
) will be zero because the model is essentially in "closed" form. Users therefore need to go through the extra step of removing the boundary metabolites before running FBA and many other common analysis methods.I hereby confirm that I have:
The text was updated successfully, but these errors were encountered: