Skip to content

Boundary assembly edges flatten a complex's internal EntitySet into co-required AND members #60

Description

@adamjohnwright

src/logic_network_generator.py:1409-1424leaves = get_terminal_components(stid) then one pos/and assembly edge per leaf.

get_terminal_components walks through EntitySets (reaction_generator.py:519-528), so mutually-exclusive alternatives arrive as siblings, all marked and.

This path does not split, so the constitution's "splitting already encodes the OR" justification does not cover it. That rule holds because each alternative becomes its own virtual reaction; here there is no VR, just N AND-ed assembly edges onto one complex node.

Evidence

382 of the 1,050 root-input assembly-target complexes in the fresh v97 catalog contain an internal DefinedSet/CandidateSet, and in every one the members are emitted as AND assembly members.

R-HSA-5693631  "PBX1:PKNOX1,MEIS1 [nucleoplasm]"
  hasComponent -> R-HSA-453045  PBX1  (EWAS)
  hasComponent -> R-HSA-5617480 "MEIS1,PKNOX1" (DefinedSet)
                    hasMember -> R-HSA-5617496 PKNOX1
                    hasMember -> R-HSA-5490327 MEIS1
emitted: 3 assembly edges (PBX1, PKNOX1, MEIS1), all and_or="and"

The curator's name says either PKNOX1 or MEIS1. Also affected: the HOX bivalent-chromatin complexes (R-HSA-5617473/5617645/5617482/5617474), each flattening R-HSA-4839773 (2 members) and R-HSA-1214232 (3 members).

61,652 assembly edges catalog-wide sit on this path.

Consequence

Knocking out one paralog gates the complex even when the alternative is intact — systematic signal dilution at exactly the root-input nodes that curator perturbations target.

Caution

This is the one place where OR genuinely is needed under Adam's rule (the exception being "sets we explicitly do not split on"). But LNG_SET_MEMBERS_OR on the catalyst/regulator path was a large regression (167→116 of 223, macro-F1 −0.209) because DeltaSignal has no aggregator for "one of N redundant alternatives was lost". Expect the same failure mode here, and land it only alongside such an aggregator — see the DeltaSignal DS_OR_COMBINE=gate work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions