biocrnpyler.mechanisms.Simple_Transport
- class biocrnpyler.mechanisms.Simple_Transport(name='simple_membrane_protein_transport', mechanism_type='transport', **kwargs)[source]
Bases:
MechanismPassive transport mechanism through membrane channel proteins.
A ‘transport’ mechanism that models passive, bidirectional transport of substrates through membrane channel proteins. Unlike simple diffusion, this mechanism requires a membrane channel protein but does not consume energy. The channel acts catalytically, binding substrate and product but not being consumed.
The reaction follows the schema:
\[{\text{membrane_channel}} + {\text{substrate}} \rightleftharpoons {\text{membrane_channel}} + {\text{product}}\]- Parameters:
name (
str, default'simple_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
Simple_DiffusionPassive diffusion without proteins.
Facilitated_Transport_MMTransport with MM kinetics.
Primary_Active_Transport_MMEnergy-dependent active transport.
MechanismBase class for all mechanisms.
Notes
This mechanism models passive transport through channel proteins such as ion channels, aquaporins, and other pore-forming proteins. The channel facilitates movement down concentration gradients without conformational changes or energy expenditure.
The mechanism requires the membrane channel to have the ‘Passive’ attribute, distinguishing it from active transporters and carriers that require different mechanisms.
Common examples include:
Ion channels (K+, Na+, Ca2+ channels)
Aquaporins for water transport
Gap junctions between cells
Porins in bacterial outer membranes
The transport is bidirectional with equal forward and reverse rate constants, reflecting passive equilibration across the membrane.
Required parameters for this mechanism:
‘k_trnsp’ : Transport rate constant (same for both directions)
Examples
Model potassium transport through an ion channel:
>>> protein = bcp.IntegralMembraneProtein( ... membrane_protein='Knck1', ... product='K_channel', ... direction='Passive', ... compartment='cytoplasm', ... membrane_compartment='membrane', ... attributes=['Passive'] ... ) >>> channel = bcp.MembraneChannel( ... integral_membrane_protein=protein.membrane_protein, ... substrate='K', ... direction='Passive', ... internal_compartment='cytoplasm', ... external_compartment='external' ... ) >>> mixture = bcp.Mixture( ... components=[protein, channel], ... mechanisms={ ... 'membrane_insertion': bcp.Membrane_Protein_Integration(), ... 'transport': bcp.Simple_Transport(), ... }, ... parameters={'k_trnsp': 1.0}, ... parameter_file='mechanisms/transport_parameters.tsv', ... ) >>> mixture.compile_crn()
Methods
Generate reactions for simple membrane protein transport.
Generate species for simple transport.
- update_reactions(membrane_channel, substrate, product, component=None, part_id=None, k_trnsp=None, **kwargs)[source]
Generate reactions for simple membrane protein transport.
Creates a single reversible mass-action reaction representing passive transport through a membrane channel with equal forward and reverse rate constants. The channel acts catalytically and is not consumed.
- Parameters:
membrane_channel (
Species) – The membrane channel protein facilitating transport.substrate (
Species) – The substrate species being transported.product (
Species) – The product species after transport.component (
Component, optional) – Component containing parameter values. Required if k_trnsp is not provided directly.part_id (
str, optional) – Identifier for parameter lookup. If None and component is provided, defaults to component.name.k_trnsp (
Parameterorfloat, optional) – Transport rate constant. If None, retrieved from component parameters. Used as both forward and reverse rate constant.**kwargs – Additional keyword arguments (unused).
- Returns:
List containing a single reversible mass-action reaction for transport.
- Return type:
listofReaction- Raises:
ValueError – If component is None and k_trnsp is not provided.
Notes
The reaction has equal forward and reverse rate constants:
\[ {\text{membrane_channel}} + {\text{substrate}} \rightleftharpoons {\text{membrane_channel}} + {\text{product}} \quad ({\text{rates}}\mathord{:} {\text{k_trnsp}}, {\text{k_trnsp}}) \]The membrane channel appears on both sides of the reaction, indicating it acts catalytically and is recycled.
- update_species(membrane_channel, substrate, product, **kwargs)[source]
Generate species for simple transport.
Returns the membrane channel, substrate, and product species involved in the transport reaction. Validates that the channel has the ‘Passive’ attribute.
- Parameters:
membrane_channel (
Species) – The membrane channel protein through which transport occurs. Must have ‘Passive’ as its first attribute.substrate (
Species) – The substrate species being transported (typically intracellular side).product (
Species) – The product species after transport (typically extracellular side).**kwargs – Additional keyword arguments (unused).
- Returns:
List containing [membrane_channel, substrate, product].
- Return type:
listofSpecies- Raises:
ValueError – If membrane_channel does not have ‘Passive’ as its first attribute, indicating it should use Facilitated_Transport_MM instead.