Repository navigation
chore: move Human-GEM.yml to the RAVEN 3 YAML format, and accept it in the checks - #1124
Merged
Merged
Conversation
- YAML lint: allow list items at their key's indentation, as writeYAMLmodel.m (RAVEN 3) and raven-toolbox write them. - structureConsistencyTest: read charges written as floats (-1.0). - increaseHumanGEMVersion build: stamp the release date, which the writer otherwise keeps from the stored model. - release: keep develop's Human-GEM.yml in the sync-back, as the build stamps the version into the release copy.
Rewritten by raven-toolbox's write_yaml_model, as the release build writes it (and as v2.0.1 was released), so develop and main use one format. No model content changes: reading the file before and after gives the same metabolites, reactions, genes and compartments; only a reaction's subsystem is now a one-element list and the metaData bounds are numbers. qcModelChecks' split-compartment check accepts a subsystem written as a list.
Contributor
Model quality report
Pre-existing:
✅ unchanged · ✨ improved vs Full workflow run · this comment is edited as results come in |
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.
Moves develop to the RAVEN 3 YAML format that the release build writes, and makes the checks and the release accept it. Found in the release checks on #1123.
Why. Human-GEM up to 2.0.0 used RAVEN 2's
writeYAMLmodelformat: quoted strings, lists indented four spaces, integer charges. RAVEN 3 and raven-toolbox write a different format: quotes only where YAML needs them, two-space lists, every number as a float (charge: -1.0), and a subsystem as a list. v2.0.1 was already released in it, and the 2.1.0 build writes it again. Develop stayed in the RAVEN 2 format, and the checks only knew that one, so on the release branch:structureConsistencyTestread0.0as no charge (6334 findings instead of 57);Changes
model/Human-GEM.ymlrewritten with raven-toolbox'swrite_yaml_model, as the release build writes it. No model content changes. Reading the file before and after gives identical metabolites, reactions, genes and compartments. The only differences are representation: a reaction's subsystem becomes a one-element list, and the metaDatadefaultLB/defaultUBbecome numbers.indentation: {spaces: consistent, indent-sequences: whatever}, accepting list items at their key's indentation.structureConsistencyTest: reads charges written as floats.qcModelCheckssplit-compartment check: accepts a subsystem written as a list. Without this, the artificial reactions were no longer skipped (37 instead of 26).increaseHumanGEMVersion.py build: stamps the release date. RAVEN 2 stamped the current date on every write, but the RAVEN 3 writer keeps the stored one, which is why v2.0.1 still carried 2026-03-26.release.yml: the sync-back keeps develop'sHuman-GEM.yml, since the build stamps the version into the release copy.Tested on Vera, with the converted YAML:
qcModelChecks: unchanged from develop (split compartments 26, growth 1.90).Needs CompMetEng/raven-toolbox#164 merged first, since CI installs raven-toolbox from its default branch; until then the SBML round-trip here will fail.
Also found: the RAVEN 3 writer does not quote YAML 1.1 booleans, so
formula: NO(nitric oxide, MAM02609) is read asFalseby YAML 1.1 parsers such as PyYAML. cobra and RAVEN are not affected; yamllint reports it as atruthywarning. To be raised in raven-toolbox.