Skip to content

Regenerate Worm-GEM 2.1.0 from Human-GEM 2.1.0 with the Python generator - #10

Open
edkerk wants to merge 4 commits into
mainfrom
feat/regenerate-human-gem-2.1.0
Open

edkerk wants to merge 4 commits into
mainfrom
feat/regenerate-human-gem-2.1.0

Conversation

@edkerk

@edkerk edkerk commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Main improvements in this PR:

Regenerates Worm-GEM from Human-GEM release 2.1.0 with the Python generator code/animalGEM/generateAnimalGEM.py in Human-GEM (SysBioChalmers/Human-GEM#1141), which replaces masterScriptWormGEM.m.

Depends on SysBioChalmers/Human-GEM#1141: the README and code/README.md point to the generator, which is on that branch until it is merged.

Balance fixes. The branch also carries the fixes for the unbalanced species-specific reactions (closes #9): formula, proton and cofactor corrections with KEGG/Rhea references, and the ascarylose reactions balanced with protons only, in a separate commit that can be dropped. Details per reaction are in #9.

Known limitation. The 37 gap-filled reactions follow the current approach, which uses Human-GEM's essential tasks, biomass and Ham's medium. Several of them add human pathways this organism lacks (for example cholesterol synthesis, heme synthesis). They are marked "reaction added by gap filling" and carry no genes. A species-specific approach is planned separately.

Large diff. The files move to the RAVEN 3 YAML layout written by raven-toolbox, and reactions.tsv / metabolites.tsv are no longer quoted, so nearly every line changes. The content changes come from the new template (Human-GEM 2.1.0) and are not reviewable line by line.

Tested. The same generator run on Human-GEM 1.18.0 reproduces the committed Mouse-GEM 1.8.0 exactly (12987 reactions, 2846 genes, identical gene sets). This build passes the essential metabolic tasks with MAR00021 as the objective (Gurobi); SBML and MAT files read back with the same reaction count.

I hereby confirm that I have:

  • Tested my changes locally

edkerk added 4 commits October 6, 2026 11:10
…rence

Formulas of ferulate, sinapoyl-CoA and UDP-4-dehydro-6-deoxy-D-glucose now match their charge
(deprotonated forms), the protons of MAR15028 and MAR15031-MAR15033 follow the charge of the
substrates (hydrosulfide, selenide), and MAR15034 uses Human-GEM's thiosulfate, whose proton
is released rather than consumed. KEGG R00293, R02194, R02221, R03542, R00897, R07274, R03601,
R04859; Rhea 21500 and 36251.
…ence)

MAR15063, MAR15067 and MAR15072 have no database reference. They are balanced with protons
only, so that mass and charge close; the stoichiometry itself still needs a literature check.
…ator

The model is built by Human-GEM's code/animalGEM/generateAnimalGEM.py, which replaces
masterScriptWormGEM.m: orthology-based draft from Human-GEM 2.1.0, species-specific network,
gap-filling of the essential tasks, and the version and date stamped into the model metadata.
The files move to the RAVEN 3 YAML layout written by raven-toolbox, so this diff is large.
…ed reactions

The generator now pins each degenerate minimum-cost fill to the fewest, lowest-id reactions,
so the gap-filled set no longer depends on the solver and the MATLAB and Python generators
give the same model. Gap-filled reactions keep their Human-GEM notes, with "reaction added
by gap filling" appended.
@edkerk

edkerk commented Oct 6, 2026

Copy link
Copy Markdown
Member Author

Updated: the generator now resolves gap-filling ties (fewest, lowest-id reactions), so the gap-filled set no longer depends on the solver, and the MATLAB and Python generators give the same model. Gap-filled reactions also keep their Human-GEM notes. This changes a few gap-filled reactions (11649 reactions; README updated).

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.

Unbalanced species-specific reactions (11 of 60), and H2S2O3 is no longer a Human-GEM metabolite

1 participant