biocrnpyler.mechanisms.Two_Step_Cooperative_Binding
- class biocrnpyler.mechanisms.Two_Step_Cooperative_Binding(name='two_step_cooperative_binding', mechanism_type='cooperative_binding')[source]
Bases:
MechanismSequential cooperative binding mechanism with oligomerization.
A ‘binding’ mechanism where multiple binder molecules first oligomerize, then the oligomer binds to the bindee in a two-step process. This models cooperative binding where ligands must first form a multimeric complex before binding to their target.
The binding process follows two sequential reactions:
\(n A \rightleftharpoons A_n\) (oligomerization)
\(A_n + B \rightleftharpoons A_n\mathord{:}B\) (binding)
where \(n\) is the cooperativity.
- Parameters:
name (
str, default'two_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
One_Step_Cooperative_BindingSingle-step cooperative binding.
Combinatorial_Cooperative_BindingMultiple distinct binders.
MechanismBase class for all mechanisms.
Notes
This mechanism models cooperative binding as a two-step process:
Oligomerization: Binder molecules first associate to form an oligomer (dimer, trimer, etc.)
Binding: The oligomer then binds to the target
This is useful for modeling:
Protein dimerization followed by DNA binding
Receptor oligomerization before ligand binding
Sequential assembly and binding processes
Required parameters for this mechanism:
‘kb1’ : Forward rate constant for oligomerization
‘ku1’ : Reverse rate constant for oligomerization
‘kb2’ : Forward rate constant for oligomer-bindee binding
‘ku2’ : Reverse rate constant for oligomer-bindee binding
‘cooperativity’ : Number of binder molecules in the oligomer
Examples
Model transcription factor dimerization followed by DNA binding:
>>> mech = bcp.Two_Step_Cooperative_Binding() >>> # TF dimerizes (2*TF <-> TF2), then binds DNA (TF2 + DNA <-> TF2:DNA) >>> params = { ... 'cooperativity': 2, ... 'kb1': 0.1, 'ku1': 0.01, # Dimerization rates ... 'kb2': 1.0, 'ku2': 0.001 # DNA binding rates ... }
Model trimeric receptor assembly and activation:
>>> mech = bcp.Two_Step_Cooperative_Binding() >>> params = { ... 'cooperativity': 3, # Trimeric receptor ... 'kb1': 0.05, 'ku1': 0.1, # Trimerization ... 'kb2': 10.0, 'ku2': 0.01 # Ligand binding ... }
Methods
Generate reactions for two-step cooperative binding.
Generate species for two-step cooperative binding.
- update_reactions(binder, bindee, kb=None, ku=None, component=None, part_id=None, cooperativity=None, complex_species=None, n_mer_species=None, **kwargs)[source]
Generate reactions for two-step cooperative binding.
Creates two sequential reactions: oligomerization of binders followed by oligomer binding to the bindee.
- Parameters:
binder (
Species) – The ligand species that oligomerizes then binds.bindee (
Species) – The target species that the oligomer binds to.kb (
listoffloatorParameter, optional) – Forward rate constants [kb1, kb2] for oligomerization and binding. If None, retrieved from component parameters.ku (
listoffloatorParameter, optional) – Reverse rate constants [ku1, ku2] for oligomerization and binding. If None, retrieved from component parameters.component (
Component, optional) – Component containing parameter values. Required if kb, ku, or cooperativity are not provided.part_id (
str, optional) – Identifier for parameter lookup. If None, defaults to ‘repr(binder)-repr(bindee)’.cooperativity (
intorfloat, optional) – Number of binders in the oligomer. If None, retrieved from component parameters.complex_species (
Species, optional) – Pre-specified final complex species.n_mer_species (
Species, optional) – Pre-specified oligomer species.**kwargs – Additional keyword arguments passed to update_species.
- Returns:
List containing two reactions:
Oligomerization: cooperativity*binder \(\rightleftharpoons\) n_mer
Binding: n_mer + bindee \(\rightleftharpoons\) complex
- Return type:
listofReaction- Raises:
ValueError – If component is None and
kb,ku, orcooperativityis not provided, or ifkbandkudo not contain exactly 2 values each.
Notes
The two-step process uses separate rate constants:
‘kb1’, ‘ku1’: Control oligomerization kinetics
‘kb2’, ‘ku2’: Control oligomer-bindee binding kinetics
This separation allows modeling of processes where oligomerization and binding have different kinetic properties.
- update_species(binder, bindee, component=None, complex_species=None, n_mer_species=None, cooperativity=None, part_id=None, **kwargs)[source]
Generate species for two-step cooperative binding.
Creates the species involved in sequential cooperative binding: binder, bindee, oligomer (n-mer), and final complex.
- Parameters:
binder (
Species) – The ligand species that oligomerizes then binds.bindee (
Species) – The target species that the oligomer binds to.component (
Component, optional) – Component containing parameter values. Required if cooperativity is not provided directly.complex_species (
Species, optional) – Pre-specified final complex species. If None, automatically creates a Complex containing the n-mer and bindee.n_mer_species (
Species, optional) – Pre-specified oligomer species. If None, automatically creates a Complex containing \(n\) binders.cooperativity (
intorfloat, optional) – Number of binders in the oligomer. If None, retrieved from component parameters.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, n_mer] where n_mer is the oligomer and complex is the final bound product.
- Return type:
listofSpecies- Raises:
ValueError – If neither component nor cooperativity is provided.
TypeError – If n_mer_species or complex_species is not a Species or None.
Notes
The n_mer represents the oligomerized form of the binder (e.g., a dimer for cooperativity=2). The complex represents the n_mer bound to the bindee.