Skip to content

LNG_UB_SUBSTRATE_CHANGED (default off): ubiquitination depletes only the changed partner (deltasignal specs/057) - #113

Closed
adamjohnwright wants to merge 2 commits into
mainfrom
ub-substrate-changed
Closed

adamjohnwright wants to merge 2 commits into
mainfrom
ub-substrate-changed

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Registered in deltasignal specs/057 before any build.

Bug. The ubiquitin pass of _emit_substrate_depletion_edges takes as substrate every input leaf whose gene reappears in the output. A complex ubiquitinated in place returns every partner, so each partner is depleted. Example: "CBL monoubiquitinates activated MET" (R-HSA-8875183) returns GRB2 unchanged, yet free GRB2 was depleted by the p-Y-CBL complex, which inverts every MET/HGF perturbation in Signaling by MET. Census on the canonical build: 301 of 727 depletion edges, 32 pathways.

Change. Under LNG_UB_SUBSTRATE_CHANGED=1 a substrate's own stId must also be absent from the output's leaves (it leaves changed). The output query now also returns leaf stIds. Default off: the off path is unchanged (tests/test_ub_substrate.py).

Measured by a variant build (catalog.sh build --variant ubs --env LNG_UB_SUBSTRATE_CHANGED=1) against the canonical build; the default changes only if the deltasignal gate passes and Adam agrees.

Tests: new file passes; the full suite has one failure, test_main_edges_proportional_to_best_matches[Class_I_MHC...], which fails identically on main.

🤖 Generated with Claude Code

adamjohnwright and others added 2 commits October 14, 2026 13:03
… partner it changes, not the ones it carries (deltasignal specs/057)

A substrate was any input leaf whose gene reappears in the output. A complex
ubiquitinated in place returns every partner, so each was depleted: CBL
monoubiquitinating MET depleted free GRB2. Under the flag a substrate's own
stId must be absent from the output's leaves. Off is unchanged (tested).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…Ub-X complex member is still the substrate (deltasignal specs/057 amendment 1)

Reactome writes some products as a complex of the substrate and Ub (Ub-SMAD2
= SMAD2 + Ub), so the substrate's stId reappears in the output and the
changed-stId test called it passed through (24 of 301 removed edges).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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