Skip to content

chore: remove legacy getINITModel2 gene-essentiality code - #1068

Merged
edkerk merged 5 commits into
developfrom
chore/remove-legacy-getinitmodel2
Sep 10, 2026
Merged

edkerk merged 5 commits into
developfrom
chore/remove-legacy-getinitmodel2

Conversation

@edkerk

@edkerk edkerk commented Jul 17, 2026

Copy link
Copy Markdown
Member

Main improvements in this PR:

Remove the legacy MATLAB getINITModel2 gene-essentiality pipeline. Gene essentiality now runs the Python ftINIT (tINIT2) pipeline on raven-toolbox (code/test/geneEssentiality.pyestimateEssentialGenes.pyraven_toolbox.init.ftinit), dispatched on demand by gene-essentiality.yml. The MATLAB implementation is superseded, so remove it:

  • code/tINIT/getINITModel2.m — the old INIT algorithm (its own header names RAVEN ftINIT as the successor)
  • code/tINIT/restoreModelGrRules.m — orphan; restored grRules that the old tINIT stripped
  • code/test/estimateEssentialGenes.m — MATLAB; the only caller of getINITModel2
  • code/test/evaluateHart2015Essentiality.m — MATLAB

The Python equivalents (estimateEssentialGenes.py, evaluateHart2015Essentiality.py, geneEssentiality.py), the Hart2015 datasets, the committed results, and the (already-Python) gene-essentiality workflow are the current pipeline and are untouched. No model changes.

Verified before removal: getINITModel2 and restoreModelGrRules have no remaining callers, and geneEssentiality.py imports the Python modules (not the .m files), so nothing references the removed files.

I hereby confirm that I have:

  • Any removed reactions and metabolites have been moved to the corresponding deprecated identifier lists in data/deprecatedIdentifiers/.
  • This PR has develop as target branch, and will be resolved with a squash-merge.
  • This PR has main as target branch, and will be resolved with a merge commit.

@github-actions

github-actions Bot commented Jul 17, 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.7% 0
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.0%
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

@edkerk edkerk added this to the 2.1.0 milestone Jul 18, 2026
Human 2.0.1
Base automatically changed from develop to main September 7, 2026 11:59
edkerk and others added 2 commits September 7, 2026 13:59
Gene essentiality now runs the Python ftINIT (tINIT2) pipeline
(code/test/geneEssentiality.py + estimateEssentialGenes.py +
evaluateHart2015Essentiality.py). Remove the superseded MATLAB implementation:

- tINIT/getINITModel2.m          old INIT algorithm; RAVEN ftINIT is its successor
- tINIT/restoreModelGrRules.m    orphan; restored grRules the old tINIT stripped
- test/estimateEssentialGenes.m  MATLAB; only caller of getINITModel2
- test/evaluateHart2015Essentiality.m  MATLAB

The Python equivalents, the Hart2015 data/results and the (already-Python)
gene-essentiality workflow are the current pipeline and are untouched.
@edkerk
edkerk force-pushed the chore/remove-legacy-getinitmodel2 branch from 3c1a85e to 331677e Compare September 7, 2026 11:59
@edkerk
edkerk removed this pull request from stack #1075 September 9, 2026 22:51
@edkerk
edkerk changed the base branch from main to develop September 9, 2026 22:51
edkerk and others added 2 commits September 10, 2026 00:56
The only conflicts were the two regenerated result files, taken from develop so
the graded gene-essentiality documentation added by #1077 is kept.
@edkerk
edkerk merged commit 8e0b3aa into develop Sep 10, 2026
@edkerk
edkerk deleted the chore/remove-legacy-getinitmodel2 branch September 10, 2026 06:22
edkerk added a commit that referenced this pull request Sep 10, 2026
The two regenerated result files conflicted; taken from develop so the
legacy getINITModel2 removal from #1068 and the graded gene-essentiality
documentation from #1077 are both kept.
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