Handle AND/OR relationships Controls implemented in Reactome/CTD
From the doc, Controls have 2 attributes:
controlled - (0 or 1 object:Interaction or object:Pathway) The entity that is controlled, e.g., in a biochemical reaction, the reaction is controlled by an enzyme. Interactions or pathways can be controlled by physical entities (e.g. small molecule activates a pathway, protein enzyme catalyzes a reaction). controlled is a sub-property of participant.
controller - (0 or more object:PhysicalEntity or object:Pathway) In for example, a biochemical reaction, an enzyme is the controlling entity of the reaction. Physical entities pathways can be controllers (e.g. protein enzyme catalyzes a reaction, a pathway activates a reaction, caspase cascade activates apoptosis). Multiple controllers are all required for the control to occur (AND relationship). OR relationships are defined using multiple control interaction instances. controller is a sub-property of participant.
Catalysis class: Definition: A control interaction in which a physical entity (a catalyst) increases the rate of a conversion interaction by lowering its activation energy. Instances of this class describe a pairing between a catalyzing entity and a catalyzed conversion.
Modulation class: Definition: A control interaction in which a physical entity modulates a catalysis interaction. Biologically, most modulation interactions describe an interaction in which a small molecule alters the ability of an enzyme to catalyze a specific reaction. Instances of this class describe a pairing between a modulating entity and a catalysis interaction. Comment: A separate modulation instance should be created for each
In short:
- Catalysis: PhysicalEntity acts on conversion (any reaction)
- Modulation: PhysicalEntity acts on Catalysis
Functions to modify:
- add_reactions_to_entities() : Handle Controls as controlled object.
- get_control_group_condition(): Build condition