Repository navigation
fix: four writer, task and gene-pruning problems from #178 - #179
Merged
Merged
Conversation
A YAML 1.1 loader such as PyYAML read an unquoted `name: NO` (nitric oxide) as False. y, n, yes, no, on and off are now quoted in any case, as true and false already were. #178
cobra's writer puts the gene product id in fbc:label, and RAVEN's importModel reads geneShortNames from fbc:label before fbc:name, so it read the gene ids as gene short names. Genes without a name keep the id as label. #178
The outputs of a task were applied after its inputs and overwrote their bounds, so a metabolite that is both IN and OUT with nonzero lower bounds became "produce exactly LB", and a metabolite listed twice on one side kept its last line. Both now raise a ValueError with the messages of RAVEN's checkTasks. #178
When all alternatives of an OR rule score negative and several share the best score, remove_low_score_genes keeps the first, so the result depends on the order of the rule. A list passed as tied_reactions receives the ids of these reactions. #178
pip 26.2.2 refuses to replace itself on Windows when run as plain pip and exits 1, so every Windows job failed before running any test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #178.
io/yaml.py_QUOTE_RESOLVER_PATTERN: the YAML writer leftNO,yes,onand the other YAML 1.1 booleans unquoted, so a YAML 1.1 loader such as PyYAML read nitric oxide'sname: NOasFalse. They are quoted in any case, astrueandfalsealready were. RAVEN'swriteYAMLmodel.m(needsQuote) needs the same change.io/git.py_write_sbml(new): cobra writes the gene id asfbc:label, so RAVEN'simportModel, which readsgeneShortNamesfromfbc:labelbeforefbc:name, read the gene ids as gene short names. The label is now the gene name; a gene without a name keeps its id.tasks/check.py_metabolite_bounds: the outputs overwrote the bounds set by the inputs, and a metabolite listed twice on one side kept its last line. Both now raise aValueErrorwith the messages of RAVEN'scheckTasks. A task list with such a line (for example task 21 of Human-GEM's CellFie consensus list) now stopscheck_tasks,find_task_essential_reactionsand the ftINIT gap-filling until the list is fixed.init/genes.pyremove_low_score_genes: when every alternative of an OR rule scored negative and several shared the best score, the first one was kept without a trace. The new keyword-only argumenttied_reactionsreceives the ids of these reactions; the return value is unchanged.