Metabolic Control Analysis

This notebook demonstrates how to use Metabolic Control Analysis using basico. We start as always, by importing basico:

[1]:
from basico import *

next we load the Brusselator example model

[2]:
brusselator = load_example('brusselator')

running the MCA can be done explicitly by calling run_mca, or implicitly by passing allong run_first=True to the functions that retrieve the elasticities or control coefficients. The task needs to be run only once so that all matrices are available. These functions additionally include a scaled flag, that indicates, whether the scaled or unscaled values should be returned. By default run_first=False and scaled=True.

So here we pass run_first=True for the first call, and then just retrieve the remaining functions. First the elasticities.

Running the MCA can be done explicitly by calling run_mca, or implicitly by passing along run_first=True to the functions that retrieve the elasticities or control coefficients. The task needs to be run only once so that all matrices are available. These functions additionally include a scaled flag, that indicates whether the scaled or unscaled values should be returned. By default, run_first=False and scaled=True.

So here we pass run_first=True for the first call, and then just retrieve the remaining functions.

Elasticities define how much impact do changes of the metabolite concentration Si have on the reaction rate vk.

[3]:
get_elasticities(run_first=True)
[3]:
X Y
(R1) 0.0 0.0
(R2) 2.0 1.0
(R3) 1.0 0.0
(R4) 1.0 0.0

Concentration control coefficients tell us about how much impact changes of a single reaction rate have on the steady state concentrations of the metabolites. The sum of entries in each row should be 0, the Summation Error column shows the deviation from that, that can be the result of numeric operations.

Concentration coefficients are only available if a steady state was found when running the task.

[4]:
get_concentration_control_coefficients(scaled=True)
[4]:
(R1) (R2) (R3) (R4) 'Summation Error'
X 1.0 0.0 0.0 -1.0 0.0
Y -1.0 -1.0 1.0 1.0 0.0

Finally, the flux control coefficients tell us about how much changes of a single reaction rate impact the steady state flux of (another) reaction. The sum of each row should be 1, deviations will again be shown in the Summation Error column when the scaled results are retrieved.

Flux control coefficients are only available if a steady state was found when running the task.

[5]:
get_flux_control_coefficients()
[5]:
(R1) (R2) (R3) (R4) 'Summation Error'
(R1) 1.0 0.000000e+00 0.0 0.0 0.000000e+00
(R2) 1.0 -2.220446e-16 1.0 -1.0 0.000000e+00
(R3) 1.0 0.000000e+00 1.0 -1.0 2.220446e-16
(R4) 1.0 0.000000e+00 0.0 0.0 0.000000e+00