ecoli.library.kinetic_rate_laws

Kinetic rate law generation using the Convenience Kinetics formulation of Michaelis-Menten kinetics

Formulation provided in:

Liebermeister, Wolfram, and Edda Klipp. “Bringing metabolic networks to life: convenience rate law and thermodynamic constraints.” Theoretical Biology and Medical Modelling 3.1 (2006): 41.

# TODO – make a vmax options if enzyme kcats not available

class ecoli.library.kinetic_rate_laws.KineticFluxModel(all_reactions, kinetic_parameters)[source]

Bases: object

A kinetic rate law class

Parameters:
  • all_reactions (dict) –

    all metabolic reactions, with:

    {reaction_id: {
        'catalyzed by': list,
        'is reversible': bool,
        'stoichiometry': dict,
        }}
    

  • kinetic_parameters (dict) –

    a dictionary of parameters a nested format:

    {reaction_id: {
        enzyme_id : {
            param_id: param_value}}}
    

rate_laws

Dictionary where each reaction_id is a key and each value is a sub-dictionary with kinetic rate law functions for each enzyme

get_fluxes(concentrations_dict)[source]

Use rate law functions to calculate flux

Parameters:

concentrations_dict (dict[str, float]) – all relevant molecules and their concentrations, in mmol/L. {molecule_id: concentration}

Returns:

Dictionary of fluxes for all reactions

Return type:

dict[str, float]

ecoli.library.kinetic_rate_laws.cofactor_denominator(concentration, km)[source]
ecoli.library.kinetic_rate_laws.cofactor_numerator(concentration, km)[source]
ecoli.library.kinetic_rate_laws.construct_convenience_rate_law(stoichiometry, enzyme, cofactors_sets, partition, parameters)[source]

Make a convenience kinetics rate law for one enzyme

Parameters:
  • stoichiometry (dict[str, int]) – the stoichiometry for the given reaction

  • enzyme (str) – the current enzyme

  • cofactors_sets (list[list[str]]) – a list of lists with the required cofactors, grouped by [[cofactor set 1], [cofactor set 2]], each pair needs a kcat.

  • partition (list[list[str]]) – a list of lists. each sublist is the set of cofactors for a given partition. [[C1, C2],[C3, C4], [C5]]

  • parameters (dict[str, Any]) – all the parameters with {parameter_id: value}

Returns:

a kinetic rate law function that returns flux through the given reaction with a dictionary of molecule concentrations as input

Return type:

Callable

ecoli.library.kinetic_rate_laws.get_molecules(reactions)[source]

Get a list of all molecules used by reactions

Parameters:
  • reaction – all reactions that will be used by transport

  • reactions (dict[str, dict]) –

Returns:

all molecules used by these reactions

Return type:

list[str]

ecoli.library.kinetic_rate_laws.make_configuration(reactions)[source]

Make the rate law configuration, which tells the parameters where to be placed.

Parameters:

reactions (dict) – all reactions that will be made into rate laws, in the same format as all_reactions (above).

Returns:

Dictionary of partition and reaction_cofactor entries for each reaction

Return type:

dict

ecoli.library.kinetic_rate_laws.make_rate_laws(reactions, rate_law_configuration, kinetic_parameters)[source]

Make a rate law for each reaction

Parameters:
  • reactions (dict) – in the same format as all_reactions, described above

  • rate_law_configuration (dict) –

    with an embedded structure:

    {enzyme_id: {
        'reaction_cofactors': {
            reaction_id: [cofactors list]
            }
        'partition': [partition list]
        }
    }
    

  • kinetic_parameters (dict) –

    with an embedded structure:

    {reaction_id: {
        'enzyme_id': {
            parameter_id: value
            }
        }
    }
    

Returns:

Dictionary where each reaction_id is a key and each value is a

sub-dictionary with kinetic rate law functions for each enzyme

Return type:

dict[str, dict[str, Callable]]