pools: a multi-step path must regenerate its enzyme (specs/039 amendment 5) - #101
Merged
Merged
Conversation
…amendment 5) A multi-step path is an enzyme cycle only if every non-R entity a step of it consumes is output again by a step of the same path (the enzyme comes back out). Consumed = the step's non-small inputs other than its R-containing source; small molecules (SimpleEntity, now ``small`` in the form profile) are exempt as cofactors (ATP in, ADP out is the modification, not a partner lost), and ubiquitin is a donor as elsewhere. Entities are compared by id, so a released copy the uuids separated still counts. Failing paths are dropped and counted (nonregenerating_paths); single-step paths are unaffected. The states that remain must reach one another through the kept paths: the pool keeps its largest strongly connected set of states and is dropped, counted under no_path_pools, when that has fewer than two (a pool with no path in one direction goes too). On build 20260928-0115_bdaed8e_pools039d: 11 multi-step paths dropped (HDR p-RPA machine; EGFR pool1 Beta-Pix:CDC42:GTP; Insulin pool1 the ligand; ERBB2 x4, PLCG1 and PTK6 leave phosphorylated; TGF-beta SMAD2/3 x2; the ERBB2 side of the PTK6 cycle x2), 7 pools dropped, 37 pools remain with 4 multi-step (BAD:14-3-3, RAS:GAP, SHC1:INSR, and PTK6 <-> p-Y342-PTK6 through p-ERBB2 heterodimers:PTK6 and PTPN1, which the shared-node rule used to remove). tests/test_pools.py: 19 tests. New: the kinase ring regenerates; a machine path whose co-input leaves transformed is dropped and the pool with it; an HDR-like growing machine is not a pool; small molecules are exempt; mutual modification inside a complex is a cycle for neither protein. The shared-node fixture is rebuilt with single-step side branches, since the old shape now fails regeneration first. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
deltasignal specs/039 amendment 5. A multi-step path counts as an enzyme cycle only if every non-R entity its steps consume is released again by the same path. In other words, the enzyme is regenerated.
nonregenerating_paths.no_path_pools).What it removes: machine-like "pools" whose exit step is driven by the pool's own product. In HDR, the resection machine's exit depends on p-CHEK1, which comes from the pool's own intermediates.
Census on build
20260928-0320_6815dfd_pools039e:Effect in DeltaSignal (
DS_CYCLE_MODE=balanceonly; the default stays off):Tests:
tests/test_pools.pyhas 19 tests.ruffandmypyare clean. Implemented by a Fable 5.1 subagent.🤖 Generated with Claude Code