biocrnpyler.mechanisms.Deg_Tagged_Degradation
- class biocrnpyler.mechanisms.Deg_Tagged_Degradation(degradase, deg_tag='degtagged', name='deg_tagged_degradation', mechanism_type='degradation', filter_dict=None, recursive_species_filtering=False, default_on=False, **kwargs)[source]
Bases:
GlobalMechanism,MichaelisMentenMichaelis-Menten degradation of deg-tagged proteins by degradase.
A ‘degradation’ mechanism that uses Michaelis-Menten kinetics to model the targeted enzymatic degradation of proteins tagged for degradation (e.g., via degron sequences). Only species with a specific degradation tag attribute and material_type ‘protein’ are degraded.
The degradation reaction scheme is
\[ {\text{Protein_degtagged}} + {\text{degradase}} \rightleftharpoons {\text{Protein_degtagged}}\mathord{:}{\text{degradase}} \rightarrow {\text{degradase}} \]where Protein_degtagged is any protein with the degradation tag.- Parameters:
degradase (
Species) – The degradase enzyme species that degrades tagged proteins.deg_tag (
str, default'degtagged') – The attribute name used to identify proteins tagged for degradation.name (
str, default'deg_tagged_degradation') – Name identifier for this mechanism instance.mechanism_type (
str, default'degradation') – Type classification of this mechanism.filter_dict (
dict, optional) – Dictionary for filtering species. Default is {deg_tag: True} to degrade only species with the degradation tag.recursive_species_filtering (
bool, defaultFalse) – If True, searches within ComplexSpecies recursively. If False, only acts on top-level species.default_on (
bool, defaultFalse) – If True, mechanism acts on all species not filtered. If False, only acts on filtered species.**kwargs – Additional keyword arguments passed to parent classes.
- Attributes:
degradase (
Species) – The degradase enzyme species.name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘degradation’).filter_dict (
dict) – Dictionary for filtering species.default_on (
bool) – Default behavior for unfiltered species.recursive_species_filtering (
bool) – Whether to filter ComplexSpecies recursively.
See also
MichaelisMentenBase enzyme kinetics mechanism.
Degradation_mRNA_MMGlobal mRNA degradation mechanism.
GlobalMechanismBase class for global mechanisms.
Notes
This mechanism implements targeted protein degradation similar to biological systems like the ubiquitin-proteasome system or degron-mediated degradation. Unlike global degradation mechanisms, it only affects proteins explicitly tagged with the specified attribute.
The mechanism is not recursive by default, meaning it only degrades proteins directly tagged with the
deg_tagattribute, not proteins within ComplexSpecies unless the complex itself is tagged.Common applications include:
Modeling ssrA-tagged protein degradation
Implementing synthetic degron systems
Targeted protein knockdown experiments
Conditional protein stability control
Required parameters for this mechanism:
‘kdeg’ : Catalytic rate constant for protein degradation
‘kb’ : Forward binding rate for degradase-protein association
‘ku’ : Reverse unbinding rate for degradase-protein dissociation
The
deg_tagattribute must be added to protein species that should be degraded. By default, the mechanism looks for the ‘degtagged’ attribute but this can be customized via thedeg_tagparameter.Examples
Model ssrA-tagged protein degradation:
>>> clpxp = bcp.Protein('ClpXP') >>> stable_protein = bcp.Protein('stable') >>> tagged_protein = bcp.Protein('tagged', attributes=['degtagged']) >>> degradation = bcp.Deg_Tagged_Degradation( ... degradase=clpxp.species, ... deg_tag='degtagged' ... ) >>> mixture = bcp.Mixture( ... components=[clpxp, stable_protein, tagged_protein], ... mechanisms={'degradation': degradation}, ... parameters={'kdeg': 0.5, 'kb': 1.0, 'ku': 0.1} ... )
Use custom degradation tags:
>>> proteasome = bcp.Protein('proteasome') >>> ubiquitinated = bcp.Protein('target', attributes=['ubiquitinated']) >>> degradation = bcp.Deg_Tagged_Degradation( ... degradase=proteasome.species, ... deg_tag='ubiquitinated' ... )
Methods
Determine if the global mechanism should act on a species.
Retrieve a parameter value from the mixture for a given species.
Generate reactions for deg-tagged protein degradation reactions.
Apply mechanism's
update_reactionsto filtered species in a list.Generate species for deg-tagged protein degradation reactions.
Apply mechanism's update_species to filtered species in a list.
- apply_filter(s: Species)[source]
Determine if the global mechanism should act on a species.
Checks the species’s material_type, attributes, and name against the filter dictionary to decide if the mechanism should be applied.
- Parameters:
s (
Species) – The species to check against the filter dictionary.- Returns:
True if the mechanism should act on this species, False otherwise.
- Return type:
bool
Notes
The filtering logic follows this hierarchy:
Checks all attributes and material_type of the species (and subspecies if recursive_species_filtering is True)
If any match is found in filter_dict, uses that boolean value
If conflicts occur (different attributes give different results), issues a warning and uses default_on
If no match is found, uses default_on
- get_parameter(species, param_name, mixture)[source]
Retrieve a parameter value from the mixture for a given species.
- Parameters:
- Returns:
The parameter value retrieved from the mixture.
- Return type:
Parameterorfloat- Raises:
ValueError – If no parameter matching the (mechanism, species, param_name) combination can be found.
- update_reactions(s, mixture)[source]
Generate reactions for deg-tagged protein degradation reactions.
Creates two mass-action reactions implementing Michaelis-Menten kinetics for targeted protein degradation: reversible binding and irreversible catalysis.
- Parameters:
- Returns:
List of two reactions for tagged protein degradation: [binding_reaction, catalysis_reaction].
- Return type:
listofReaction
Notes
Generates standard Michaelis-Menten reactions:
Protein + degradase \(\rightleftharpoons\) Protein:degradase (rates ‘kb’ and ‘ku’)
Protein:degradase \(\rightarrow\) degradase (rate ‘kdeg’)
- update_reactions_global(species_list: List[Species], mixture, compartment=None)[source]
Apply mechanism’s
update_reactionsto filtered species in a list.Iterates through all species in the list, applies the filter to determine which species the mechanism acts upon, and calls
update_reactionsfor each applicable species.- Parameters:
species_list (
listofSpecies) – List of all species to potentially act upon.mixture (
Mixture) – The mixture containing parameters and other context.compartment (
Compartment, optional) – If provided, assigns this compartment to species that have the default compartment before generating reactions.
- Returns:
List of all new reactions generated by the mechanism.
- Return type:
listofReaction
- update_species(s, mixture)[source]
Generate species for deg-tagged protein degradation reactions.
Creates enzyme-substrate complexes needed for Michaelis-Menten degradation kinetics of tagged proteins.
- update_species_global(species_list: List[Species], mixture, compartment=None)[source]
Apply mechanism’s update_species to filtered species in a list.
Iterates through all species in the list, applies the filter to determine which species the mechanism acts upon, and calls update_species for each applicable species.
- Parameters:
species_list (
listofSpecies) – List of all species to potentially act upon.mixture (
Mixture) – The mixture containing parameters and other context.compartment (
Compartment, optional) – If provided, assigns this compartment to any new species that have the default compartment.
- Returns:
List of all new species generated by the mechanism.
- Return type:
listofSpecies