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 |