001package org.biopax.paxtools.model.level3; 002 003import java.util.Set; 004 005 006/** 007 * Definition: A control interaction in which a physical entity (a catalyst) increases the rate of a conversion 008 * interaction by lowering its activation energy. Instances of this class describe a pairing between a catalyzing 009 * entity and a catalyzed conversion. 010 * 011 * Rationale: Catalysis, theoretically, is always bidirectional since it acts by lowering the activation energy. 012 * Physiologically, however, it can have a direction because of the concentration of the participants. For example, 013 * the oxidative decarboxylation catalyzed by Isocitrate dehydrogenase always happens in one direction under 014 * physiological conditions since the produced carbon dioxide is constantly removed from the system. 015 * 016 * Usage: A separate catalysis instance should be created for each different conversion that a physicalEntity may 017 * catalyze and for each different physicalEntity that may catalyze a conversion. For example, 018 * a bifunctional enzyme that catalyzes two different biochemical reactions would be linked to each of those 019 * biochemical reactions by two separate instances of the catalysis class. Also, catalysis reactions from multiple 020 * different organisms could be linked to the same generic biochemical reaction (a biochemical reaction is generic if 021 * it only includes small molecules). Generally, the enzyme catalyzing a conversion is known and the use of this 022 * class is obvious, however, in the cases where a catalyzed reaction is known to occur but the enzyme is not known, 023 * a catalysis instance can be created without a controller specified. 024 * 025 * Synonyms: facilitation, acceleration. 026 * 027 * Examples: The catalysis of a biochemical reaction by an enzyme, the enabling of a transport interaction by a 028 * membrane pore complex, and the facilitation of a complex assembly by a scaffold protein. Hexokinase -> (The 029 * "Glucose + ATP -> Glucose-6-phosphate +ADP" reaction). A plasma membrane Na+/K+ ATPase is an active transporter 030 * (antiport pump) using the energy of ATP to pump Na+ out of the cell and K+ in. Na+ from cytoplasm to extracellular 031 * space would be described in a transport instance. K+ from extracellular space to cytoplasm would be described in a 032 * transport instance. The ATPase pump would be stored in a catalysis instance controlling each of the above 033 * transport instances. A biochemical reaction that does not occur by itself under physiological conditions, 034 * but has been observed to occur in the presence of cell extract, likely via one or more unknown enzymes present in 035 * the extract, would be stored in the CONTROLLED property, with the CONTROLLER property empty. 036 */ 037public interface Catalysis extends Control 038{ 039 040 041 /** 042 * Any cofactor(s) or coenzyme(s) required for catalysis of the conversion by the enzyme. This is a suproperty 043 * of participants. 044 * @return cofactor(s) or coenzyme(s) required for catalysis of the conversion 045 */ 046 Set<PhysicalEntity> getCofactor(); 047 048 /** 049 * Any cofactor(s) or coenzyme(s) required for catalysis of the conversion by the enzyme. This is a suproperty 050 * of participants. 051 * @param cofactor cofactor(s) or coenzyme(s) required for catalysis of the conversion 052 */ 053 void addCofactor(PhysicalEntity cofactor); 054 055 /** 056 * Any cofactor(s) or coenzyme(s) required for catalysis of the conversion by the enzyme. This is a suproperty 057 * of participants. 058 * @param cofactor cofactor(s) or coenzyme(s) required for catalysis of the conversion 059 */ 060 void removeCofactor(PhysicalEntity cofactor); 061 062 063 /** 064 * This property represents the direction of this catalysis under all physiological conditions if there is one. 065 * Note that chemically a catalyst will increase the rate of the reaction in both directions. In biology, 066 * however, there are cases where the enzyme is expressed only when the controlled bidirectional conversion is 067 * on one side of the chemical equilibrium. olled bidirectional conversion is on one side of the chemical 068 * equilibrium. For example E.Coli's lac operon ensures that lacZ gene is only synthesized when there is enough 069 * lactose in the medium. If that is the case and the controller, under biological conditions, 070 * is always catalyzing the conversion in one direction then this fact can be captured using this property. If 071 * the enzyme is active for both directions, or the conversion is not bidirectional, 072 * this property should be left empty. 073 * @return direction of this catalysis under all physiological conditions if there is one 074 */ 075 CatalysisDirectionType getCatalysisDirection(); 076 077 /** 078 * This property represents the direction of this catalysis under all physiological conditions if there is one. 079 * Note that chemically a catalyst will increase the rate of the reaction in both directions. In biology, 080 * however, there are cases where the enzyme is expressed only when the controlled bidirectional conversion is 081 * on one side of the chemical equilibrium. olled bidirectional conversion is on one side of the chemical 082 * equilibrium. For example E.Coli's lac operon ensures that lacZ gene is only synthesized when there is enough 083 * lactose in the medium. If that is the case and the controller, under biological conditions, 084 * is always catalyzing the conversion in one direction then this fact can be captured using this property. If 085 * the enzyme is active for both directions, or the conversion is not bidirectional, 086 * this property should be left empty. 087 * @param catalysisDirection direction of this catalysis under all physiological conditions if there is one 088 */ 089 void setCatalysisDirection(CatalysisDirectionType catalysisDirection); 090}