Carbon-13 metabolic flux analysis
A metabolic network that labelling fits to labelling data.
- Class:
Carbon13MFASystem - Import:
from skcomplex.systems.biology.systems_biology import Carbon13MFASystem - Field:
biology/systems_biology - Topics:
carbon-13 flux analysis,isotope labelling,elementary metabolite units,metabolism,static - References: Raman 2021; Antoniewicz et al. 2007; Antoniewicz et al. 2006
Use this system
from skcomplex.core.engine.runtime import simulate
from skcomplex.systems.biology.systems_biology import Carbon13MFASystem
trajectory = simulate(Carbon13MFASystem())
Parameters
| Parameter | Default |
|---|---|
network |
None |
Tags
| Tag | Values |
|---|---|
| Time | static |
| Space | none |
| Laws | equation |
| Randomness | deterministic |
| Domains | real |
| Structure | fixed |
Class
class Carbon13MFASystem(BaseSystem):
"""A metabolic network that `labelling` fits to labelling data.
The network is the TCA example by default.
Labelled atoms of a tracer spread through the network along its atom transitions, so the measured mass isotopomer
distributions of its products carry the fluxes (Raman 2021, Section 9.7). `tca_labelling_analysis` gives the
labelling of the TCA example of Antoniewicz et al. (2007) with data simulated from its known fluxes.
Args:
network:
The metabolic network, or `None` for the TCA example.
label:
The label of the system, which names it when it is nested in another one.
Examples:
>>> from skcomplex.systems.biology.systems_biology import Carbon13MFASystem
>>> Carbon13MFASystem().prepare().system_.elements[0].label
'tca'
"""
field = 'biology/systems_biology'
topics = ('carbon-13 flux analysis', 'isotope labelling', 'elementary metabolite units', 'metabolism', 'static')
references = ('Raman 2021', 'Antoniewicz et al. 2007', 'Antoniewicz et al. 2006')
until = 0.0
def __init__(
self,
network: MetabolicNetworkElement | None = None,
*,
label: str = 'system',
) -> None:
super().__init__(label)
self.network = network
def _build_system(self) -> System:
"""Return the parts of a metabolic network that `labelling` fits to labelling data."""
return System(
self.label,
elements=[TcaNetworkElement('tca') if self.network is None else self.network],
time=StaticTime(),
)
Components
Elements:
TcaNetworkElement, fromDeclaredElement
class TcaNetworkElement(MetabolicNetworkElement):
"""The TCA example of Antoniewicz et al. (2007).
Args:
label:
The label of the element.
visual:
How the element is drawn, or `None` for the bars of its program.
objective:
The coefficient of every reaction in the objective, or `None` for `default_objective`.
parsimonious:
Whether to minimise the total absolute flux after the objective.
infeasible:
The infeasibility policy of the program.
name:
The name of the network.
reactions:
The reactions by name.
default_objective:
The objective of the network when `objective` is `None`.
variables:
The declared states and parameters that replace the ones of the reactions, by name, or `None` for none.
Examples:
>>> from skcomplex.systems.biology.systems_biology import Carbon13MFASystem
>>> Carbon13MFASystem().prepare().system_.elements[0].get_value('upper_v1')
300.0
"""
def __init__(
self,
label: str,
visual: VisualSpec | None = None,
*,
objective: Mapping[str, float] | None = None,
parsimonious: bool = False,
infeasible: str = 'raise',
name: str | None = 'TcaNetwork',
reactions: Mapping[str, ReactionSpec] = TCA_REACTIONS,
default_objective: Mapping[str, float] = TCA_OBJECTIVE,
variables: Mapping[str, DeclaredVariableSpec] | None = None,
) -> None:
super().__init__(
label,
visual,
objective=objective,
parsimonious=parsimonious,
infeasible=infeasible,
name=name,
reactions=reactions,
default_objective=default_objective,
variables=variables,
)