GECKO
GECKO copied to clipboard
feat: alternative when model.enzymes is not available
Continuing this discussion, we should provide a way of treating models that were loaded from the .xml file, as they do not have model.enzymes and all associated fields (model.enzGenes, model.enzNames, model.MWs, model.sequences and model.pathways), which will cause errors when functions such as constrainEnzymes.m are used. This could be achieved with a script that creates back those fields into the model + try/catch blocks.
An alternative would be to save an extra .txt file with this information along with the model? This would then also allow easy tracking of this information in GitHub. A problem would be that this is an extra file that might not be distributed/kept with the SBML, or the SBML might be changed without updating the extra file making them out of sync.
It sounds to me like this could also sit within ecModels, continuing the idea of separating GECKO as a tool from its applications.
My attempt to solve the loading of models from .xml was to provide a url to download this file from, instead of the model repository - see the example config. However, the rest of the setup from the corresponding folder needs to exist.
This should work as long as the model provided by url is static, ie the model does not get updated at the same url (kind of like using the url with the commit hash here on GitHub).
The new model structure (with model.ec) and model I/O in YAML format with GECKO3 and RAVEN make the discussion here obsolete.