Skip to content

feat: add (S)-dihydroorotate transport and exchange reactions#1047

Open
edkerk wants to merge 2 commits into
developfrom
feat/dihydroorotate-transport
Open

feat: add (S)-dihydroorotate transport and exchange reactions#1047
edkerk wants to merge 2 commits into
developfrom
feat/dihydroorotate-transport

Conversation

@edkerk

@edkerk edkerk commented Jul 11, 2026

Copy link
Copy Markdown
Member

Main improvements in this PR:

Resolves #357. (S)-dihydroorotate (MAM00180) existed only in the cytosol, with no transport or exchange reaction, so the model could not represent its secretion by cells under hypoxia (PMID:30643150).

  • Add extracellular metabolite MAM00180e.
  • Add MAR20193: (S)-dihydroorotate[c] <=> (S)-dihydroorotate[e], reversible, no GPR (no established plasma-membrane transporter for dihydroorotate).
  • Add MAR20194: exchange of (S)-dihydroorotate[e].

Both reactions are reversible, enabling import and export. The transport reaction is mass and charge balanced; the exchange is open by construction. No genes are affected.

The metabolite's ChEBI (CHEBI:17025, the acid form) reflects the model-wide ion/acid convention and is left unchanged.

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

(S)-dihydroorotate (MAM00180) existed only in the cytosol, with no
transport or exchange reaction, so the model could not represent its
secretion by cells under hypoxia (PMID:30643150).

- Add extracellular metabolite MAM00180e.
- Add MAR20193: (S)-dihydroorotate[c] <=> (S)-dihydroorotate[e],
  reversible. No GPR, as no specific plasma-membrane transporter for
  dihydroorotate is established.
- Add MAR20194: exchange of (S)-dihydroorotate[e].

Both reactions are reversible, enabling import and export. The transport
reaction is mass and charge balanced; the exchange is open by construction.
The metabolite's ChEBI (CHEBI:17025, the acid form) reflects the model-wide
ion/acid convention and is left unchanged.
@edkerk edkerk added this to the 2.1.0 milestone Jul 11, 2026
@github-actions

Copy link
Copy Markdown

This PR has been automatically tested with GH Actions. Here are the results of the quality-control tests:

MACAW: dead-end and duplicate tests

Starting dead-end test...
 - Found 1384 dead-end metabolites.
 - Found 1141 reactions incapable of sustaining steady-state fluxes in either direction due to these dead-ends.
 - Found 1369 reversible reactions that can only carry steady-state fluxes in a single direction due to dead-ends.
Starting duplicate test...
 - Skipping redox duplicates because no redox_pairs and/or proton_ids were provided.
 - Found 377 reactions that were some type of duplicate:
   - 0 were completely identical to at least one other reaction.
   - 13 involve the same metabolites but go in the opposite direction or have the opposite reversibility as at least one other reaction.
   - 377 involve the same metabolites but with different coefficients as at least one other reaction.

Mass and charge balance

Unbalanced reactions (excluding boundary and biomass): 277 (87 mass, 240 charge)

More detailed output is committed to data/testResults/ (macaw_results.csv and balance_results.csv).

Note: In the case of multiple test runs, this post will be edited.

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