In some cases we might be interested in testing certain intervention strategies on our models. In general we will be most intested in what is the consequence for the environment, meaning what happens with the exchange reactions in the model. Here, micom allows you to respond two kind of questions:

  1. What impact does changing a bacterial abundance have on the exchanges?

  2. What impact does changing the exchnage bounds (ergo diet) have on the exchanges?

For that we use the concept of elasticity coefficients which are a dimensionless normalized measure of how much the parameter \(p\) affects the flux \(v\):

\[\varepsilon_p^v = \frac{\partial v}{\partial p}\frac{p}{v} = \frac{\partial\ln v}{\partial\ln p}\]

micom can calculate the elasticities for abundances and diet in one go.

This again uses cooperative tradeoff to limit the solution space.

from micom import Community, data
from micom.elasticity import elasticities

tax = data.test_taxonomy()
com = Community(tax)

eps = elasticities(com, fraction=1.0, reactions=com.exchanges)
100%|██████████| 5/5 [00:02<00:00,  2.39models/s]
100%|██████████| 4/4 [00:00<00:00, 16.06optimizations/s]
100%|██████████| 5/5 [00:00<00:00,  7.38optimizations/s]
reaction taxon effector direction elasticity type
0 EX_ac_m medium EX_glc__D_m zero 0.000014 exchanges
1 EX_acald_m medium EX_glc__D_m zero 0.000012 exchanges
2 EX_akg_m medium EX_glc__D_m zero 0.000017 exchanges
3 EX_co2_m medium EX_glc__D_m forward 0.923854 exchanges
4 EX_etoh_m medium EX_glc__D_m zero 0.000009 exchanges

Here reaction refers to the target flux and effector to the changed parameter. The direction indicates the flux direction and the type whether we changed an exchange bound or a taxa abundance. So for instance the 4th row would tell us that raising glucose import by one unit (one unit of additional glucose in the diet) would increase the carbon dioxide production by 0.92 units. The other rows do not impose a significant change, are not sensitive to glucose availability.

[ ]: