ecoli.processes.enzyme_kinetics

Convenience Kinetics

class ecoli.processes.enzyme_kinetics.EnzymeKinetics(parameters=None)[source]

Bases: Process

Michaelis-Menten-style enzyme kinetics model

Parameters:

initial_parameters

Configures the process with the following configuration options:

  • reactions (dict): Specifies the stoichiometry, reversibility, and catalysts of each reaction to model. For a non-reversible reaction \(A + B \rightleftarrows 2C\) catalized by an enzyme \(E\), we have the following reaction specification:

    {
        # reaction1 is a reaction ID
        'reaction1': {
            'stoichiometry': {
                # 1 mol A is consumd per mol reaction
                ('internal', 'A'): -1,
                ('internal', 'B'): -1,
                # 2 mol C are produced per mol reaction
                ('internal', 'C'): 2,
            },
            'is reversible': False,
            'catalyzed by': [
                ('internal', 'E'),
            ],
        }
    }
    

    Note that for simplicity, we assumed all the molecules and enzymes were in the internal port, but this is not necessary.

  • kinetic_parameters (dict): Specifies the kinetics of the reaction by providing \(k_{cat}\) and \(K_M\) parameters for each enzyme. For example, let’s say that for the reaction described above, \(k{cat} = 1\), \(K_A = 2\), and \(K_B = 3\). Then the reaction kinetics would be specified by:

    {
        'reaction1': {
            ('internal', 'E'): {
                'kcat_f': 1,  # kcat for forward reaction
                ('internal', 'A'): 2,
                ('internal', 'B'): 3,
            },
        },
    }
    

    If the reaction were reversible, we could have specified kcat_r as the \(k_{cat}\) of the reverse reaction.

defaults: dict[str, dict] = {'kinetic_parameters': {}, 'reactions': {}}
name = 'enzyme_kinetics'
next_update(timestep, states)[source]
ports_schema()[source]