Skip to content

feat: associate voltage-gated and store-operated Ca2+ channels with MAR11311#1033

Open
edkerk wants to merge 4 commits into
developfrom
fix/ca-influx-channels
Open

feat: associate voltage-gated and store-operated Ca2+ channels with MAR11311#1033
edkerk wants to merge 4 commits into
developfrom
fix/ca-influx-channels

Conversation

@edkerk

@edkerk edkerk commented Jul 11, 2026

Copy link
Copy Markdown
Member

Main improvements in this PR:

As reported in #1001, MAR11311 (Ca2+[e] -> Ca2+[c]) was a "diffusion" reaction with no GPR, but uncoupled Ca2+ influx is channel-mediated. It is the only uncoupled Ca2+ influx reaction in the model, and every plasma-membrane Ca2+ influx channel catalyses this identical reaction, so separate per-channel reactions would be duplicates and they share this GPR.

  • Set the GPR of MAR11311 to the 13 pore-forming Ca2+ influx channel subunits: voltage-gated CACNA1A/B/C/D/E/F/G/H/I/S (Caᵥ1/2/3) and store-operated ORAI1/2/3, joined by OR.
  • Rename MAR11311 from "...via Diffusion..." to "...via Ion Channels...".
  • Add the 13 genes (all new to the model) to the gene list and genes.tsv.

Note: the new genes.tsv rows carry gene identity only (Ensembl ID, symbol, name). Their transcript/protein/UniProt/Entrez annotations and localisation still need to be populated by code/GPRs/fetch_ensembl_gene_annotations.py (the standard generator for genes.tsv, which requires Ensembl database access). Exported model files (.xml, .xlsx, ...) regenerate at release.

Scope was discussed in the issue: STIM1/2, TRP, and ligand-gated channels are intentionally excluded.

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

MAR11311 (Ca2+[e] -> Ca2+[c]) was labelled passive diffusion with no GPR,
but uncoupled Ca2+ entry is channel-mediated. It is the only uncoupled
Ca2+ influx reaction in the model (the other extracellular/cytosol Ca2+
reactions are antiporters and ATPases). Because every plasma-membrane
Ca2+ influx channel catalyses the identical Ca2+[e] -> Ca2+[c] reaction,
separate per-channel reactions would be duplicates, so they share this
reaction's GPR.

- Set the GPR of MAR11311 to the voltage-gated (Cav1/2/3) and store-
  operated (ORAI) Ca2+ channel pore-forming subunits: CACNA1A, CACNA1B,
  CACNA1C, CACNA1D, CACNA1E, CACNA1F, CACNA1G, CACNA1H, CACNA1I, CACNA1S
  and ORAI1, ORAI2, ORAI3 (13 genes, joined by OR).
- Rename MAR11311 from "...via Diffusion..." to "...via Ion Channels...".
- Add the 13 genes (all new to the model) to the gene list and genes.tsv.

The genes.tsv rows carry gene identity only (Ensembl ID, symbol, name);
their transcript/protein/UniProt/Entrez annotations and localisation
should be populated by code/GPRs/fetch_ensembl_gene_annotations.py, the
standard generator for that file. Exported model files regenerate at
release.

Expands the L-type request in #1001 to the other voltage-gated and
store-operated channels that share the same reaction.
@edkerk edkerk added this to the 2.1.0 milestone Jul 11, 2026
@SysBioChalmers SysBioChalmers deleted a comment from github-actions Bot Jul 18, 2026
…nels

# Conflicts:
#	data/testResults/README.md
@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

Model quality report

⚠️ 6 pre-existing finding(s), no regressions vs develop. Non-blocking.

Each check name links to its explanation in the testResults README.

Model checks

Duplicate keys (model unloadable) and no growth block the merge; every other row is a non-blocking report.

Check Result Δ vs develop
Duplicate !!omap keys 0 0
Growth (biomass producible) 125 0
Reactions with no metabolites 0 0
Model / annotation-table inconsistencies 0 0
Removed reactions or metabolites not deprecated 0 0
Metabolites missing formula 0 0
Metabolites missing charge 0 0
Reaction bound / GPR issues 0 0
Exact-duplicate reaction groups 0 0
Unused metabolites 0 0
Unused genes 0 0
Malformed cross-references 0 0
Cross-refs inconsistent across compartments 3 0 ⚠️

MACAW and mass/charge balance

Check Result Δ vs develop
Reactions flagged by MACAW dead-end test 2510 0 ⚠️
Reactions flagged as MACAW duplicates 377 0 ⚠️
Mass-imbalanced reactions 87 0 ⚠️
Charge-imbalanced reactions 234 0 ⚠️
Structure vs formula/charge inconsistencies 397 0 ⚠️

Model file and metabolic tasks

Check Result
YAML round-trip (cobrapy) pass
YAML round-trip (RAVEN) pass
YAML lint pass
Essential metabolic tasks 57 passed
Verification metabolic tasks 21 passed

MEMOTE

Total score: 63.2% (core subset)   0

Section Score Δ vs base
consistency 42.4% 0
annotation_met 73.0% 0
annotation_rxn 72.7% 0
annotation_gene 46.6% -0.1 ⚠️
annotation_sbo 81.7% 0
Per-test scores
Section Test Score
Consistency Stoichiometric Consistency 100.0%
Consistency Mass Balance 0.8%
Consistency Charge Balance 2.1%
Consistency Metabolite Connectivity 0.0%
Consistency Unbounded Flux In Default Medium 100.0%
Annotation - Metabolites Presence of Metabolite Annotation 0.0%
Annotation - Metabolites Metabolite Annotations Per Database 62.3%
Annotation - Metabolites Metabolite Annotation Conformity Per Database 45.8%
Annotation - Metabolites Uniform Metabolite Identifier Namespace 0.0%
Annotation - Reactions Presence of Reaction Annotation 0.0%
Annotation - Reactions Reaction Annotations Per Database 75.9%
Annotation - Reactions Reaction Annotation Conformity Per Database 33.3%
Annotation - Reactions Uniform Reaction Identifier Namespace 0.0%
Annotation - Genes Presence of Gene Annotation 0.0%
Annotation - Genes Gene Annotations Per Database 80.1%
Annotation - Genes Gene Annotation Conformity Per Database 80.0%
Annotation - SBO Terms Metabolite General SBO Presence 0.0%
Annotation - SBO Terms Metabolite SBO:0000247 Presence 0.1%
Annotation - SBO Terms Reaction General SBO Presence 0.0%
Annotation - SBO Terms Metabolic Reaction SBO:0000176 Presence 0.0%
Annotation - SBO Terms Transport Reaction SBO:0000185 Presence 0.7%
Annotation - SBO Terms Exchange Reaction SBO:0000627 Presence 0.0%
Annotation - SBO Terms Demand Reaction SBO:0000628 Presence 100.0%
Annotation - SBO Terms Sink Reactions SBO:0000632 Presence 100.0%
Annotation - SBO Terms Gene General SBO Presence 0.0%
Annotation - SBO Terms Gene SBO:0000243 Presence 0.0%
Annotation - SBO Terms Biomass Reactions SBO:0000629 Presence 0.0%

Full suite: 64.2%   0 · from the last /run memote.

The score above is the fast core subset. Comment /run memote to run the full suite on this pull request; the score updates here when it finishes.

Gene essentiality (Hart 2015)

Not run automatically (it takes hours). Comment /run gene-essentiality to run it on this pull request; the result posts as its own comment.

❌ = a count rose vs the target branch (regression) · ⚠️ = a pre-existing non-zero finding (non-blocking) · ⏳ = still running. Counts link to the CSV listing the exact entries.

Full workflow run · this comment is edited as results come in

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