Skip to content

fix: normalise Title-Case metabolite (and CoA reaction) names#1054

Merged
edkerk merged 8 commits into
developfrom
fix/chebi-name-titlecase
Jul 12, 2026
Merged

fix: normalise Title-Case metabolite (and CoA reaction) names#1054
edkerk merged 8 commits into
developfrom
fix/chebi-name-titlecase

Conversation

@edkerk

@edkerk edkerk commented Jul 12, 2026

Copy link
Copy Markdown
Member

Main improvements in this PR:

Tier 2 of #1037: normalise the Recon3D Title-Case metabolite names to the model's naming convention. Names only; model structure and balance are unchanged.

Three families, one commit each:

  • acyl-CoA (105) - lowercase and Coenzyme A -> the model's -CoA, e.g. Trans,Cis-Dodeca-2,5-Dienoyl Coenzyme A -> trans,cis-dodeca-2,5-dienoyl-CoA. Stereo descriptors are preserved ((3S), (5Z), cis/trans); lowercase cis/trans matches 154 existing correct names, so no E/Z re-notation is imposed.
  • acid / fibre-bile-acid complexes (34) - e.g. Lysophosphatidic Acid -> lysophosphatidic acid.
  • acyl-[ACP] (3) - e.g. Cis-Tetradec-7-Enoyl-[Acyl-Carrier Protein] -> cis-tetradec-7-enoyl-[ACP], matching the existing (2E)-decenoyl-[ACP].

142 metabolite names changed; the reaction names that embed them are updated in sync (303 name lines total). The reaction names were edited surgically rather than by re-running the name generator, so existing reaction-name curation is untouched.

A fourth commit normalises the 138 Title-Case reaction names that use "Coenzyme A" as a generic term (e.g. Stearoyl Coenzyme A Desaturase -> stearoyl-CoA desaturase), preserving shorthand like N-C18:0CoA. After this, no "Coenzyme A" string remains anywhere in the model.

A fifth commit resolves #229: 10 bile-acid metabolites carried a semicolon-separated list of names as their name (a Recon3D/HMDB import artefact). Each is replaced with a single clean lowercase name (e.g. 12-Dehydrocholic acid; 12-Oxodeoxycholic acid; ... -> 12-dehydrocholic acid), fixing a typo (Chenodeoxychollyc -> chenodeoxycholic) and a wrong first name (MAM03704 is the trihydroxy isocholic acid, not the dihydroxy isochenodeoxycholic acid). Metabolite names only.

Scope note. The broader ~480 remaining Title-Case metabolite names are mostly standard glycan / glycolipid nomenclature (GalNAc4S-GlcA, IV2Fuc-Lc4Cer, Roman numerals) whose capitalisation is correct and must stay, so they are deliberately left alone.

I hereby confirm that I have:

  • Tested my code on my own computer for running the model
  • Selected develop as a target branch
  • Any removed reactions and metabolites have been moved to the corresponding deprecated identifier lists

edkerk added 4 commits July 12, 2026 09:54
Lowercase the Recon3D Title-Case acyl-CoA metabolite names and change
'Coenzyme A' to the model's '-CoA' convention (e.g. 'Trans,Cis-Dodeca-2,5-
Dienoyl Coenzyme A' -> 'trans,cis-dodeca-2,5-dienoyl-CoA'), preserving
stereo descriptors. Reaction names embedding these strings are updated in
sync. Names only; structure and balance unchanged.
Lowercase Recon3D Title-Case acid and fibre-bile-acid-complex metabolite
names (e.g. 'Lysophosphatidic Acid' -> 'lysophosphatidic acid'); embedding
reaction names updated in sync. Names only.
Lowercase the Title-Case acyl-carrier-protein names and use the model's
'[ACP]' convention (e.g. 'Cis-Tetradec-7-Enoyl-[Acyl-Carrier Protein]' ->
'cis-tetradec-7-enoyl-[ACP]'); reaction names synced. Names only.
Lowercase the 138 Recon3D Title-Case reaction names that use 'Coenzyme A'
as a generic term and switch to '-CoA' (e.g. 'Stearoyl Coenzyme A
Desaturase' -> 'stearoyl-CoA desaturase'), preserving shorthand like
N-C18:0CoA. Reaction names only.
@github-actions

github-actions Bot commented Jul 12, 2026

Copy link
Copy Markdown

Model quality report

Model QC checks fine, no changes compared to develop.

Model QC checks

Check Result Δ vs develop
Growth (biomass producible) 125 0
Metabolites missing formula 7 0
Metabolites missing charge 0 0
Reaction bound / GPR issues 0 0
Malformed cross-references 59 0
Cross-refs inconsistent across compartments 59 0
MEMOTE score (%) pending

MACAW and mass/charge balance

MACAW: dead-end and duplicate tests

Mass and charge balance

(balance report unavailable)

Gene essentiality (Hart 2015)

cellLine TP TN FP FN accuracy sensitivity specificity F1 MCC
DLD1 38 2158 60 280 0.8659 0.1195 0.9729 0.1827 0.1588
GBM 34 2137 64 300 0.8564 0.1018 0.9709 0.1574 0.1276
HCT116 47 2181 55 308 0.8599 0.1324 0.9754 0.2057 0.1906
HELA 32 2241 70 250 0.8766 0.1135 0.9697 0.1667 0.1332
RPE1 15 2179 83 258 0.8655 0.05495 0.9633 0.08086 0.02935
all 7 2379 95 112 0.9202 0.05882 0.9616 0.06335 0.02199

Per-finding detail is committed to data/testResults/ (qc_metabolite_completeness.csv, qc_reaction_sanity.csv, qc_annotation_issues.csv, macaw_results.csv, balance_results.csv, gene-essential.csv); the full MEMOTE result is uploaded as a build artifact.

Results for commit 1569eee.

Full workflow run · this comment is edited on subsequent runs

@edkerk edkerk added this to the 2.0.1 milestone Jul 12, 2026
edkerk and others added 3 commits July 12, 2026 10:45
Ten bile-acid metabolites carried a semicolon-separated list of names as
their name (from the Recon3D/HMDB import). Replace each with a single clean
lowercase name, e.g. '12-Dehydrocholic acid; 12-Oxodeoxycholic acid; ...' ->
'12-dehydrocholic acid'. Fix a typo (MAM03206 'Chenodeoxychollyc' ->
'chenodeoxycholic') and a wrong first name (MAM03704 is the trihydroxy
compound isocholic acid, not the dihydroxy isochenodeoxycholic acid).
Metabolite names only; no structural changes.
…lecase

# Conflicts:
#	data/testResults/README.md
@edkerk
edkerk merged commit daba0a6 into develop Jul 12, 2026
@edkerk
edkerk deleted the fix/chebi-name-titlecase branch July 12, 2026 09:02
@edkerk edkerk mentioned this pull request Jul 15, 2026
3 tasks
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