Rules reference
The pd2af transformation is driven by a set of rules (encoded in ASP). Every rule is language-agnostic (a base rule) or specific to an input language (a variant rule, for CellDesigner or SBGN PD). Rules are organized in groups, each representing a coherent functional unit — the whole a --exclude-group can drop. Every group id reads <family>:<member>, and the family is the coarse concern the group addresses.
This page is generated from the live registry in pd2af.asp.rules. It presents a by-mode view of which rules each mode uses, a canonical reference documenting each rule once, and an alphabetical index of every rule.
By mode
Within a mode a group is excludable (nothing else the mode includes depends on it, so --exclude-group can drop it cleanly) or mandatory (another included group depends on it, directly or by filling a slot it requires). The same group can be excludable in one mode and mandatory in another.
normal
activity:core (mandatory)
Mandatory activity machinery: the candidate->activity bridge and the two global toggles.
| Rule | Variant |
|---|---|
activity:core:from_candidate |
|
activity:core:from_global_suppress |
|
activity:core:celldesigner:from_global_activate |
CellDesigner |
activity:core:sbgn_pd:from_global_activate |
SBGN PD |
activity:phenotype (excludable)
Excludable: a phenotype is an activity candidate (reason isPhenotype).
| Rule | Variant |
|---|---|
activity:phenotype:from_phenotype |
activity:active_marker (mandatory)
Excludable: an explicit active marker makes a species/entity pool an activity candidate (CellDesigner: hasActive flag or active structural state; SBGN-PD: active state variable, including on subunits).
activity:modulation_source (excludable)
Excludable: the source of a modulation arc (CellDesigner: a modulation arc or a reaction modifier, which in SBGN-PD folds into the same arc-to-process case) is an activity candidate.
| Rule | Variant |
|---|---|
activity:modulation_source:celldesigner:from_modulation_source |
CellDesigner |
activity:modulation_source:celldesigner:from_reaction_modulator |
CellDesigner |
activity:modulation_source:sbgn_pd:from_modulation_source |
SBGN PD |
activity:gate_input (excludable)
Excludable: an input feeding a boolean logic gate / logical operator is an activity candidate (reason isGateInput).
| Rule | Variant |
|---|---|
activity:gate_input:celldesigner:from_gate_input |
CellDesigner |
activity:gate_input:sbgn_pd:from_operator_input |
SBGN PD |
topology:core (mandatory)
Mode-agnostic structural helpers shared by every mode: isSubunit, hasActiveDescendantSubunit.
| Rule | Variant |
|---|---|
topology:core:is_subunit |
|
topology:core:has_active_descendant_direct |
|
topology:core:has_active_descendant_transitive |
topology:top_level (mandatory)
Resolves every species to its outermost top-level entity: a non-subunit resolves to itself; a subunit -- at any nesting depth -- resolves to the outermost complex that contains it.
| Rule | Variant |
|---|---|
topology:top_level:recursive |
|
topology:top_level:celldesigner:self |
CellDesigner |
topology:top_level:sbgn_pd:self |
SBGN PD |
topology:top_level:sbgn_pd:phenotype_self |
SBGN PD |
preparation:complex (mandatory)
The complex-keeping modes (normal, keep-reactions) key a species with activity by the keptSpeciesKey of its top-level entity (the topology:top_level group): itself when top-level, its outermost complex when a subunit.
| Rule | Variant |
|---|---|
preparation:complex:key |
|
preparation:complex:celldesigner:carrier |
CellDesigner |
preparation:complex:sbgn_pd:carrier_entity_pool |
SBGN PD |
preparation:complex:sbgn_pd:carrier_phenotype |
SBGN PD |
paths:core (mandatory)
Builds the direct (single-hop) kinded propagatesInfluence(SOURCE_SPECIES, TARGET_SPECIES, INFLUENCE_KIND) relation from PD reactions and modulation arcs, plus the production-cycle relations that gate transitive extension.
| Rule | Variant |
|---|---|
paths:core:is_transformed_to |
|
paths:core:is_cyclically_transformed_to |
|
paths:core:composes_to |
|
paths:core:celldesigner:catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:physical_stimulator_to_product |
CellDesigner |
paths:core:celldesigner:trigger_to_product |
CellDesigner |
paths:core:celldesigner:modulation_arc_influence |
CellDesigner |
paths:core:celldesigner:inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:modulator_to_product |
CellDesigner |
paths:core:celldesigner:unknown_catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:unknown_inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:is_directly_transformed_to |
CellDesigner |
paths:core:sbgn_pd:modulation_to_product |
SBGN PD |
paths:core:sbgn_pd:modulation_to_phenotype |
SBGN PD |
paths:core:sbgn_pd:is_directly_transformed_to |
SBGN PD |
paths:chaining (excludable)
Excludable multi-hop transitivity: extends a propagatesInfluence path through one more reactant->product hop (a reaction in CellDesigner, a process in SBGN-PD), carrying the kind via composesTo (triggering degrades to positivelyInfluences) and refusing to extend across a hop inside a production cycle (not isCyclicallyTransformedTo).
| Rule | Variant |
|---|---|
paths:chaining:celldesigner:transitive_through_reaction |
CellDesigner |
paths:chaining:sbgn_pd:transitive_through_process |
SBGN PD |
entity:identity (mandatory)
When two elements are the same entity in different states: isSameEntityAs(ELEMENT, OTHER_ELEMENT) holds for two species sharing a template (protein, gene, RNA reference), and for two template-free elements of the same kind and name (CellDesigner) or label (SBGN-PD).
| Rule | Variant |
|---|---|
entity:identity:celldesigner:from_template |
CellDesigner |
entity:identity:celldesigner:kind |
CellDesigner |
entity:identity:celldesigner:from_name |
CellDesigner |
entity:identity:sbgn_pd:kind |
SBGN PD |
entity:identity:sbgn_pd:from_label |
SBGN PD |
influences:kind (mandatory)
Maps each modulation arc to its influence kind via hasInfluenceKind(MODULATION, INFLUENCE_KIND), the single place the arc-type->kind knowledge lives.
influences:core (excludable)
Derivation: emits new(activity(KEY)) for every activity key, and lifts every kinded path into the internal influences(SOURCE_KEY, TARGET_KEY, INFLUENCE_KIND) relation by resolving both endpoints through their activity carrier and key.
| Rule | Variant |
|---|---|
influences:core:activity |
|
influences:core:path |
influences:consumption (excludable)
Excludable consumption/sparing reasoning: a reaction depletes its reactants, so a modifier that drives the reaction also acts on every reactant that is itself an activity -- catalyzer/physicalStimulator/trigger negatively influence each consumed reactant, inhibitor positively influences each spared reactant, and the unknown modifiers contribute the unknown twins.
influences:binding_activation (excludable)
Excludable activation-by-binding reasoning: when a reaction turns an entity drawn inactive as a reactant (or inside a reactant complex) into an active subunit of a product complex, the binding activated it, so every other reactant of that reaction -- one that is neither the same entity nor itself activated by the same reaction -- becomes an activity (reason isBindingActivator) and positively influences the activity carrying the active subunit: its top-level complex in normal, the promoted subunit in no-complex.
influences:output (excludable)
Shared fan-out from the internal influences(SOURCE, TARGET, INFLUENCE_KIND) relation to the typed new(...) influence heads — one rule per kind.
gates:core (excludable)
Authored logical operators (CellDesigner BooleanLogicGate, SBGN-PD LogicalOperator): emits the operator node (logicalOperator/2, token-typed), its input edges (logicalOperatorInput/2, each input resolved through carrier/key -- or, for SBGN-PD, through the referred operator's own key when the input refers to another logical operator), and the operator-sourced influence written straight into the internal influences/3 relation by reusing the existing propagatesInfluence(OPERATOR, TARGET, INFLUENCE_KIND) closure.
| Rule | Variant |
|---|---|
gates:core:celldesigner:node_and |
CellDesigner |
gates:core:celldesigner:node_or |
CellDesigner |
gates:core:celldesigner:node_not |
CellDesigner |
gates:core:celldesigner:node_unknown |
CellDesigner |
gates:core:celldesigner:input_edge |
CellDesigner |
gates:core:celldesigner:influence |
CellDesigner |
gates:core:sbgn_pd:node_and |
SBGN PD |
gates:core:sbgn_pd:node_or |
SBGN PD |
gates:core:sbgn_pd:node_not |
SBGN PD |
gates:core:sbgn_pd:input_edge |
SBGN PD |
gates:core:sbgn_pd:input_edge_operator |
SBGN PD |
gates:core:sbgn_pd:influence |
SBGN PD |
no-complex
activity:core (mandatory)
Mandatory activity machinery: the candidate->activity bridge and the two global toggles.
| Rule | Variant |
|---|---|
activity:core:from_candidate |
|
activity:core:from_global_suppress |
|
activity:core:celldesigner:from_global_activate |
CellDesigner |
activity:core:sbgn_pd:from_global_activate |
SBGN PD |
activity:phenotype (excludable)
Excludable: a phenotype is an activity candidate (reason isPhenotype).
| Rule | Variant |
|---|---|
activity:phenotype:from_phenotype |
activity:active_marker (mandatory)
Excludable: an explicit active marker makes a species/entity pool an activity candidate (CellDesigner: hasActive flag or active structural state; SBGN-PD: active state variable, including on subunits).
activity:modulation_source (excludable)
Excludable: the source of a modulation arc (CellDesigner: a modulation arc or a reaction modifier, which in SBGN-PD folds into the same arc-to-process case) is an activity candidate.
| Rule | Variant |
|---|---|
activity:modulation_source:celldesigner:from_modulation_source |
CellDesigner |
activity:modulation_source:celldesigner:from_reaction_modulator |
CellDesigner |
activity:modulation_source:sbgn_pd:from_modulation_source |
SBGN PD |
activity:gate_input (excludable)
Excludable: an input feeding a boolean logic gate / logical operator is an activity candidate (reason isGateInput).
| Rule | Variant |
|---|---|
activity:gate_input:celldesigner:from_gate_input |
CellDesigner |
activity:gate_input:sbgn_pd:from_operator_input |
SBGN PD |
topology:core (mandatory)
Mode-agnostic structural helpers shared by every mode: isSubunit, hasActiveDescendantSubunit.
| Rule | Variant |
|---|---|
topology:core:is_subunit |
|
topology:core:has_active_descendant_direct |
|
topology:core:has_active_descendant_transitive |
preparation:no_complex (mandatory)
The complex-dissolving mode (no-complex): a complex with any (transitive) active descendant is deleted; a non-deleted top-level species with activity is keyed by keptSpeciesKey(SELF); a subunit of a deleted complex is promoted to top level, keyed by promotedSubunitKey(SELF) (paths reach it via paths:complex_traversal).
paths:core (mandatory)
Builds the direct (single-hop) kinded propagatesInfluence(SOURCE_SPECIES, TARGET_SPECIES, INFLUENCE_KIND) relation from PD reactions and modulation arcs, plus the production-cycle relations that gate transitive extension.
| Rule | Variant |
|---|---|
paths:core:is_transformed_to |
|
paths:core:is_cyclically_transformed_to |
|
paths:core:composes_to |
|
paths:core:celldesigner:catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:physical_stimulator_to_product |
CellDesigner |
paths:core:celldesigner:trigger_to_product |
CellDesigner |
paths:core:celldesigner:modulation_arc_influence |
CellDesigner |
paths:core:celldesigner:inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:modulator_to_product |
CellDesigner |
paths:core:celldesigner:unknown_catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:unknown_inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:is_directly_transformed_to |
CellDesigner |
paths:core:sbgn_pd:modulation_to_product |
SBGN PD |
paths:core:sbgn_pd:modulation_to_phenotype |
SBGN PD |
paths:core:sbgn_pd:is_directly_transformed_to |
SBGN PD |
paths:chaining (excludable)
Excludable multi-hop transitivity: extends a propagatesInfluence path through one more reactant->product hop (a reaction in CellDesigner, a process in SBGN-PD), carrying the kind via composesTo (triggering degrades to positivelyInfluences) and refusing to extend across a hop inside a production cycle (not isCyclicallyTransformedTo).
| Rule | Variant |
|---|---|
paths:chaining:celldesigner:transitive_through_reaction |
CellDesigner |
paths:chaining:sbgn_pd:transitive_through_process |
SBGN PD |
paths:complex_traversal (excludable)
Extends paths through complex containment for the no-complex mode: a path touching a complex is propagated to/from each of its subunits so influences reach the surviving subunit activities.
| Rule | Variant |
|---|---|
paths:complex_traversal:into_subunits |
|
paths:complex_traversal:from_subunits |
entity:identity (mandatory)
When two elements are the same entity in different states: isSameEntityAs(ELEMENT, OTHER_ELEMENT) holds for two species sharing a template (protein, gene, RNA reference), and for two template-free elements of the same kind and name (CellDesigner) or label (SBGN-PD).
| Rule | Variant |
|---|---|
entity:identity:celldesigner:from_template |
CellDesigner |
entity:identity:celldesigner:kind |
CellDesigner |
entity:identity:celldesigner:from_name |
CellDesigner |
entity:identity:sbgn_pd:kind |
SBGN PD |
entity:identity:sbgn_pd:from_label |
SBGN PD |
influences:kind (mandatory)
Maps each modulation arc to its influence kind via hasInfluenceKind(MODULATION, INFLUENCE_KIND), the single place the arc-type->kind knowledge lives.
influences:core (excludable)
Derivation: emits new(activity(KEY)) for every activity key, and lifts every kinded path into the internal influences(SOURCE_KEY, TARGET_KEY, INFLUENCE_KIND) relation by resolving both endpoints through their activity carrier and key.
| Rule | Variant |
|---|---|
influences:core:activity |
|
influences:core:path |
influences:consumption (excludable)
Excludable consumption/sparing reasoning: a reaction depletes its reactants, so a modifier that drives the reaction also acts on every reactant that is itself an activity -- catalyzer/physicalStimulator/trigger negatively influence each consumed reactant, inhibitor positively influences each spared reactant, and the unknown modifiers contribute the unknown twins.
influences:binding_activation (excludable)
Excludable activation-by-binding reasoning: when a reaction turns an entity drawn inactive as a reactant (or inside a reactant complex) into an active subunit of a product complex, the binding activated it, so every other reactant of that reaction -- one that is neither the same entity nor itself activated by the same reaction -- becomes an activity (reason isBindingActivator) and positively influences the activity carrying the active subunit: its top-level complex in normal, the promoted subunit in no-complex.
influences:output (excludable)
Shared fan-out from the internal influences(SOURCE, TARGET, INFLUENCE_KIND) relation to the typed new(...) influence heads — one rule per kind.
gates:core (excludable)
Authored logical operators (CellDesigner BooleanLogicGate, SBGN-PD LogicalOperator): emits the operator node (logicalOperator/2, token-typed), its input edges (logicalOperatorInput/2, each input resolved through carrier/key -- or, for SBGN-PD, through the referred operator's own key when the input refers to another logical operator), and the operator-sourced influence written straight into the internal influences/3 relation by reusing the existing propagatesInfluence(OPERATOR, TARGET, INFLUENCE_KIND) closure.
| Rule | Variant |
|---|---|
gates:core:celldesigner:node_and |
CellDesigner |
gates:core:celldesigner:node_or |
CellDesigner |
gates:core:celldesigner:node_not |
CellDesigner |
gates:core:celldesigner:node_unknown |
CellDesigner |
gates:core:celldesigner:input_edge |
CellDesigner |
gates:core:celldesigner:influence |
CellDesigner |
gates:core:sbgn_pd:node_and |
SBGN PD |
gates:core:sbgn_pd:node_or |
SBGN PD |
gates:core:sbgn_pd:node_not |
SBGN PD |
gates:core:sbgn_pd:input_edge |
SBGN PD |
gates:core:sbgn_pd:input_edge_operator |
SBGN PD |
gates:core:sbgn_pd:influence |
SBGN PD |
keep-reactions
activity:core (mandatory)
Mandatory activity machinery: the candidate->activity bridge and the two global toggles.
| Rule | Variant |
|---|---|
activity:core:from_candidate |
|
activity:core:from_global_suppress |
|
activity:core:celldesigner:from_global_activate |
CellDesigner |
activity:core:sbgn_pd:from_global_activate |
SBGN PD |
topology:core (mandatory)
Mode-agnostic structural helpers shared by every mode: isSubunit, hasActiveDescendantSubunit.
| Rule | Variant |
|---|---|
topology:core:is_subunit |
|
topology:core:has_active_descendant_direct |
|
topology:core:has_active_descendant_transitive |
topology:top_level (mandatory)
Resolves every species to its outermost top-level entity: a non-subunit resolves to itself; a subunit -- at any nesting depth -- resolves to the outermost complex that contains it.
| Rule | Variant |
|---|---|
topology:top_level:recursive |
|
topology:top_level:celldesigner:self |
CellDesigner |
topology:top_level:sbgn_pd:self |
SBGN PD |
topology:top_level:sbgn_pd:phenotype_self |
SBGN PD |
preparation:complex (mandatory)
The complex-keeping modes (normal, keep-reactions) key a species with activity by the keptSpeciesKey of its top-level entity (the topology:top_level group): itself when top-level, its outermost complex when a subunit.
| Rule | Variant |
|---|---|
preparation:complex:key |
|
preparation:complex:celldesigner:carrier |
CellDesigner |
preparation:complex:sbgn_pd:carrier_entity_pool |
SBGN PD |
preparation:complex:sbgn_pd:carrier_phenotype |
SBGN PD |
paths:core (mandatory)
Builds the direct (single-hop) kinded propagatesInfluence(SOURCE_SPECIES, TARGET_SPECIES, INFLUENCE_KIND) relation from PD reactions and modulation arcs, plus the production-cycle relations that gate transitive extension.
| Rule | Variant |
|---|---|
paths:core:is_transformed_to |
|
paths:core:is_cyclically_transformed_to |
|
paths:core:composes_to |
|
paths:core:celldesigner:catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:physical_stimulator_to_product |
CellDesigner |
paths:core:celldesigner:trigger_to_product |
CellDesigner |
paths:core:celldesigner:modulation_arc_influence |
CellDesigner |
paths:core:celldesigner:inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:modulator_to_product |
CellDesigner |
paths:core:celldesigner:unknown_catalyzer_to_product |
CellDesigner |
paths:core:celldesigner:unknown_inhibitor_to_product |
CellDesigner |
paths:core:celldesigner:is_directly_transformed_to |
CellDesigner |
paths:core:sbgn_pd:modulation_to_product |
SBGN PD |
paths:core:sbgn_pd:modulation_to_phenotype |
SBGN PD |
paths:core:sbgn_pd:is_directly_transformed_to |
SBGN PD |
influences:kind (mandatory)
Maps each modulation arc to its influence kind via hasInfluenceKind(MODULATION, INFLUENCE_KIND), the single place the arc-type->kind knowledge lives.
influences:core (mandatory)
Derivation: emits new(activity(KEY)) for every activity key, and lifts every kinded path into the internal influences(SOURCE_KEY, TARGET_KEY, INFLUENCE_KIND) relation by resolving both endpoints through their activity carrier and key.
| Rule | Variant |
|---|---|
influences:core:activity |
|
influences:core:path |
influences:output (excludable)
Shared fan-out from the internal influences(SOURCE, TARGET, INFLUENCE_KIND) relation to the typed new(...) influence heads — one rule per kind.
gates:core (excludable)
Authored logical operators (CellDesigner BooleanLogicGate, SBGN-PD LogicalOperator): emits the operator node (logicalOperator/2, token-typed), its input edges (logicalOperatorInput/2, each input resolved through carrier/key -- or, for SBGN-PD, through the referred operator's own key when the input refers to another logical operator), and the operator-sourced influence written straight into the internal influences/3 relation by reusing the existing propagatesInfluence(OPERATOR, TARGET, INFLUENCE_KIND) closure.
| Rule | Variant |
|---|---|
gates:core:celldesigner:node_and |
CellDesigner |
gates:core:celldesigner:node_or |
CellDesigner |
gates:core:celldesigner:node_not |
CellDesigner |
gates:core:celldesigner:node_unknown |
CellDesigner |
gates:core:celldesigner:input_edge |
CellDesigner |
gates:core:celldesigner:influence |
CellDesigner |
gates:core:sbgn_pd:node_and |
SBGN PD |
gates:core:sbgn_pd:node_or |
SBGN PD |
gates:core:sbgn_pd:node_not |
SBGN PD |
gates:core:sbgn_pd:input_edge |
SBGN PD |
gates:core:sbgn_pd:input_edge_operator |
SBGN PD |
gates:core:sbgn_pd:influence |
SBGN PD |
keep_reactions:activity (excludable)
The keep-reactions premise that every species is an activity, replacing the structural-reason activity:* feature-groups (each of which is inert once every species is a candidate, so the mode omits them).
| Rule | Variant |
|---|---|
keep_reactions:activity:from_species |
keep_reactions:influences (excludable)
The keep-reactions premise that every reaction is kept: each (reactant, product) pair of a reaction becomes one positive influence.
| Rule | Variant |
|---|---|
keep_reactions:influences:reactant_to_product |
Rule groups
activity
activity:core
Mandatory activity machinery: the candidate->activity bridge and the two global toggles. A single bridging rule promotes a hasActivityCandidate(ELEMENT, REASON) to hasActivity unless the element is suppressActivity (the --set-inactive veto). globalSuppress (--set-all-inactive) suppresses every candidate except those the solver marked forceActive (the per-id --set-active override), realising the precedence per-id > global > rules; globalActivate (--set-all-active) turns every top-level species/entity pool into a candidate. Every activity feature-group and every downstream group depends on this, so the dependency graph forbids excluding it -- the global toggles stay wired to their CLI flags. The structural-reason rules (phenotype, active marker, modulation source, gate input) live in the excludable activity:* feature-groups.
activity:phenotype
Excludable: a phenotype is an activity candidate (reason isPhenotype). Exclude with --exclude-group activity:phenotype to stop treating phenotypes as activities.
activity:active_marker
Excludable: an explicit active marker makes a species/entity pool an activity candidate (CellDesigner: hasActive flag or active structural state; SBGN-PD: active state variable, including on subunits). Exclude with --exclude-group activity:active_marker.
activity:modulation_source
Excludable: the source of a modulation arc (CellDesigner: a modulation arc or a reaction modifier, which in SBGN-PD folds into the same arc-to-process case) is an activity candidate. Exclude with --exclude-group activity:modulation_source.
activity:gate_input
Excludable: an input feeding a boolean logic gate / logical operator is an activity candidate (reason isGateInput). Exclude with --exclude-group activity:gate_input.
topology
topology:core
Mode-agnostic structural helpers shared by every mode: isSubunit, hasActiveDescendantSubunit.
topology:top_level
Resolves every species to its outermost top-level entity: a non-subunit resolves to itself; a subunit -- at any nesting depth -- resolves to the outermost complex that contains it. The complex-keeping modes (normal, keep-reactions) key a species by its top-level entity, so a subunit is never its own activity and its influences attach to its top-level complex (a subunit is a structural component, not an independent influencer).
preparation
preparation:complex
The complex-keeping modes (normal, keep-reactions) key a species with activity by the keptSpeciesKey of its top-level entity (the topology:top_level group): itself when top-level, its outermost complex when a subunit. A subunit therefore contributes no activity of its own -- it is a structural component of its complex, and any influence it carries attaches to the top-level complex (the active descendant directly keys the complex, so the assembly is represented without a separate inherit-activity rule). Carriers are identity; the rerouting lives entirely in the key. The keep_species option bears on the build stage alone, where it decides whether the PTM decorations are stripped and the content-equal results merged.
preparation:no_complex
The complex-dissolving mode (no-complex): a complex with any (transitive) active descendant is deleted; a non-deleted top-level species with activity is keyed by keptSpeciesKey(SELF); a subunit of a deleted complex is promoted to top level, keyed by promotedSubunitKey(SELF) (paths reach it via paths:complex_traversal). The keep_species option bears on the build stage alone, where it decides whether the PTM decorations are stripped and the content-equal results merged.
paths
paths:core
Builds the direct (single-hop) kinded propagatesInfluence(SOURCE_SPECIES, TARGET_SPECIES, INFLUENCE_KIND) relation from PD reactions and modulation arcs, plus the production-cycle relations that gate transitive extension. INFLUENCE_KIND is one of positive, negative, triggering, modulation and their unknown_* twins. Reaction modifiers and the matching species→species modulation arcs map to the same kind (e.g. a trigger modifier and a triggering arc both give triggering; catalysis and physical stimulation both give positive; inhibition gives negative). Each variant defines the single reactant->product hop isDirectlyTransformedTo/2, the shared isTransformedTo/2 is its transitive closure, and isCyclicallyTransformedTo/2 marks the hops that lie inside a cycle so transitivity never propagates influence back around a production loop. The multi-hop reactant-chained transitivity itself is the excludable paths:chaining group.
paths:chaining
Excludable multi-hop transitivity: extends a propagatesInfluence path through one more reactant->product hop (a reaction in CellDesigner, a process in SBGN-PD), carrying the kind via composesTo (triggering degrades to positivelyInfluences) and refusing to extend across a hop inside a production cycle (not isCyclicallyTransformedTo). Exclude with --exclude-group paths:chaining to keep only direct single-hop influences. Depends on paths:core, which supplies both composesTo and the cycle relations.
paths:complex_traversal
Extends paths through complex containment for the no-complex mode: a path touching a complex is propagated to/from each of its subunits so influences reach the surviving subunit activities.
entity
entity:identity
When two elements are the same entity in different states: isSameEntityAs(ELEMENT, OTHER_ELEMENT) holds for two species sharing a template (protein, gene, RNA reference), and for two template-free elements of the same kind and name (CellDesigner) or label (SBGN-PD). State, multimer cardinality and compartment are ignored, so a species and a modified form of it are the same entity. influences:consumption uses it to tell a reaction that hands its reactant back from one that uses it up, and influences:binding_activation to tell whether the entity leaving a reaction is the one that entered it.
influences
influences:kind
Maps each modulation arc to its influence kind via hasInfluenceKind(MODULATION, INFLUENCE_KIND), the single place the arc-type->kind knowledge lives. Every group that emits a modulation-arc influence reads this relation rather than re-encoding the mapping. The mapping is per-language: CellDesigner arcs carry the sign in the arc type (catalysis, inhibition, ...), while an SBGN-PD arc's kind comes from its stimulation/inhibition/necessary-stimulation classification.
influences:core
Derivation: emits new(activity(KEY)) for every activity key, and lifts every kinded path into the internal influences(SOURCE_KEY, TARGET_KEY, INFLUENCE_KIND) relation by resolving both endpoints through their activity carrier and key. Both rules are mode- and language-agnostic; the consumption/sparing reasoning lives in the separate influences:consumption group. The internal influences/3 relation is fanned out to the typed new(...) heads by the shared influences:output group.
influences:consumption
Excludable consumption/sparing reasoning: a reaction depletes its reactants, so a modifier that drives the reaction also acts on every reactant that is itself an activity -- catalyzer/physicalStimulator/trigger negatively influence each consumed reactant, inhibitor positively influences each spared reactant, and the unknown modifiers contribute the unknown twins. The SBGN-PD variant walks a modulation arc onto a process the same way: a stimulation (catalysis and necessary stimulation included) negatively influences each reactant activity, an inhibition positively influences each one, a bare modulation neither. A reactant the reaction hands back as the same activity is not depleted and draws no edge; returnsReactantAsActivity carries that condition, and excluding that one rule restores the unconditional behavior. This is inference beyond what the map draws, so it is a group of its own: exclude with --exclude-group influences:consumption to keep only the influences the map states. The keep-reactions mode omits it, since that mode renders each reaction directly instead of reasoning about it.
influences:binding_activation
Excludable activation-by-binding reasoning: when a reaction turns an entity drawn inactive as a reactant (or inside a reactant complex) into an active subunit of a product complex, the binding activated it, so every other reactant of that reaction -- one that is neither the same entity nor itself activated by the same reaction -- becomes an activity (reason isBindingActivator) and positively influences the activity carrying the active subunit: its top-level complex in normal, the promoted subunit in no-complex. Two entities activated by the same reaction draw no edge between each other. Same-entity comes from the entity:identity group. The edge is direct (influences/3), so it does not chain through later reactions. Exclude with --exclude-group influences:binding_activation.
influences:output
Shared fan-out from the internal influences(SOURCE, TARGET, INFLUENCE_KIND) relation to the typed new(...) influence heads — one rule per kind. Every pipeline converges on influences/3; this group is the single place that turns a kind into its output predicate.
gates
gates:core
Authored logical operators (CellDesigner BooleanLogicGate, SBGN-PD LogicalOperator): emits the operator node (logicalOperator/2, token-typed), its input edges (logicalOperatorInput/2, each input resolved through carrier/key -- or, for SBGN-PD, through the referred operator's own key when the input refers to another logical operator), and the operator-sourced influence written straight into the internal influences/3 relation by reusing the existing propagatesInfluence(OPERATOR, TARGET, INFLUENCE_KIND) closure. The node and influence rules are guarded on the input edges, so an operator with zero resolved inputs emits neither a node nor a sourced influence, and one with some resolved inputs keeps them all. The widened influence source union (predicates._INFLUENCE_SOURCE) lets influences:output fan these out with no change. Provenance-agnostic.
keep_reactions
keep_reactions:activity
The keep-reactions premise that every species is an activity, replacing the structural-reason activity:* feature-groups (each of which is inert once every species is a candidate, so the mode omits them). Unlike the --set-all-active toggle this rule carries no not hasSubunit guard: a subunit is a candidate too, which does not make it an activity of its own -- preparation:complex:key keys it by the keptSpeciesKey of its outermost complex -- but it does mean a reaction, modulation arc or gate input touching a subunit routes to the containing complex instead of being dropped for want of an activity key.
keep_reactions:influences
The keep-reactions premise that every reaction is kept: each (reactant, product) pair of a reaction becomes one positive influence. positivelyInfluences rather than triggers -- consuming a reactant to make a product is a contribution to it, not the necessary-stimulation relationship triggers (CellDesigner Triggering, SBGN-AF NecessaryStimulation) asserts. The rule writes propagatesInfluence/3 rather than influences/3 so the shared influences:core:path bridge resolves both endpoints through their carrier and key, routing a subunit endpoint to its top-level complex. Reactant and product may resolve to the same activity (a reaction whose participants share a complex, or a state transition drawn on a single species), and the resulting self-influence is emitted like any other.
Rule index
All rules in alphabetical order (identifiers are group- and variant-prefixed).
| Rule | Group | Variant | Modes | Summary |
|---|---|---|---|---|
activity:active_marker:celldesigner:from_active_flag |
activity:active_marker |
CellDesigner | normal, no-complex |
A species explicitly marked as active is an activity candidate. |
activity:active_marker:celldesigner:from_active_structural_state |
activity:active_marker |
CellDesigner | normal, no-complex |
A species in an active structural state is an activity candidate. |
activity:active_marker:sbgn_pd:from_active_state_variable |
activity:active_marker |
SBGN PD | normal, no-complex |
An entity pool in an active state is an activity candidate. |
activity:active_marker:sbgn_pd:from_active_subunit_state_variable |
activity:active_marker |
SBGN PD | normal, no-complex |
A subunit in an active state is an activity candidate. |
activity:core:celldesigner:from_global_activate |
activity:core |
CellDesigner | all | Under the set-all-active toggle, every top-level species is an activity candidate. |
activity:core:from_candidate |
activity:core |
all | An activity candidate becomes an actual activity unless it has been vetoed. | |
activity:core:from_global_suppress |
activity:core |
all | The set-all-inactive toggle suppresses every activity candidate, except those pinned active per id. | |
activity:core:sbgn_pd:from_global_activate |
activity:core |
SBGN PD | all | Under the set-all-active toggle, every entity pool is an activity candidate. |
activity:gate_input:celldesigner:from_gate_input |
activity:gate_input |
CellDesigner | normal, no-complex |
A species feeding a boolean logic gate is an activity candidate. |
activity:gate_input:sbgn_pd:from_operator_input |
activity:gate_input |
SBGN PD | normal, no-complex |
An entity pool feeding a logical operator is an activity candidate. |
activity:modulation_source:celldesigner:from_modulation_source |
activity:modulation_source |
CellDesigner | normal, no-complex |
A species that is the source of a modulation arc is an activity candidate. |
activity:modulation_source:celldesigner:from_reaction_modulator |
activity:modulation_source |
CellDesigner | normal, no-complex |
A species that modulates a reaction is an activity candidate. |
activity:modulation_source:sbgn_pd:from_modulation_source |
activity:modulation_source |
SBGN PD | normal, no-complex |
An entity pool that is the source of a modulation arc is an activity candidate. |
activity:phenotype:from_phenotype |
activity:phenotype |
normal, no-complex |
A phenotype is always an activity candidate. | |
entity:identity:celldesigner:from_name |
entity:identity |
CellDesigner | normal, no-complex |
CellDesigner: two template-free species of the same kind and name are the same entity. |
entity:identity:celldesigner:from_template |
entity:identity |
CellDesigner | normal, no-complex |
CellDesigner: two species sharing a template (protein, gene, RNA reference) are the same entity. |
entity:identity:celldesigner:kind |
entity:identity |
CellDesigner | normal, no-complex |
CellDesigner: the kind of each species class that carries no template. |
entity:identity:sbgn_pd:from_label |
entity:identity |
SBGN PD | normal, no-complex |
SBGN-PD: two elements of the same kind and label are the same entity. |
entity:identity:sbgn_pd:kind |
entity:identity |
SBGN PD | normal, no-complex |
SBGN-PD: the kind shared by an entity pool, its multimer, its subunit and its multimer subunit classes, so a macromolecule pool and a macromoleculeSubunit compare as the same kind. |
gates:core:celldesigner:influence |
gates:core |
CellDesigner | all | One rule covering both Shape A (gate is a reaction modifier) and Shape B (gate is a modulation source): the paths:core rules already bind a propagatesInfluence/3 whose source is the gate, so the gate only resolves its TARGET through carrier/key and writes the influence keyed by the operator. |
gates:core:celldesigner:input_edge |
gates:core |
CellDesigner | all | Each gate input is resolved through its activity carrier and key (mirroring influences:core:path), so an input that is a subunit resolves to its top-level complex's key. |
gates:core:celldesigner:node_and |
gates:core |
CellDesigner | all | An andGate with at least one resolved input emits an AND logical-operator node. |
gates:core:celldesigner:node_not |
gates:core |
CellDesigner | all | A notGate with at least one resolved input emits a NOT logical-operator node. |
gates:core:celldesigner:node_or |
gates:core |
CellDesigner | all | An orGate with at least one resolved input emits an OR logical-operator node. |
gates:core:celldesigner:node_unknown |
gates:core |
CellDesigner | all | An unknownGate with at least one resolved input emits an unknown-type logical-operator node. |
gates:core:sbgn_pd:influence |
gates:core |
SBGN PD | all | SBGN-PD parallel of the CellDesigner operator-sourced influence rule (Shape B: the operator is a modulation source). |
gates:core:sbgn_pd:input_edge |
gates:core |
SBGN PD | all | SBGN-PD parallel of the CellDesigner input-edge rule, guarded on the logicalOperator umbrella (derived from the per-type operators via the ontology isa rules). |
gates:core:sbgn_pd:input_edge_operator |
gates:core |
SBGN PD | all | An SBGN-PD operator input whose referred element is itself a logical operator resolves through that operator's key instead of through an activity candidate. |
gates:core:sbgn_pd:node_and |
gates:core |
SBGN PD | all | An andOperator with at least one resolved input emits an AND logical-operator node. |
gates:core:sbgn_pd:node_not |
gates:core |
SBGN PD | all | A notOperator with at least one resolved input emits a NOT logical-operator node. |
gates:core:sbgn_pd:node_or |
gates:core |
SBGN PD | all | An orOperator with at least one resolved input emits an OR logical-operator node. |
influences:binding_activation:activates_by_binding |
influences:binding_activation |
normal, no-complex |
A reaction activates an entity by binding when a form of it enters the reaction without an explicit active marker (as a reactant, or inside a reactant complex) and leaves it as an explicitly active subunit of a product complex. | |
influences:binding_activation:active_marker_from_override |
influences:binding_activation |
normal, no-complex |
An element pinned active by --set-active counts as explicitly marked active. |
|
influences:binding_activation:candidate |
influences:binding_activation |
normal, no-complex |
A binding activator is an activity candidate (reason isBindingActivator); it still passes through the activity:core bridge, so the vetoes apply. |
|
influences:binding_activation:celldesigner:active_marker_from_active_flag |
influences:binding_activation |
CellDesigner | normal, no-complex |
CellDesigner: a species whose hasActive flag is 1 is explicitly marked active. |
influences:binding_activation:celldesigner:active_marker_from_structural_state |
influences:binding_activation |
CellDesigner | normal, no-complex |
CellDesigner: a species in an "active" structural state is explicitly marked active. |
influences:binding_activation:contains_inactive_reactant_of |
influences:binding_activation |
normal, no-complex |
A reactant that is, or contains, an entity the reaction activates by binding. | |
influences:binding_activation:influence |
influences:binding_activation |
normal, no-complex |
A binding activator positively influences the activity carrying the active subunit. | |
influences:binding_activation:is_binding_activator_of |
influences:binding_activation |
normal, no-complex |
Every other reactant of the activating reaction is a binding activator of the active subunit: one that is neither the same entity as the subunit nor itself activated by the reaction. | |
influences:binding_activation:is_descendant_subunit_of |
influences:binding_activation |
normal, no-complex |
A subunit at any depth of a complex. | |
influences:binding_activation:is_self_or_descendant_subunit_of |
influences:binding_activation |
normal, no-complex |
A reaction participant itself, or a subunit of it at any depth: the forms an entity can take on one side of a reaction. | |
influences:binding_activation:sbgn_pd:active_marker_from_state_variable |
influences:binding_activation |
SBGN PD | normal, no-complex |
SBGN-PD: an entity pool or subunit carrying an "active" state variable is explicitly marked active. |
influences:consumption:celldesigner:catalyzer_consumes_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
A catalyzer of a reaction negatively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (consumption depletes the reactant — a negative influence alongside the modifier's positive role on a product that is a different activity). |
influences:consumption:celldesigner:inhibitor_spares_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
An inhibitor of a reaction positively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (sparing). |
influences:consumption:celldesigner:physical_stimulator_consumes_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
A physical stimulator of a reaction negatively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (consumption). |
influences:consumption:celldesigner:trigger_consumes_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
A trigger of a reaction negatively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (consumption is depletion, hence negative — not triggers, which is only the trigger→product relationship). |
influences:consumption:celldesigner:unknown_catalyzer_consumes_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
An unknown catalyzer of a reaction unknown-negatively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (consumption, uncertain). |
influences:consumption:celldesigner:unknown_inhibitor_spares_reactant |
influences:consumption |
CellDesigner | normal, no-complex |
An unknown inhibitor of a reaction unknown-positively influences each reactant that is itself an activity and that the reaction does not hand back as the same activity (sparing, uncertain). |
influences:consumption:returns_reactant_as_activity |
influences:consumption |
normal, no-complex |
A reaction hands a reactant back when one of its products is the same entity (entity:identity) and is itself an activity: a phosphorylation whose two forms are both activities, or a reaction listing the same species on both sides. |
|
influences:consumption:sbgn_pd:inhibition_spares_reactant |
influences:consumption |
SBGN PD | normal, no-complex |
An inhibition onto a process positively influences each reactant of that process that is itself an activity and that the process does not hand back as the same activity: blocking the process spares it. |
influences:consumption:sbgn_pd:stimulation_consumes_reactant |
influences:consumption |
SBGN PD | normal, no-complex |
A stimulation (catalysis and necessary stimulation included -- the ontology derives both from stimulation) onto a process negatively influences each reactant of that process that is itself an activity and that the process does not hand back as the same activity: running the process consumes it. |
influences:core:activity |
influences:core |
all | Every species with an activity key emits an activity node with that key. | |
influences:core:path |
influences:core |
all | A propagated influence of any kind between two raw nodes yields an influence of that same kind between their activity-key images (via their carriers). | |
influences:kind:celldesigner:catalysis |
influences:kind |
CellDesigner | all | A catalysis arc contributes a positive kind. |
influences:kind:celldesigner:inhibition |
influences:kind |
CellDesigner | all | An inhibition arc contributes a negative kind. |
influences:kind:celldesigner:modulation |
influences:kind |
CellDesigner | all | A bare modulation arc (the generic MODULATION arc, not one of the signed/typed subtypes) contributes an unknown-sign modulation kind. |
influences:kind:celldesigner:negative_influence |
influences:kind |
CellDesigner | all | A negative influence arc contributes a negative kind. |
influences:kind:celldesigner:physical_stimulation |
influences:kind |
CellDesigner | all | A physical stimulation arc contributes a positive kind. |
influences:kind:celldesigner:positive_influence |
influences:kind |
CellDesigner | all | A positive influence arc contributes a positive kind. |
influences:kind:celldesigner:triggering |
influences:kind |
CellDesigner | all | A triggering arc contributes a triggering kind (kept on the direct edge; it degrades to positive when composed through a reaction). |
influences:kind:celldesigner:unknown_catalysis |
influences:kind |
CellDesigner | all | An unknown catalysis arc contributes an unknown_positive kind. |
influences:kind:celldesigner:unknown_inhibition |
influences:kind |
CellDesigner | all | An unknown inhibition arc contributes an unknown_negative kind. |
influences:kind:celldesigner:unknown_modulation |
influences:kind |
CellDesigner | all | A bare unknown modulation arc (not one of the unknown subtypes) contributes an unknown_modulation kind. |
influences:kind:celldesigner:unknown_negative_influence |
influences:kind |
CellDesigner | all | An unknown negative influence arc contributes an unknown_negative kind. |
influences:kind:celldesigner:unknown_physical_stimulation |
influences:kind |
CellDesigner | all | An unknown physical stimulation arc contributes an unknown_positive kind. |
influences:kind:celldesigner:unknown_positive_influence |
influences:kind |
CellDesigner | all | An unknown positive influence arc contributes an unknown_positive kind. |
influences:kind:celldesigner:unknown_triggering |
influences:kind |
CellDesigner | all | An unknown triggering arc contributes an unknown_triggering kind (kept on the direct edge; it degrades to unknown_positive when composed through a reaction). |
influences:kind:sbgn_pd:inhibition |
influences:kind |
SBGN PD | all | An SBGN-PD inhibition contributes a negative kind. |
influences:kind:sbgn_pd:modulation |
influences:kind |
SBGN PD | all | A bare modulation (neither stimulation nor inhibition) contributes an unknown-sign modulation kind. |
influences:kind:sbgn_pd:necessary_stimulation |
influences:kind |
SBGN PD | all | An SBGN-PD necessary stimulation contributes a triggering kind. |
influences:kind:sbgn_pd:stimulation |
influences:kind |
SBGN PD | all | A stimulation (catalysis included) that is not a necessary stimulation contributes a positive kind. |
influences:output:modulation |
influences:output |
all | A modulation influence emits a modulates edge (Modulation). |
|
influences:output:negative |
influences:output |
all | A negative influence emits a negativelyInfluences edge (NegativeInfluence). |
|
influences:output:positive |
influences:output |
all | A positive influence emits a positivelyInfluences edge (PositiveInfluence). |
|
influences:output:triggering |
influences:output |
all | A triggering influence emits a triggers edge (Triggering). |
|
influences:output:unknown_modulation |
influences:output |
all | An unknown_modulation influence emits an unknownModulates edge (UnknownModulation). |
|
influences:output:unknown_negative |
influences:output |
all | An unknown_negative influence emits an unknownNegativelyInfluences edge (UnknownNegativeInfluence). |
|
influences:output:unknown_positive |
influences:output |
all | An unknown_positive influence emits an unknownPositivelyInfluences edge (UnknownPositiveInfluence). |
|
influences:output:unknown_triggering |
influences:output |
all | An unknown_triggering influence emits an unknownTriggers edge (UnknownTriggering). |
|
keep_reactions:activity:from_species |
keep_reactions:activity |
keep-reactions |
Every species is an activity candidate, for the sole reason that it is a species (reason isSpecies). |
|
keep_reactions:influences:reactant_to_product |
keep_reactions:influences |
keep-reactions |
Each reactant of a reaction positively influences each product of that reaction. | |
paths:chaining:celldesigner:transitive_through_reaction |
paths:chaining |
CellDesigner | normal, no-complex |
If there is a path from a species to an intermediate species, and the intermediate species is referred to by a reactant of a reaction whose product refers to another species, then there is a path from the first species to the second. |
paths:chaining:sbgn_pd:transitive_through_process |
paths:chaining |
SBGN PD | normal, no-complex |
Extends a path through a process reactant->product hop, carrying the kind via composesTo (triggering degrades to positivelyInfluences). |
paths:complex_traversal:from_subunits |
paths:complex_traversal |
no-complex |
If an influence of a given kind propagates from a complex to a target, then it also propagates from each subunit of the complex to the target. | |
paths:complex_traversal:into_subunits |
paths:complex_traversal |
no-complex |
If an influence of a given kind propagates from a source to a complex, then it also propagates from the source to each subunit of the complex. | |
paths:core:celldesigner:catalyzer_to_product |
paths:core |
CellDesigner | all | If a species is referred to by a catalyzer of a reaction and another species is referred to by a product of that reaction, then there is a positive path from the first to the second. |
paths:core:celldesigner:inhibitor_to_product |
paths:core |
CellDesigner | all | If a species is referred to by an inhibitor of a reaction and another species is referred to by a product of that reaction, then there is a negative path from the first to the second. |
paths:core:celldesigner:is_directly_transformed_to |
paths:core |
CellDesigner | all | The single reactant->product hop in the production graph: the upstream species is referred to by a reactant and the downstream species by a product of the same reaction. |
paths:core:celldesigner:modulation_arc_influence |
paths:core |
CellDesigner | all | A modulation arc influences its target with the arc's kind (hasInfluenceKind, from the influences:kind group). |
paths:core:celldesigner:modulator_to_product |
paths:core |
CellDesigner | all | If a species is referred to by a bare modulator of a reaction (a generic MODULATION modifier — not a physical stimulator, inhibitor or trigger; catalyzers are physical stimulators) and another species is referred to by a product of that reaction, then there is a modulation path from the first to the second. |
paths:core:celldesigner:physical_stimulator_to_product |
paths:core |
CellDesigner | all | If a species is referred to by a physical stimulator of a reaction and another species is referred to by a product of that reaction, then there is a positive path from the first to the second. |
paths:core:celldesigner:trigger_to_product |
paths:core |
CellDesigner | all | If a species is referred to by a trigger of a reaction and another species is referred to by a product of that reaction, then there is a triggering path from the first to the second (a trigger→product edge is direct, so it keeps the triggering kind). |
paths:core:celldesigner:unknown_catalyzer_to_product |
paths:core |
CellDesigner | all | If a species is referred to by an unknown catalyzer of a reaction and another species is referred to by a product of that reaction, then there is an unknown-positive path from the first to the second. |
paths:core:celldesigner:unknown_inhibitor_to_product |
paths:core |
CellDesigner | all | If a species is referred to by an unknown inhibitor of a reaction and another species is referred to by a product of that reaction, then there is an unknown-negative path from the first to the second. |
paths:core:composes_to |
paths:core |
all | composesTo(INCOMING_INFLUENCE_KIND, OUTGOING_INFLUENCE_KIND): how an influence kind transforms when a path is extended by one reactant→product hop (a reaction in CellDesigner, a process in SBGN-PD). |
|
paths:core:is_cyclically_transformed_to |
paths:core |
all | UPSTREAM and DOWNSTREAM are mutually reachable through the production graph -- both lie on a common cycle. | |
paths:core:is_transformed_to |
paths:core |
all | Transitive closure of the single-hop isDirectlyTransformedTo/2: isTransformedTo(UPSTREAM, DOWNSTREAM) holds when DOWNSTREAM is reachable from UPSTREAM through one or more reactant->product hops (the direct hop included, as the base case). |
|
paths:core:sbgn_pd:is_directly_transformed_to |
paths:core |
SBGN PD | all | The single reactant->product hop in the production graph: the upstream entity pool is an element of a reactant and the downstream pool an element of a product of the same process. |
paths:core:sbgn_pd:modulation_to_phenotype |
paths:core |
SBGN PD | all | A modulation arc whose target is a phenotype influences the phenotype itself (a phenotype process has no products; it is the activity). |
paths:core:sbgn_pd:modulation_to_product |
paths:core |
SBGN PD | all | A modulation arc's entity-pool source influences each product of its target process, carrying the arc's kind. |
preparation:complex:celldesigner:carrier |
preparation:complex |
CellDesigner | normal, keep-reactions |
Each species is its own activity carrier (no rerouting; a subunit endpoint is rerouted to its top-level complex by the topology:top_level key, not by the carrier). |
preparation:complex:key |
preparation:complex |
normal, keep-reactions |
A species with activity is keyed by the keptSpeciesKey of its top-level entity (itself when top-level; its outermost complex when a subunit). |
|
preparation:complex:sbgn_pd:carrier_entity_pool |
preparation:complex |
SBGN PD | normal, keep-reactions |
SBGN-PD: each entity pool is its own activity carrier. |
preparation:complex:sbgn_pd:carrier_phenotype |
preparation:complex |
SBGN PD | normal, keep-reactions |
SBGN-PD: each phenotype process is its own activity carrier (phenotypes are activities, not entity pools). |
preparation:no_complex:celldesigner:carrier |
preparation:no_complex |
CellDesigner | no-complex |
Each species is its own activity carrier. |
preparation:no_complex:deleted |
preparation:no_complex |
no-complex |
A complex with any (transitive) active descendant is deleted. | |
preparation:no_complex:key_promoted_subunit |
preparation:no_complex |
no-complex |
A subunit of a deleted complex with activity is promoted to top level, keyed by promotedSubunitKey(SELF). |
|
preparation:no_complex:key_top_level |
preparation:no_complex |
no-complex |
A non-deleted top-level species with activity is keyed by keptSpeciesKey(SELF). |
|
preparation:no_complex:sbgn_pd:carrier_entity_pool |
preparation:no_complex |
SBGN PD | no-complex |
SBGN-PD: each entity pool is its own activity carrier. |
preparation:no_complex:sbgn_pd:carrier_phenotype |
preparation:no_complex |
SBGN PD | no-complex |
SBGN-PD: each phenotype process is its own activity carrier. |
preparation:no_complex:sbgn_pd:carrier_subunit |
preparation:no_complex |
SBGN PD | no-complex |
SBGN-PD: each subunit is its own activity carrier, so a promoted subunit can be an influence endpoint (paths reach it via paths:complex_traversal). |
preparation:no_complex:subunit_of_deleted_direct |
preparation:no_complex |
no-complex |
A direct subunit of a deleted complex is itself subunit-of-deleted. | |
preparation:no_complex:subunit_of_deleted_transitive |
preparation:no_complex |
no-complex |
Subunit-of-deleted is transitive through nested complexes. | |
topology:core:has_active_descendant_direct |
topology:core |
all | A complex has an active descendant if any direct subunit has activity. | |
topology:core:has_active_descendant_transitive |
topology:core |
all | The hasActiveDescendantSubunit relation is transitive through complex containment. |
|
topology:core:is_subunit |
topology:core |
all | A species is a subunit if it appears on the right side of any hasSubunit relation. |
|
topology:top_level:celldesigner:self |
topology:top_level |
CellDesigner | normal, keep-reactions |
CellDesigner: a species that is not a subunit of any complex is its own top-level entity. |
topology:top_level:recursive |
topology:top_level |
normal, keep-reactions |
A subunit resolves to the same top-level entity as its parent complex, recursively through nested complexes -- so a subunit at any depth resolves to its outermost complex. | |
topology:top_level:sbgn_pd:phenotype_self |
topology:top_level |
SBGN PD | normal, keep-reactions |
SBGN-PD: a phenotype is a process, not an entity pool, so the entity-pool self-rule never keys it; a phenotype is never a subunit, so it is always its own top-level entity. |
topology:top_level:sbgn_pd:self |
topology:top_level |
SBGN PD | normal, keep-reactions |
SBGN-PD: an entity pool that is not a subunit of any complex is its own top-level entity. |