Computing Elementary Flux Modes
An elementary flux mode is a minimal set of reactions that can carry a steady-state flux. The internal species are produced and consumed in balance, and removing any reaction from the set breaks that balance. get_elementary_flux_modes runs COPASI’s Elementary Flux Modes task on the current model and returns one dictionary per mode. Each dictionary contains the reactions and their coefficients, whether the mode is reversible, the net conversion of the boundary species, and the internal
species the mode balances.
This example uses the Brusselator. It has four reactions:
R1:
A -> XR2:
2 * X + Y -> 3 * XR3:
X + B -> Y + DR4:
X -> E
X and Y are the internal species. A and B are fixed substrates, and D and E are fixed products.
[1]:
from basico import *
Load the example shipped with basico. The name is matched against those models, so bruss selects the Brusselator.
[2]:
load_example('bruss')
get_reactions()[['scheme']]
[2]:
| scheme | |
|---|---|
| name | |
| R1 | A -> X |
| R2 | 2 * X + Y -> 3 * X |
| R3 | X + B -> Y + D |
| R4 | X -> E |
get_elementary_flux_modes compiles the model and runs the task. This network needs no extra settings.
[3]:
flux_modes = get_elementary_flux_modes()
flux_modes
[3]:
[{'index': 0,
'reaction_name': ['1 * R3', '1 * R2'],
'reversible': False,
'net_reaction': 'B -> D',
'internal_species': 'Y, X'},
{'index': 1,
'reaction_name': ['1 * R4', '1 * R1'],
'reversible': False,
'net_reaction': 'A -> E',
'internal_species': 'X'}]
The network has two elementary modes, and both are irreversible.
The first mode uses R2 and R3, each with coefficient 1:
R2:2 * X + Y -> 3 * Xconsumes oneYand produces oneXR3:X + B -> Y + Dconsumes thatXand restores theY
X and Y cancel, and the net reaction is B -> D. The internal species of this mode are Y, X. This is the autocatalytic cycle of the Brusselator: Y is regenerated, and the only species that enter or leave the cycle are the boundary species B and D.
The second mode uses R1 and R4, each with coefficient 1:
R1:A -> XR4:X -> E
X is produced by R1 and removed by R4, so the net reaction is A -> E. X is the only internal species. This is the conversion of the substrate A into the product E.
Any steady-state flux of this network is a non-negative combination of these two modes: some rate of A -> E through X, plus some rate of the B -> D cycle that interconverts X and Y. Neither mode is reversible, because every reaction in the Brusselator is irreversible.