Skip to content

Documentation index, known-issues catalogue and MATLAB back-port doc#10

Merged
edkerk merged 29 commits into
developfrom
feature/quality-and-matlab-docs
May 30, 2026
Merged

Documentation index, known-issues catalogue and MATLAB back-port doc#10
edkerk merged 29 commits into
developfrom
feature/quality-and-matlab-docs

Conversation

@edkerk
Copy link
Copy Markdown
Member

@edkerk edkerk commented May 29, 2026

The reader-facing documentation: the docs index, the function-by-function RAVEN→raven-python migration map, the CHANGELOG, the closed known-issues catalogue (sections A–F with regression-test pointers), and a consolidated list of fixes and improvements proposed for back-port into MATLAB RAVEN.

Base: feature/localization.

edkerk added 28 commits May 29, 2026 22:45
read_yaml_model now opens+parses the file then delegates the
post-parse work (capturing per-entry side-fields onto notes,
restoring legacy metaData id/name, stashing unknown top-level
sections onto model.notes['_yaml_sections']) to a new
model_from_yaml_data(raw: dict) helper.

This lets downstream packages that need to pre-normalise their YAML
before cobra reads it (e.g. geckopy, which lifts legacy MATLAB
ec-model quirks like top-level per-metabolite `smiles` into
`annotation` and merges bare-`-` sequence-of-single-key-maps
back to a mapping) hand the cleaned dict directly to the post-parse
pipeline, without round-tripping through a temp file.

Both functions are exported from raven_python.io.yaml. Pure
refactor on the read side; no behaviour change for existing
read_yaml_model callers.
cobra's model_to_dict serialises model.notes verbatim into the output
doc as the 'notes' section. write_yaml_model already pops these three
management keys from a local copy of model.notes to use them as
top-level YAML fields, but the originals remained on model.notes and
therefore also leaked into doc['notes'], producing duplicate sections
in the file (the legitimate top-level emit AND a nested copy inside
notes).

Strip them from doc['notes'] post-model_to_dict and drop the notes
section entirely when nothing else is left. Discovered while
round-tripping a geckopy ecModel (it stashes ec-rxns / ec-enzymes /
gecko_light on model.notes['_yaml_sections']); was visible as
duplicated GECKO sections in the written YAML.
@edkerk edkerk changed the base branch from feature/localization to develop May 30, 2026 00:03
@edkerk edkerk marked this pull request as ready for review May 30, 2026 00:03
…d-matlab-docs

# Conflicts:
#	src/raven_python/io/yaml.py
@edkerk edkerk merged commit 36e5306 into develop May 30, 2026
8 checks passed
@edkerk edkerk deleted the feature/quality-and-matlab-docs branch May 30, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant