biocrnpyler.mechanisms.BasicProduction
- class biocrnpyler.mechanisms.BasicProduction(name='basic_production', mechanism_type='catalysis', parameter_file='mechanisms/enzyme_parameters.tsv')[source]
Bases:
MechanismBasic catalytic production mechanism with optional substrate.
A ‘catalysis’ mechanism where a catalyst (enzyme) produces a product. Optionally, a substrate can be consumed during production, allowing for both pure production (C \(\rightarrow\) P + C) and production with substrate consumption (S + C \(\rightarrow\) P + C).
The production reaction can be either:
\[ {\text{C}} \rightarrow {\text{P}} + {\text{C}} \quad\text{(pure production, no substrate)} \]or\[ {\text{S}} + {\text{C}} \rightarrow {\text{P}} + {\text{C}} \quad\text{(production with substrate consumption)} \]where S is the substrate, C is the catalyst (enzyme), and P is the product.- Parameters:
name (
str, default'basic_production') – Name identifier for this mechanism instance.mechanism_type (
str, default'catalysis') – Type classification of this mechanism.parameter_file (
str, default'mechanisms/transport_parameters.tsv',) – Path to file containing default parameter values for this mechanism.
- Attributes:
name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘catalysis’).
See also
BasicCatalysisCatalytic conversion requiring a substrate.
MichaelisMentenCopyTwo-step kinetics preserving the substrate.
MechanismBase class for all mechanisms.
Notes
This mechanism generates a single irreversible mass-action reaction with rate constant ‘kcat’. The catalyst is not consumed and appears on both sides of the reaction.
Common applications include:
Constitutive gene expression (transcription/translation)
Enzymatic synthesis reactions
Autocatalytic production processes
Required parameters for this mechanism:
‘kcat’ : Catalytic rate constant for product formation
The flexibility to include or exclude substrates makes this mechanism useful for modeling both simple production (e.g., constitutive protein expression) and production coupled with substrate consumption (e.g., enzymatic synthesis from precursors).
Examples
Model constitutive protein production from a gene:
>>> gene = bcp.DNA('gfp') >>> protein = bcp.Protein('GFP') >>> expression = bcp.Enzyme(gene, substrates=[], products=[protein]) >>> mixture = bcp.Mixture( ... components=[expression], ... mechanisms={'catalysis': bcp.BasicProduction()}, ... parameters={'kcat': 0.01} ... ) >>> mixture.compile_crn() Species = dna_gfp, protein_GFP Reactions = [ dna[gene] $\rightarrow$ dna[gene]+protein[protein] ]
Methods
Retrieve a parameter from the mixture's parameter database.
Generate reactions for basic production.
Generate species for basic production.
- get_parameter(mechanism, part_id, param_name)[source]
Retrieve a parameter from the mixture’s parameter database.
- Parameters:
mechanism (
str) – Mechanism identifier for the parameter lookup key.part_id (
str) – Part identifier for the parameter lookup key.param_name (
str) – Name of the parameter to retrieve.
- Returns:
The parameter object, or None if not found.
- Return type:
ParameterorNone
- update_reactions(enzyme, substrate, product, component=None, part_id=None, kcat=None)[source]
Generate reactions for basic production.
Creates a single irreversible mass-action reaction for catalytic production, with or without substrate consumption.
- Parameters:
enzyme (
Species) – The catalyst species that facilitates production.substrate (
Species) – The substrate species. Can be None for pure production without substrate consumption.product (
Species) – The product species. Can be None if no explicit product is tracked.component (
Component, optional) – Component containing parameter values. Required if kcat is not provided directly.part_id (
str, optional) – Identifier for parameter lookup. If None, defaults to component.name.kcat (
Parameterorfloat, optional) – Catalytic rate constant. If None, retrieved from component parameters.
- Returns:
List containing a single irreversible mass-action reaction. If substrate is None: enzyme \(\rightarrow\) enzyme + product. If substrate is provided: enzyme + substrate \(\rightarrow\) enzyme + product.
- Return type:
listofReaction- Raises:
ValueError – If component is None and kcat is not provided.
Notes
The enzyme appears on both sides of the reaction as it acts as a catalyst and is not consumed. The substrate, if provided, is consumed in the reaction.
- update_species(enzyme, substrate=None, product=None)[source]
Generate species for basic production.
Creates the list of species involved in the production reaction: enzyme, and optionally substrate and product.
- Parameters:
enzyme (
Species) – The catalyst species that facilitates production.substrate (
Species, optional) – The substrate species to be consumed. If None, production occurs without substrate consumption.product (
Species, optional) – The product species. If None, only enzyme (and substrate if provided) are returned.
- Returns:
List containing enzyme and any non-None substrate and product species. Order is [enzyme, product, substrate] if all are provided.
- Return type:
listofSpecies