CatalyticEvent object which relates Reaction variables to the EnzymeVariable and Enzyme objects. It contains multiple functions which enable easy mapping and handling of one Event of catalysis (e.g. one conversion of substrate to product, can be catalyzed by multiple enzymes)
CatalyticEvent Objects
class CatalyticEvent(Object)
CatalyticEvent is a class for holding information regarding the catalysis of a Reaction in a cobra.Model object. It serves as an interface between the metabolic reaction and the associated enzyme constraints and variables.
Notes:
There are three different scenarios:
Enzyme complex: multiple enzymes together are associated with an EnzymeComplex object
Isozymes: multiple enzymes independently associated with a single catalytic event
Other: a single enzyme is associated with a single catalytic event
Arguments:
kcats2enzymesdict - A dictionary with enzyme, kcat key, value pairs to connect the enzyme with the associated reaction. The kcat is another dictionary with ‘f’ and ‘b’ for the forward and backward reactions, respectively.idstr, optional - The identifier to associate with this catalytic event (default None).rxn_idstr, optional - The reaction with which this catalytic event is associated.namestr, optional - A human-readable name for the reaction (default “”).
kcat_values
@property
def kcat_values()
returns a dictionary with kcat values and enzymes
flux
@property
def flux() -> float
Get the flux value in the most recent solution.
Flux is the primal value of the corresponding variable in the model.
Returns:
fluxfloat - Flux is the primal value of the corresponding variable in the model.
Warnings:
Accessing reaction fluxes through a
Solutionobject is the safer, preferred, and only guaranteed to be correct way. You can see how to do so easily in the examples.Reaction flux is retrieved from the currently defined
self._model.solver. The solver status is checked but there are no guarantees that the current solver state is the one you are looking for.If you modify the underlying model after an optimization, you will retrieve the old optimization values.
Raises:
RuntimeError- If the underlying model was never optimized beforehand or the reaction is not part of a model.OptimizationError- If the solver status is anything other thanoptimal.AssertionError- If the flux value is not within the bounds.
Examples:
```
>>> from cobra.io import load_model
>>> model = load_model("textbook")
>>> solution = model.optimize()
>>> model.variables.PFK.flux
7.477381962160283
>>> solution.fluxes.PFK
7.4773819621602833
```
concentration
@property
def concentration() -> float
Get the enzyme concentration value of the most recent solution. The enzyme concentration equals the flux value.
Returns:
float- Enzyme concentration in [mmol/gDW].
add_enzymes
def add_enzymes(enzyme_kcat_dict: dict)
Add enzymes to the catalytic event and create bindings to the related model. The enzymes in the enzyme_kcat_dict are individual isozymes. Enzyme complexes should be added as an EnzymeComplex object with a single kcat value.
Arguments:
enzyme_kcat_dict- Dict A nested dictionary with enzyme, kcat key, value pairs to connect the enzyme with the associated reaction. The kcat is another dictionary withfandbfor the forward and backward reactions respectively.
remove_enzymes
def remove_enzymes(enzyme_list: list)
Remove enzymes from the catalytic event and remove the catalytic event from the constraint expressions related to the enzyme.
Arguments:
enzyme_list- List[Union[str, PAModelpy.Package.Enzyme]] A list with PAModelpy.Package.Enzyme objects to be removed. If a list of identifiers (str) is provided, the corresponding enzyme will be obtained from the CatalyticEvent.enzymes attribute.
change_kcat_values
def change_kcat_values(enzyme_kcat_dict: dict)
Change kcat values for the enzyme variable.
Arguments:
enzyme_kcat_dict- Dict[str, Dict[str, float]] A nested dictionary with enzyme identifiers as keys and kcat dictionaries as values. The kcat dictionary should havefandbkeys for the forward and backward reactions, respectively.
__copy__
def __copy__() -> "CatalyticEvent"
Copy the CatalyticEvent.
Returns:
CatalyticEvent: A new CatalyticEvent that is a copy of the original CatalyticEvent.
__deepcopy__
def __deepcopy__(memo: dict) -> "CatalyticEvent"
Copy the CatalyticEvent with memo.
Arguments:
memodict - Automatically passed parameter.
Returns:
CatalyticEvent: A new CatalyticEvent that is a copy of the original CatalyticEvent with memo.