# 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 |