| Literature DB >> 31660850 |
Huan Jin1, Hunter N B Moseley2,3,4,5.
Abstract
BACKGROUND: Stable isotope tracing can follow individual atoms through metabolic transformations through the detection of the incorporation of stable isotope within metabolites. This resulting data can be interpreted in terms related to metabolic flux. However, detection of a stable isotope in metabolites by mass spectrometry produces a profile of isotopologue peaks that requires deconvolution to ascertain the localization of isotope incorporation.Entities:
Keywords: Isotopologue deconvolution; Moiety model; Stable isotope resolved metabolomics (SIRM)
Year: 2019 PMID: 31660850 PMCID: PMC6816163 DOI: 10.1186/s12859-019-3096-7
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.169
Fig. 1Example complex metabolite UDP-GlcNAc and associated expert-derived moiety model. a Major human metabolic pathways leading from glucose to the four moieties of UDP-GlcNAc. b The representative moiety model is based on the expected metabolic tracing from 13C-labeled glucose to UDP-GlcNAc, with the exception of one carbon in the uracil moiety that traces from carbon dioxide. The moiety states variables are identified by a lowercase moiety letter followed by a number representing the 13C isotope content. The moiety state variables (model parameters) are used to calculate specific components of the relative isotopologue intensity
Fig. 2Workflow of the moiety modeling framework
Fig. 3A unified modeling language (UML) class diagram of a Moiety Model
Different forms of objective function
| Loss function | Equation |
|---|---|
| Absolute difference | Σ|I |
| Log difference | Σ|log (I |
| Square difference | Σ (I |
Fig. 4Organization of the moiety_modeling package represented with UML diagrams: a UML package diagram of the moiety_modeling Python library; b Subpackage dependencies diagram; c UML class diagram of the ‘modeling.py’ module with dependency relationships; d UML class diagram of the ‘analysis.py’ module, which contains a set of classes with no relationships
Different forms of a model selection estimator
| Selection Criterion | Equation |
|---|---|
| Akaike Information Criterion (AIC) | 2k + nln(RSS/n) |
| Sample size corrected AIC (AICc) | AIC + (2 |
| Bayesian Information Criterion (BIC) | nln(RSS/n) + kln(n) |
k is the number of parameters
n is the number of data points
RSS is the residual sum of squares: RSS =
Fig. 5‘SAGA-optimize’ package represented with a UML class diagram with dependencies
Common creation patterns for the moiety_modeling library
| Entity | Example |
|---|---|
| Moiety | glucose = moiety_modeling.Moiety(‘glucose’, {‘13C’: 6}, isotopeStates = {‘13C’: [1, 3, 5]}, nickname = ‘g’) acetyl = moiety_modeling.Moiety(‘acetyl’, {‘13C’: 2}, isotopeStates = {‘13C’: [0, 1, 2]}, nickname = ‘a’) uracil = moiety_modeling.Moiety(‘uracil’, {‘13C’: 4}, isotopeStates = {‘13C’: [1, 2, 4]}, nickname = ‘u’) ribose = moiety_modeling.Moiety(‘ribose’, {‘13C’: 5}, isotopeStates = {‘13C’: [0, 3, 5]}, nickname = ‘r’) |
| Relationship | relationship = moiety_modeling.Relationship (glucose, ‘13C0’, acetyl, ‘13C2’, ‘*’, 2) |
| Molecule | UDP-GlcNAc = moiety_modeling.Molecule(‘UDP-GlcNAc’, [glucose, uracil, acetyl, ribose]) |
| Model | model1 = moiety_modeling.Model(‘model1’, [glucose, uracil, acetyl, ribose], [UDP_GlcNAc], [relationship]) |
| Dataset | dataset = moiety_modeling.Dataset(‘12 h’, ‘UDP_GlcNAc’: [{‘labelingIsotopes’:‘13C_0’, ‘height’: 0.0175, ‘heightSE’: 0}, {‘labelingIsotopes’:‘13C_1’, ‘height’: 0.0075, ‘heightSE’: 0}, …]) |
Common patters for using the moiety_modeling as a command-line tool
| Command | Description | Example |
|---|---|---|
| modeling | Perform model optimization | % python3 –m moiety_modeling modeling --models = models.json --datasets = dataset.json --optimizations = optimization_settings.json |
| analyze | Analyze the optimization results | % python3 –m moiety_modeling analyze optimizations --a optimizationPaths.txt |
| plot | Plot the distribution of calculated moiety modeling parameters. | % python3 –m moiety_modeling plot moiety analysisResults.json |
Model selection results of UDP-GlcNAc isotopologue data
| Modela | Estimator (AICc) |
|---|---|
| 6_G1R1A1U3 (expert-derived model) | − 229.2918 |
| 6_G1R1A1U3_r4 | − 227.5208 |
| 6_G1R1A1U3_u4 | − 225.0006 |
| 6_G0R2A1U3_g3r2r3_g6r5 | − 223.1633 |
| 6_G1R1A1U3_g5 | − 215.9565 |
| 7_G1R2A1U3_r1 | − 212.4727 |
| 7_G2R1A1U3_g1 | −212.1217 |
| 7_G1R2A1U3_r3 | −210.9640 |
| 7_G1R1A2U3 | −210.0952 |
| 7_G2R1A1U3_g5 | −208.1346 |
| 7_G1R2A1U3_g3r2r3 | − 207.6523 |
| 7_G1R2A1U3_r2 | −207.4187 |
| 7_G2R1A1U3_g4 | − 206.6430 |
| 7_G2R1A1U3_g2 | −206.5609 |
| 7_G0R2A2U3_g3r2r3_g6r5 | − 205.0569 |
| 7_G2R1A1U3_g3 | − 204.8797 |
| 7_G0R3A1U3_g3r2r3_g6r5_g5r4 | −204.2729 |
| 7_G1R1A1U4 | − 203.3710 |
| 7_G1R2A1U3_r4 | − 202.6782 |
| 6_G1R1A1U3_a1 | −199.5560 |
| 8_G2R1A2U3_g1 | − 195.9713 |
| 7_G1R1A1U3C1 | − 195.5788 |
| 8_G1R2A2U3_r1 | −195.4893 |
| 7_G0R3A1U3_g3r2r3_g6r5_r4 | −192.4980 |
| 8_G1R2A2U3_r2r3 | −187.3342 |
| 8_G1R2A2U3_r3 | −186.8810 |
| 8_G2R1A2U3_g5 | −186.2693 |
| 8_G1R2A2U3_r2 | −186.2562 |
| 8_G2R1A2U3_g2 | − 185.6112 |
| 8_G2R1A2U3_g4 | − 184.9444 |
| 8_G1R2A2U3_g3r2r3 | −184.2929 |
| 8_G1R2A2U3_g3r2r3_g6r5_g5 | − 183.2154 |
| 8_G2R1A2U3_g3 | −183.1467 |
| 8_G1R2A2U3_r4 | − 182.1334 |
| 8_G1R1A2U3C1 | − 177.5013 |
| 9_G2R2A2U3_r2r3_g1 | − 170.3323 |
| 9_G2R2A2U3_r2r3_g2 | − 161.5770 |
| 9_G2R2A2U3_r2r3_g3 | − 160.7823 |
| 9_G2R2A2U3_r2r3_g6r5_g3_g5 | −160.6917 |
| 9_G2R2A2U3_r2r3_g4 | −160.4500 |
| 9_G2R2A2U3_r2r3_g5 | − 158.8733 |
Optimization settings: method = ‘SAGA’, SAGA_parameters = {‘stepNumber’: 100000, ‘temperatureStepSize’: 100, ‘alpha’: 1, ‘crossoverRate’: 0.05, ‘mutationRate’: 3, ‘populationSize’: 20, ‘startTemperature’: 0.5}, repetition = 100, split, objective function = log difference
aThe first number in the model name is the total number of free model parameters followed by the number of free parameters for each moiety and perturbations from the expert-derived model
Single-tracer 13C moiety states and values for UDP-GlcNAc biosynthesis
| Moiety states | Moiety value | Moiety states | Moiety value |
|---|---|---|---|
| glucose[13C_0] | 0.1 | ribose[13C_5] | 0.9 |
| glucose[13C_6] | 0.9 | uracil[13C_0] | 0.2 |
| acetyl[13C_0] | 0.7 | uracil[13C_1] | 0.2 |
| acetyl[13C_2] | 0.3 | uracil[13C_2] | 0.5 |
| ribose[13C_0] | 0.1 | uracil[13C_3] | 0.1 |
Multi-tracer 13C/18O moiety states and values for UDP-GlcNAc biosynthesis
| Moiety states | Moiety value | Moiety states | Moiety value |
|---|---|---|---|
| glucose[13C_0.18O_0] | 0.1 | uracil[13C_0.18O_0] | 0.2 |
| glucose[13C_6.18O_5] | 0.9 | uracil[13C_1.18O_0] | 0.2 |
| acetyl[13C_0.18O_0] | 0.7 | uracil[13C_2.18O_0] | 0.25 |
| acetyl[13C_2.18O_1] | 0.3 | uracil[13C_2.18O_1] | 0.25 |
| ribose[13C_0.18O_0] | 0.1 | uracil[13C_3.18O_0] | 0.05 |
| ribose[13C_5.18O_4] | 0.9 | uracil[13C_3.18O_1] | 0.05 |
Average sum of simulated isotopologues before renormalization
| σ of Added Error | Average Sum of Isotopologues | |
|---|---|---|
| Single-tracer | Multi-tracer | |
| 0.1 | 1.50 | 9.97 |
| 0.01 | 1.02 | 1.73 |
| 0.001 | 0.99 | 0.98 |
Fig. 6Histograms of simulated intensities for the largest representative isotopologue
Fig. 7Histograms of the acetyl and uracil optimized moiety state values derived from simulated datasets