1.1 Sensitivity Analysis¶
from bokeh.io import output_notebook
output_notebook()
from cameo import models
from marsi.cobra.flux_analysis import sensitivity_analysis
model = models.bigg.iJO1366
Sensitivity analysis for L-Serine¶
In this example, the ammount of produced serine is increased in steps. The biomass production will decrease with increased accumulation of Serine. This is a scenario where an metabolite analog would compete with Serine and the cell needs to increase the production of Serine to compete for biomass production and enzyme activity.
ser__L = model.metabolites.ser__L_c
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
result.data_frame
fraction | ser__L | BIOMASS_Ec_iJO1366_core_53p95M | |
---|---|---|---|
0 | 0.00 | 0.000000 | 0.982372 |
1 | 0.11 | 2.327074 | 0.879966 |
2 | 0.22 | 4.654149 | 0.776675 |
3 | 0.33 | 6.981223 | 0.673384 |
4 | 0.44 | 9.308298 | 0.567309 |
5 | 0.55 | 11.635373 | 0.459727 |
6 | 0.66 | 13.962447 | 0.352145 |
7 | 0.77 | 16.289522 | 0.244563 |
8 | 0.88 | 18.616597 | 0.129905 |
9 | 0.99 | 20.943671 | 0.010895 |
result.plot(width=700, height=500)
We can also see how does this affects other variables.
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10,
variables=[model.reactions.SERAT, model.reactions.SUCOAS],
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
result.data_frame
fraction | ser__L | BIOMASS_Ec_iJO1366_core_53p95M | SERAT | SUCOAS | |
---|---|---|---|---|---|
0 | 0.00 | 0.000000 | 0.982372 | 0.243502 | -3.285931 |
1 | 0.11 | 2.327074 | 0.879966 | 0.218119 | -2.187337 |
2 | 0.22 | 4.654149 | 0.776675 | 0.192516 | -1.107405 |
3 | 0.33 | 6.981223 | 0.673384 | 0.166913 | -0.027474 |
4 | 0.44 | 9.308298 | 0.567309 | 0.140620 | 0.297758 |
5 | 0.55 | 11.635373 | 0.459727 | 0.113953 | 0.241292 |
6 | 0.66 | 13.962447 | 0.352145 | 0.087286 | 0.184826 |
7 | 0.77 | 16.289522 | 0.244563 | 0.060619 | 0.000000 |
8 | 0.88 | 18.616597 | 0.129905 | 0.032200 | 0.068182 |
9 | 0.99 | 20.943671 | 0.010895 | 0.002701 | 0.005718 |
result.plot(width=700, height=500)
The same analysis can be done with different simulation methods (e.g. lMOMA).
from cameo.flux_analysis.simulation import lmoma
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10, simulation_method=lmoma,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
result.plot(width=700, height=500)
Sensitivity analysis for Pyruvate¶
In this example, the pyruvate of succinate is decreased. This is a scenario where the cells are evolved with a toxic compound and the consumption turnover of that compound decreases.
pyr = model.metabolites.pyr_c
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
result.plot(width=700, height=500)
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10, simulation_method=lmoma,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
result.data_frame
fraction | pyr | BIOMASS_Ec_iJO1366_core_53p95M | |
---|---|---|---|
0 | 0.00 | 0.000000 | 0.982372 |
1 | 0.11 | 0.153405 | 0.908226 |
2 | 0.22 | 0.365068 | 0.831883 |
3 | 0.33 | 0.523172 | 0.754858 |
4 | 0.44 | 0.681276 | 0.677833 |
5 | 0.55 | 0.839380 | 0.600808 |
6 | 0.66 | 0.997485 | 0.523783 |
7 | 0.77 | 1.155566 | 0.446758 |
8 | 0.88 | 1.008145 | 0.359887 |
9 | 0.99 | 1.533426 | 0.036982 |