Skip to content

How TraceBase calculates values

mneinast edited this page Dec 9, 2022 · 1 revision

Overview

Terms and calculations in TraceBase are based on Bartman, TeSlaa and Rabinowitz "Quantitative flux analysis in mammals" (https://doi.org/10.1038/s42255-021-00419-2).

The following list of calculated values includes a short definition, pseudocode of calcuations, examples, and a github link to the code where the term is calculated.

FRACTION (PeakData Table)

GitHub Link

The corrected abundance of the labeled element in this PeakData as a fraction of the total abundance of this isotopomer in this PeakGroup. Accucor calculates this as "Normalized", but TraceBase renames it to "fraction" to avoid confusion with other variables like "normalized labeling".

fraction = peak_corrected_abundance / peak_group_total_abundance

Example: alanine (C3H7NO2) measured with 13C and 15N labeling:

Labeled Element:Count Corrected Abundance Fraction
C:0; N:0 1090437 0.633529
C:0; N:1 154827.9 0.089953
C:1; N:0 0 0
C:1; N:1 0 0
C:2; N:0 3105.043 0.001804
C:2; N:1 0 0
C:3; N:0 33989.78 0.019748
C:3; N:1 438849.7 0.254966

TOTAL ABUNDANCE (PeakGroup Table)

Github Link

Total ion counts for this compound. Accucor provides this in the tab "pool size". Sum of the corrected_abundance of all PeakData for this PeakGroup.

total_abundance = Sum(corrected_abundance)

ENRICHMENT (PeakGroup Table)

Github Link

A weighted average of the fraction of labeled atoms for this PeakGroup (e.g. the fraction of carbons that are labeled in this PeakGroup compound). Calculated on a per-element basis (e.g. "C" enrichment and "N" enrichment are independent of each other).

For each element: Sum of all (PeakData.fraction * PeakData.labeled_count) / PeakGroup.Compound.num_atoms(PeakData.labeled_element)

ENRICHMENT ABUNDANCE (PeakGroup Table)

Github Link The abundance (ion counts) of labeled atoms in this compound, on a per-element basis.

For each element: enrichment_abundance = peak_group.total_abundance * enrichment_fraction_of_labeled_element

Example of Enrichment Fraction and Abundance Calculation:

This is an example for a measured compound alanine (C3H7NO2) measured with 13C and 15N labeling.

PeakData

Labeled Element:Count Corrected Abundance Fraction
C:0; N:0 1090437 0.633529
C:0; N:1 154827.9 0.089953
C:1; N:0 0 0
C:1; N:1 0 0
C:2; N:0 3105.043 0.001804
C:2; N:1 0 0
C:3; N:0 33989.78 0.019748
C:3; N:1 438849.7 0.254966

PeakGroup

Sample Tissue Measured Compound Labeled Element Total Abundance Enrichment Fraction Enrichment Abundance
sampleid serum_plasma_tail alanine C 1721209.0 0.2759 474909.4989
sampleid serum_plasma_tail alanine N 1721209.0 0.3449 593677.6307

Note that PeakGroup data is split into a separate row for each element.

NORMALIZED LABELING (PeakGroup Table)

Github Link

The enrichment in this compound normalized to the enrichment in the tracer compound(s) from the final serum timepoint for that animal. This is calculated for each labeled element separately.

Normalized Labeling = ThisPeakGroup.enrichment_fraction / SerumTracerPeakGroup.enrichment_fraction

Example: normalized labeling in alanine (C3H7NO2) and glutamate (C5H9NO4) measured in the final serum sample and one tissue (quadricep) sample from an infusion of [13C3-15N]-alanine:

Tissue Measured Compound(s) Labeled Element Total Abundance Enrichment Fraction Enrichment Abundance Normalized Labeling
serum_plasma_tail alanine C 1721209 0.275916 474909.5 1
serum_plasma_tail alanine N 1721209 0.344919 593677.6 1
serum_plasma_tail glutamate C 242215.7 0.018 4359.787 0.065236
serum_plasma_tail glutamate N 242215.7 0.053935 13063.83 0.156369
quadricep alanine C 97694902 0.006183 604078.4 0.02241
quadricep alanine N 97694902 0.019993 1953218 0.057964
quadricep glutamate C 14251992 0.007268 103580.9 0.026341
quadricep glutamate N 14251992 0.087257 1243586 0.252978

If a compound does not include any nitrogen atoms (e.g. succinate C4H6O4), there is no data reported for nitrogen labeling.

For infusates with multiple tracers, SerumTracerPeakGroup.enrichment_fraction = average of enrichment in each serum tracer group.

Fcirc

Circulatory Flux (Fcirc) is defined as the steady-state flux of metabolite between tissues and bloodstream (https://doi.org/10.1038/s42255-021-00419-2). Typically, Fcirc is measured by infusing a labeled tracer to a steady state and measuring its dilution in the animal. The labeling of the tracer compound in serum and the known rate of tracer infusion are used to calculate Fcirc. There are key assumptions of steady state and minimal perturbation in typical calculations of Fcirc - see the above reference for details.

A researcher may wish to calculate multiple forms of Fcirc depending on their experimental goals. These forms are based on whether the tracer infusion is included in the flux (Ra vs Rd) and whether the intact or atom-averaged flux is preferred. TraceBase calculates all of four of these.

image (from Bartman, TeSlaa, and Rabinowitz)

TraceBase automates the standard calculations for Fcirc without making any assumptions. Note that TraceBase attempts to calculate Fcirc for every serum/plasma sample, so it will sometimes estimate Fcirc that is invalid (ie before steady state). In other cases, TraceBase will report an Ra value in an infusion that was perturbative. This can still be a useful and valid measurement, but it should not be interpreted as the normal circulatory flux (Fcirc).

If multiple tracers are infused in one animal, Fcirc values are calculated for each tracer compound.

If multiple elements are labeled in a given tracer, Fcirc values are calculated separately for each element. Note that for “intact” Fcirc values, this is different than “any transformation”. (e.g. the Fcirc-intact for U13C-15N-alanine infusion counts U13C-alanine and U13C-15N-alanine as un-transformed). This was a specific design choice made to enable comparison of tracer infusions across different studies. For example, Fcirc-intact for carbon can be directly compared between an animal given U13C-alanine infusion and another animal given U13C-15N-alanine infusion.

Finally, Fcirc can either be normalized to animal body weight (reported as nmol/minute/gram body weight) or not (nmol/minute/mouse). TraceBase calculates all of these so that the researcher can select the appropriate measurement.

Github Link

for each element:

  • Rd_g = rate_disappearance_intact_per_gram = infusion_rate * tracer_concentration / fraction

  • Ra_g = rate_appearance_intact_per_gram = rate_disappearance_intact_per_gram - infusion_rate * tracer_concentration

  • Rd_avg_g = rate_disappearance_average_per_gram = tracer_concentration * infusion_rate * tracer_concentration / enrichment_fraction_of_labeled_element

  • Ra_avg_g = rate_appearance_average_per_gram = rate_disappearance_average_per_gram - infusion_rate * tracer_concentration / enrichment_fraction_of_labeled_element

  • Rd = rate_disappearance_intact_per_gram * animal_body_weight

  • Ra = rate_appearance_intact_per_gram * animal_body_weight

  • Rd_avg = rate_disappearance_average_per_gram * animal_body_weight

  • Ra_avg = rate_appearance_average_per_gram * animal_body_weight