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, MichaelisMenten

Michaelis-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, default False) – If True, searches within ComplexSpecies recursively. If False, only acts on top-level species.

  • default_on (bool, default False) – 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

MichaelisMenten

Base enzyme kinetics mechanism.

Degradation_mRNA_MM

Global mRNA degradation mechanism.

GlobalMechanism

Base 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_tag attribute, 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_tag attribute 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 the deg_tag parameter.

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

apply_filter

Determine if the global mechanism should act on a species.

get_parameter

Retrieve a parameter value from the mixture for a given species.

update_reactions

Generate reactions for deg-tagged protein degradation reactions.

update_reactions_global

Apply mechanism's update_reactions to filtered species in a list.

update_species

Generate species for deg-tagged protein degradation reactions.

update_species_global

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:

  1. Checks all attributes and material_type of the species (and subspecies if recursive_species_filtering is True)

  2. If any match is found in filter_dict, uses that boolean value

  3. If conflicts occur (different attributes give different results), issues a warning and uses default_on

  4. 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:
  • species (Species) – The species for which to retrieve the parameter. Used as the part_id for parameter lookup.

  • param_name (str) – Name of the parameter to retrieve.

  • mixture (Mixture) – The mixture containing the parameters.

Returns:

The parameter value retrieved from the mixture.

Return type:

Parameter or float

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:
  • s (Species) – The tagged protein species to be degraded.

  • mixture (Mixture) – The mixture containing parameters ‘kdeg’, ‘kb’, and ‘ku’.

Returns:

List of two reactions for tagged protein degradation: [binding_reaction, catalysis_reaction].

Return type:

list of Reaction

Notes

Generates standard Michaelis-Menten reactions:

  1. Protein + degradase \(\rightleftharpoons\) Protein:degradase (rates ‘kb’ and ‘ku’)

  2. Protein:degradase \(\rightarrow\) degradase (rate ‘kdeg’)

update_reactions_global(species_list: List[Species], mixture, compartment=None)[source]

Apply mechanism’s update_reactions 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_reactions for each applicable species.

Parameters:
  • species_list (list of Species) – 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:

list of Reaction

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.

Parameters:
  • s (Species) – The species to check for degradation tagging.

  • mixture (Mixture) – The mixture containing parameters.

Returns:

List containing the degradase:protein complex species.

Return type:

list of Species

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 (list of Species) – 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:

list of Species