biocrnpyler.mechanisms.Primary_Active_Transport_MM
- class biocrnpyler.mechanisms.Primary_Active_Transport_MM(name='active_membrane_protein_transport', mechanism_type='transport', **kwargs)[source]
Bases:
MechanismPrimary active transport mechanism with ATP-dependent pumping.
A ‘transport’ mechanism that models primary active transport where substrates are moved against their concentration gradients using energy from ATP hydrolysis. The mechanism follows Michaelis-Menten kinetics with explicit binding, ATP hydrolysis, conformational change, and product release steps.
The reaction follows the schema:
\[\begin{split} {\text{Sub}} + {\text{MP}} & \rightleftharpoons {\text{Sub}}\mathord{:}{\text{MP}} + {\text{E}} \rightarrow {\text{Sub}}\mathord{:}{\text{MP}}\mathord{:}{\text{E}} \\ & \rightarrow {\text{MP}}\mathord{:}{\text{Prod}}\mathord{:}{\text{E}} \rightarrow {\text{Prod}} + {\text{MP}}\mathord{:}{\text{W}} \rightarrow {\text{Prod}} + {\text{MP}} + {\text{W}} \\ & \rightarrow {\text{Prod}} + {\text{MP}}\mathord{:}{\text{W}} \rightarrow {\text{Prod}} + {\text{MP}} + {\text{W}} \end{split}\]where MP is the membrane pump, E is ATP (energy), and W is ADP (waste).- Parameters:
name (
str, default'active_membrane_protein_transport') – Name identifier for this mechanism instance.mechanism_type (
str, default'transport') – Type classification of this mechanism.
- Attributes:
name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘transport’).
See also
Facilitated_Transport_MMPassive facilitated diffusion.
Simple_TransportPassive channel transport.
MechanismBase class for all mechanisms.
Notes
This mechanism models primary active transporters such as P-type ATPases (e.g., Na+/K+-ATPase, Ca2+-ATPase), ABC transporters, and other pumps that directly couple ATP hydrolysis to substrate transport. The pump undergoes conformational changes driven by ATP binding and hydrolysis to move substrates against concentration gradients.
Key characteristics:
Requires ATP or other energy source
Can transport substrates against concentration gradients
Undergoes ATP-dependent conformational changes
Follows Michaelis-Menten saturation kinetics
Common examples include:
Na+/K+-ATPase (maintains ion gradients in animal cells)
Ca2+-ATPase (SERCA pump in muscle cells)
H+-ATPases (proton pumps in various organisms)
ABC transporters (drug efflux pumps)
The mechanism requires the membrane pump to have an ATP attribute (membrane_pump.ATP) that specifies the number of ATP molecules required per transport cycle.
The binding steps use GeneralPropensity with Heaviside functions to ensure proper directionality based on species concentrations.
Required parameters for this mechanism:
‘kb_subMP’ : Forward binding rate for substrate to membrane pump
‘ku_subMP’ : Unbinding rate for substrate from pump
‘kb_subMPnATP’ : Forward binding rate for ATP to substrate:pump complex
‘ku_subMPnATP’ : Unbinding rate for ATP from substrate:pump complex
‘k_trnspMP’ : Conformational change rate (transport step)
‘ku_prodMP’ : Unbinding rate for product from pump
‘ku_MP’ : Unbinding rate for ADP from pump
Examples
Model active sodium transport by Na+/K+-ATPase:
>>> pump = bcp.MembranePump( ... membrane_pump='NaK_ATPase', ... substrate='Na', ... direction='Exporter', ... ATP=1 ... ) >>> mechanism = bcp.Primary_Active_Transport_MM() >>> mixture = bcp.Mixture( ... components=[pump], ... mechanisms={'transport': mechanism}, ... parameters={ ... 'kb_subMP': 1.0, 'ku_subMP': 0.1, ... 'kb_subMPnATP': 1.0, 'ku_subMPnATP': 0.1, ... 'k_trnspMP': 0.5, 'ku_prodMP': 1.0, ... 'ku_MP': 1.0 ... } ... ) >>> mixture.compile_crn()
Methods
Generate reactions for primary active transport.
Generate species for primary active transport.
- update_reactions(membrane_pump, substrate, product, energy, waste, complex_dict=None, component=None, part_id=None, **kwargs)[source]
Generate reactions for primary active transport.
Creates seven reactions representing the complete ATP-driven transport cycle: substrate binding/unbinding, ATP binding/unbinding, conformational change (transport), product release, and ADP release.
- Parameters:
membrane_pump (
Species) – The membrane pump protein. Must have an ATP attribute.substrate (
Species) – The substrate species being transported.product (
Species) – The product species after transport.energy (
Species) – ATP species used for active transport.waste (
Species) – ADP species produced after ATP hydrolysis.complex_dict (
dict, optional) – Pre-defined dictionary of complex species. If None, complexes are automatically created using the same logic as in update_species.component (
Component) – Component containing parameter values. Required for parameter lookup.part_id (
str) – Identifier for parameter lookup in the component’s parameter database. Required for parameter lookup.**kwargs – Additional keyword arguments (unused).
- Returns:
List of seven reactions: [substrate_binding, substrate_unbinding, ATP_binding, ATP_unbinding, transport_step, product_release, ADP_release].
- Return type:
listofReaction- Raises:
AttributeError – If
componentorpart_idis None (required for parameter lookup).
Notes
The reaction scheme follows this pathway:
MP + Sub \(\rightleftharpoons\) MP:Sub (
GeneralPropensitywith Heaviside using ‘kb_subMP’, reverse rate: ‘ku_subMP’)MP:Sub + nATP \(\rightleftharpoons\) MP:Sub:nATP (
GeneralPropensitywith Heaviside using ‘kb_subMPnATP’, reverse rate: ‘ku_subMPnATP’)MP:Sub:nATP \(\rightarrow\) MP:Prod:nATP (conformational change, rate: ‘k_trnspMP’)
MP:Prod:nATP \(\rightarrow\) MP:nADP + Prod (product release, rate: ‘ku_prodMP’)
MP:nADP \(\rightarrow\) MP + nADP (ADP release, rate: ‘ku_MP’)
The binding steps use
GeneralPropensitywith Heaviside functions to enforce proper directionality. The Heaviside functions ensure that reactions only proceed when the required species are present.The number of ATP/ADP molecules (nATP) is determined by membrane_pump.ATP attribute.
- update_species(membrane_pump, substrate, product, energy, waste, complex_dict=None, **kwargs)[source]
Generate species for primary active transport.
Creates species for the membrane pump, substrate, product, ATP/ADP energy species, and all intermediate complexes formed during the ATP-driven transport cycle.
- Parameters:
membrane_pump (
Species) – The membrane pump protein that transports substrates using ATP. Must have an ATP attribute specifying the number of ATP molecules required per transport cycle.substrate (
Species) – The substrate species being transported (typically intracellular side).product (
Species) – The product species after transport (typically extracellular side). Usually the same molecular species as substrate but in a different compartment.energy (
Species) – ATP species used to drive active transport.waste (
Species) – ADP species produced after ATP hydrolysis.complex_dict (
dict, optional) – Pre-defined dictionary of complex species with keys ‘Pump:Sub’, ‘Pump:Sub:ATP’, ‘Pump:Prod:ATP’, and ‘Pump:ADP’. If None, complexes are automatically created.**kwargs – Additional keyword arguments (unused).
- Returns:
List containing [membrane_pump, substrate, product, energy, waste, complex_array] where complex_array is a list of four Complex species generated.
- Return type:
list
Notes
The method creates four complex species representing intermediates in the active transport cycle:
Pump:Sub : membrane_pump:substrate complex
Pump:Sub:ATP : membrane_pump:substrate:nATP complex
Pump:Prod:ATP : membrane_pump:product:nATP complex
Pump:ADP : membrane_pump:nADP complex
The number of ATP/ADP molecules (nATP) is determined by the membrane_pump.ATP attribute.