biocrnpyler.mechanisms.One_Step_Cooperative_Binding
- class biocrnpyler.mechanisms.One_Step_Cooperative_Binding(name='one_step_cooperative_binding', mechanism_type='cooperative_binding')[source]
Bases:
MechanismCooperative binding mechanism for single-step multi-ligand binding.
A ‘binding’ mechanism where multiple copies of a binder molecule (A) bind cooperatively to a single bindee molecule (B) in one concerted step. This models cooperative binding events where all ligands bind simultaneously rather than sequentially.
The binding reaction is given by
\[n {\text{A}} + {\text{B}} \rightleftharpoons {\text{A}}_n\mathord{:}{\text{B}} \]where \(n\) is the cooperativity (number of binders).
- Parameters:
name (
str, default'one_step_cooperative_binding') – Name identifier for this mechanism instance.mechanism_type (
str, default'cooperative_binding') – Type classification of this mechanism.
- Attributes:
name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘cooperative_binding’).
See also
Two_Step_Cooperative_BindingSequential cooperative binding mechanism.
Combinatorial_Cooperative_BindingMultiple distinct binders binding.
One_Step_BindingSimple binding without cooperativity.
MechanismBase class for all mechanisms.
Notes
This mechanism is used to model cooperative binding where multiple identical ligands bind simultaneously to a receptor. Common examples include:
Oxygen binding to hemoglobin
Transcription factor dimers binding to DNA
Cooperative enzyme-substrate interactions
The mechanism generates a single reversible mass-action reaction with forward rate constant ‘kb’ and reverse rate constant ‘ku’. The ‘cooperativity’ parameter determines the stoichiometry of the binding reaction. A cooperativity of 2 models dimeric binding, 3 for trimeric, etc.
Required parameters for this mechanism:
‘kb’ : Forward binding rate constant
‘ku’ : Reverse unbinding rate constant
‘cooperativity’ : Number of binder molecules that bind simultaneously
Examples
Create a mechanism for dimeric transcription factor binding:
>>> promoter = bcp.RegulatedPromoter( ... name='p_dimer', ... regulators='TF_dimer', ... ) >>> mixture = bcp.Mixture( ... components=[promoter], ... mechanisms={'binding': bcp.One_Step_Cooperative_Binding()}, ... parameters={'cooperativity': 2, 'kb': 0.1, 'ku': 0.01} ... )
Methods
Generate reactions for cooperative binding.
Generate species for cooperative binding.
- update_reactions(binder, bindee, complex_species=None, component=None, kb=None, ku=None, part_id=None, cooperativity=None, **kwargs)[source]
Generate reactions for cooperative binding.
Creates a single reversible mass-action reaction for the cooperative binding of multiple binder molecules to a bindee.
- Parameters:
binder (
Species) – The ligand species that binds cooperatively.bindee (
Species) – The target species being bound to.complex_species (
Species, optional) – Pre-specified complex species. If None, automatically creates a Complex containing \(n\) binders and 1 bindee.component (
Component, optional) – Component containing parameter values. Required if kb, ku, or cooperativity are not provided directly.kb (
Parameterorfloat, optional) – Forward binding rate constant. If None, retrieved from component parameters.ku (
Parameterorfloat, optional) – Reverse unbinding rate constant. If None, retrieved from component parameters.part_id (
str, optional) – Identifier for parameter lookup. If None, defaults to ‘repr(binder)-repr(bindee)’.cooperativity (
intorfloat, optional) – Number of binder molecules that bind simultaneously. If None, retrieved from component parameters.**kwargs – Additional keyword arguments (unused).
- Returns:
List containing a single reversible mass-action reaction for cooperative binding.
- Return type:
listofReaction- Raises:
ValueError – If component is None and any of kb, ku, or cooperativity is not provided.
TypeError – If complex_species is not a Species or None.
Notes
The reaction stoichiometry is determined by the
cooperativityparameter:cooperativity * binder + bindee \(\rightleftharpoons\) complex
The forward rate is
kband reverse rate isku. The reaction follows mass-action kinetics with the appropriate stoichiometric coefficients.
- update_species(binder, bindee, complex_species=None, cooperativity=None, component=None, part_id=None, **kwargs)[source]
Generate species for cooperative binding.
Creates the species involved in cooperative binding: the binder, bindee, and the resulting complex containing multiple binders bound to the bindee.
- Parameters:
binder (
Species) – The ligand species that binds cooperatively.bindee (
Species) – The target species being bound to.complex_species (
Species, optional) – Pre-specified complex species. If None, automatically creates a Complex containing \(n\) binders and 1 bindee, where \(n\) is the cooperativity.cooperativity (
intorfloat, optional) – Number of binder molecules that bind simultaneously. If None, retrieved from component parameters using part_id.component (
Component, optional) – Component containing parameter values. Required if cooperativity is not provided directly.part_id (
str, optional) – Identifier for parameter lookup. If None, defaults to ‘repr(binder)-repr(bindee)’.**kwargs – Additional keyword arguments (unused).
- Returns:
List containing [binder, bindee, complex] where complex is the cooperative binding product.
- Return type:
listofSpecies- Raises:
ValueError – If neither component nor cooperativity is provided.
TypeError – If complex_species is not a Species or None.
Notes
The
cooperativityparameter determines how many binder molecules are incorporated into the complex. For example, cooperativity=2 creates a complex with 2 binders and 1 bindee.