Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2020 Jul 1.
Published in final edited form as: Nat Protoc. 2019 Jun 5;14(7):1970–1990. doi: 10.1038/s41596-019-0167-1

Systems-Level Analysis of Isotopic Labeling in Untargeted Metabolomic Data by X13CMS

Elizabeth M Llufrio 1, Kevin Cho 1, Gary J Patti 1,2,*
PMCID: PMC7323898  NIHMSID: NIHMS1601161  PMID: 31168088

Abstract

Identification of previously unreported metabolites (so-called ‘unknowns’) in untargeted metabolomic data has become an increasingly active area of research. Considerably less attention, however, has been dedicated to identifying unknown metabolic pathways. Yet, for each unknown metabolite structure, there is potentially a yet-to-be-discovered chemical transformation. Elucidating these biochemical connections is essential to advancing our knowledge of cellular metabolism and can be achieved by tracking an isotopically labeled precursor to an unexpected product. In addition to their role in mapping metabolic fates, isotopic labels also provide critical insight into pathway dynamics (i.e., metabolic fluxes) that cannot be obtained from conventional label-free metabolomic analyses. When labeling is compared quantitatively between conditions, for example, isotopic tracers can enable relative pathway activities to be inferred. To discover unexpected chemical transformations or unanticipated differences in metabolic pathway activities, we have developed X13CMS, a platform for analyzing liquid chromatography/mass spectrometry (LC/MS) data at the systems level. After providing cells, animals, or patients with an isotopically enriched metabolite (e.g., 13C, 15N, or 2H), X13CMS identifies compounds that have incorporated the isotopic tracer and reports the extent of labeling for each. The analysis can be performed with a single condition, or isotopic fates can be compared between multiple conditions. The choice of which metabolite to enrich and which isotopic label to use is highly context dependent, but 13C-glucose and 13C-glutamine are often applied because they feed a large number of metabolic pathways. X13CMS is freely available.

Introduction

Tracking chemical transformations in metabolism with isotopic labels dates back to Schoenheimer’s pioneering studies in 1935, which provided the first experimental evidence of the dynamic state of cellular constituents.1 Since then, for more than eight decades, isotopic labels have been at the forefront of metabolic research and played an invaluable role in revealing essential details of important biochemical processes such as cholesterol biosynthesis,2 the tricarboxylic acid (TCA) cycle,3,4 purine and pyrimidine metabolism,5 the pentose phosphate pathway,6 the Calvin cycle,7,8 and many more.9 Critical to these successes has been the development of technology to quantify isotopes with increasing accuracy and molecular resolution. As mass spectrometers have advanced from magnetic sectors to high-resolution quadrupole time-of-flight and Orbitrap instruments, so too has the analysis of isotopic labels from biological systems.10 Indeed, one could argue that progress in applying isotopic labels to metabolic research has been almost exclusively driven by the development of analytical technologies and innovative approaches in computational biology.1113 Among the most recent developments in analytical science for surveying metabolism are untargeted metabolomics and related resources for data analysis.

Untargeted metabolomics, which aims to profile all small molecules within a biological system, provides a unique experimental paradigm for evaluating isotopically labeled samples at the comprehensive scale. To date, however, a common theme of most isotope labeling studies has been the targeted analysis of a small number of specific metabolites (Fig. 1).14 In the context of pathway discovery, this has involved administering an isotopically enriched precursor to a biological system (i.e., an isotopic tracer) and then monitoring the potential incorporation of label into a few possible downstream products.2 In other applications, such as when quantifying metabolic fluxes, insight has been gained by examining the patterns and kinetics of isotope incorporation into known intermediates of a handful of established pathways.15,16 Instrumentation to extend the scope of analyses is now widely available, but applications of untargeted metabolomics continue to be limited by the challenges of data interpretation. Even without the introduction of isotopic labels, many mass spectrometry signals in an untargeted metabolomic experiment cannot be readily identified as known metabolites of existing pathways.17 Although a portion of these unidentified signals may be due to experimental artifacts, at least some are thought to result from so-called ‘unknown metabolites’ that have not yet been characterized as naturally occurring structures in metabolism.1820

Fig. 1. Tracking glucose labels through central carbon metabolism.

Fig. 1

After providing uniformly 13C-labeled glucose as a tracer, isotopic labels can be tracked by performing targeted mass spectrometry analysis of glycolytic and TCA cycle intermediates. Labeled carbons are shown in red and unlabeled carbons are shown in black.

Inspired by the potential for discovery, recent years have seen rapidly growing interest in unknown metabolites. Technologies are emerging to better estimate the number of unknowns in untargeted metabolomic data and to facilitate characterization of their chemical structures.2123 Solving unknown metabolite structures, however, is only the first step. To further advance our perspective of comprehensive cellular metabolism, each new structure must also be mapped onto existing pathway charts, which will necessitate discovery of previously unreported chemical transformations. It is also important to note that there are probably chemical transformations to be discovered beyond those connecting unknown and known metabolites. These may include entirely new pathways between known metabolites or known reactions that are localized to new compartments within the cell. Unlike earlier studies in metabolism that were constrained to tracking isotopic labels through a limited number of well-established pathways, we can now discover these types of novel metabolic transformations by tracking the fate of isotopic labels unbiasedly at the comprehensive level using untargeted metabolomic technologies.24

Beyond discovering new metabolic connections, analysis of isotopically labeled samples with untargeted metabolomics also has the benefit of revealing unexpected changes in pathway dynamics.24 As an example, a given metabolite may be enriched by an isotopically labeled nutrient in one condition but not another. Alternatively, an isotopically labeled nutrient may enrich the same pathway in two conditions, but the activity of the pathway may change. The latter might be inferred by quantitatively assessing changes in the amount of isotopic labeling. Importantly, without isotopic tracers, untargeted metabolomics provides only a snapshot of metabolite abundances.25 These data do not reveal the fraction of a metabolite that is derived from a specific nutrient or fluxes of the associated metabolic pathways.

Considering its broad molecular coverage, LC/MS is often the platform of choice for untargeted metabolomics and will be the focus of our attention here.26 Experimental procedures for performing untargeted metabolomics with LC/MS have been reviewed in detail elsewhere and need not be modified when using isotopic labels.27,28 Similarly, standard protocols for introducing isotopic label into biological samples can be applied before untargeted metabolomic analysis with LC/MS.25,29 A representative example of preparation of labeled samples for untargeted metabolomics is included in the Supplementary Methods, but we note that many well-established experimental variations are commonly applied.

The workflow for unbiased evaluation of isotopic labeling at the comprehensive level mainly diverges from other experimental approaches at the data processing stage. Accordingly, the protocol below focuses on the informatic steps of an experiment when using the X13CMS software for data processing.24 We assume that users have already generated isotopically labeled samples, analyzed them by LC/MS, and performed peak detection (i.e., generated a list of peaks in the sample; see below). Our objective is to provide a step-by-step guide to using X13CMS to (i) identify signals within the LC/MS peaks table that correspond to compounds that are isotopically labeled and (ii) quantify the extent of labeling in each compound. The process is unbiased in that it makes no assumptions about metabolic pathway connections. We also note that X13CMS does not map its results onto metabolic pathways. The output of X13CMS is a comprehensive list of isotopically labeled compounds detected in the sample, from which pathway connections must be manually inferred.

Experimental Design

The X13CMS software supports two experimental designs, each of which is briefly summarized below. It is critical to emphasize that both require unlabeled reference samples. That is, for each sample administered a given amount of an isotopically labeled compound, an identical sample should be prepared in parallel and administered the same amount of unlabeled compound. In addition, metabolite extractions and LC/MS analyses for all samples should be performed in parallel to minimize variability. These requirements arise from the assumption made by X13CMS that differences between labeled and unlabeled sample groups are due to incorporation of isotopic label. We note that X13CMS is compatible with any isotopic label (e.g., 13C, 15N, 2H, and 18O). This includes radioactive isotopes with half-lives long enough to permit LC/MS analysis, although we expect that most applications will use stable isotopes. Multiple isotopic labels can also be evaluated in the same experiment and their individual fates differentiated, provided that the mass spectrometer has sufficient resolving power (Fig. 2). Such a design may be useful in mapping the fates of different atoms from the same labeled precursor or in mapping different atoms from more than one labeled precursor simultaneously. The first experimental design, which we refer to as ‘global tracking of isotopic labels’, requires only two sample groups (labeled and unlabeled). It should be used by investigators who wish to map the global fate of nutrients in a single sample condition (Fig. 3). The second experimental design (Fig. 4), which we refer to as ‘differential tracking of isotopic labels’, enables comparison of two sample conditions (e.g., wild type versus knockout, cell type 1 versus cell type 2). Each condition requires administration of labeled and unlabeled compounds in separate experiments, for a total of four sample groups. This experimental design should be used when investigators want to determine whether labeled precursors are differently metabolized between sample conditions.

Fig. 2. Tracking multiple isotopic labels in the same experiment requires high-resolution mass spectrometry.

Fig. 2

When two isotopic labels are used in the same experiment, a nominal mass increase of 1 Da will result from the incorporation of either isotopic label into a metabolite. A high-resolution mass spectrometer should be used to differentiate these possibilities. Here, we show the minimal resolving power that is required on an Orbitrap mass spectrometer to differentiate 13C from 15N, 13C from 2H, and 15N from 2H. a, When the mass spectrometer is operated at a resolving power of 140,000 at 200 m/z, pairs of isotopic labels can be differentiated for metabolites with mass values to the left of each vertical line. b, When the mass spectrometer is operated at a resolving power of 280,000 at 200 m/z, pairs of isotopic labels can be differentiated for metabolites with mass values to the left of each vertical line. Given the naturally occurring percentage of 13C, these plots also indicate the minimal resolving power that is required to identify low levels of labeling in experiments using only 15N or 2H isotopic labels. Da, Daltons; FWHM, full width at half maximum.

Fig. 3. General workflow for global tracking of isotopic labels from an enriched nutrient with untargeted metabolomics.

Fig. 3

Samples or subjects administered a labeled nutrient (e.g., uniformly 13C-labeled glucose, glutamine, lactate, or palmitate) should be prepared in parallel, with samples or subjects administered an equal amount of unlabeled (i.e., natural-abundance) nutrient.

Fig. 4. Schematic illustrating the relationship between steps in the overall X13CMS workflow.

Fig. 4

In the first step (‘global tracking of isotopic labels’), labeled samples and unlabeled samples are compared for each experimental condition. This identifies metabolites that are labeled in the control condition and metabolites that are labeled in the perturbation condition. In the second step (‘differential tracking of isotopic labels’), differences in isotopic labeling between the control and perturbation condition are identified.

Overview of workflow for isotopologue retrieval

The first step of the informatic workflow using X13CMS is to perform peak detection and correspondence determination, both of which are accomplished by using standard functions as described in detail elsewhere.3033 In brief, peak detection is the process of determining the boundaries and intensities of signals in the raw data.34 Correspondence determination is the process of correlating signals from different experimental runs that arise from the same analyte.35 The result of these algorithms is a list of so-called ‘features’, or extracted signals having a unique pair of retention times and m/z values.

We assume that unlabeled and labeled metabolites co-elute within a user-specified retention-time window (Fig. 5a). As such, we next evaluate all possible pairs of co-eluting features as potential isotopologues. Pairs of features are putatively assigned as isotopologues of one another if the m/z difference between them is a whole-number multiple of the isotopic label mass difference (e.g., 1.00335 Da for 13C) to within the error of the mass spectrometer (in parts per million (p.p.m.)), as specified by the user (Fig. 5b). All features related by this equation are grouped together. For each group, the base peak is annotated by using the unlabeled samples. Note that we use the term ‘base peak’ in this protocol to describe signals arising from ‘unlabeled’ compounds (i.e., signals corresponding to the monoisotopic mass of a compound). When the difference between the base peak and an isotopologue is greater than the maximum number of possible carbons in the base peak, then that isotopologue is excluded from the group. A more detailed description of the X13CMS algorithms can be found in previous reports.24

Fig. 5. Representative data for citrate.

Fig. 5

a,b, Data from an unlabeled sample are shown on the top and data for a 13C-labeled sample are shown on the bottom. a, Extracted-ion chromatogram (EIC) peaks for citrate isotopologues. The x axis shows retention time (RT) and the y axis shows relative intensity. M0 designates citrate containing six 12C atoms, M+1 designates citrate containing five 12C atoms and one 13C atom, M+2 designates citrate containing four 12C atoms and two 13C atoms, and so on. M+6 was not observed and therefore is excluded from the key. In the unlabeled sample, the M+1 and M+2 peaks correspond to natural-abundance 13C. All isotopologues co-elute. b, Mass spectra of citrate isotopologues. The x axis shows the m/z value and the y axis shows relative intensity. Isotopologues are annotated by their m/z values. The difference between m/z values is a multiple of 1.003355 Da (the mass difference between 12C and 13C).

Applications

The simplest application of an X13CMS workflow administers an isotopically labeled compound to a biological system and then aims to monitor its fate without bias using LC/MS. It is provocative to imagine applying such an approach to evaluate the fate of ‘dead-end metabolites’, which are not consumed by any known metabolic reactions.36 Lactate, which historically has been viewed as a waste product of fermenting cells, was studied in this context using X13CMS (ref.37). Despite the availability of high concentrations of glucose and glutamine in media, it was determined that some cancer cells incorporate 13C label from lactate into hundreds of metabolites (Fig. 6). Further investigation revealed that lactate was the primary source of carbon for lipids in these cells and that lactate could be directly imported into mitochondria. Other recent studies have revealed that lactate similarly fuels mitochondrial metabolism in tumors from mice and human patients.38,39 To illustrate a negative result using X13CMS, we refer to a study that aimed to map the comprehensive fate of the oncometabolite 2-hydroxyglutarate (2HG), which is known to accumulate in several human cancers because of gain-of-function mutations in the enzyme isocitrate dehydrogenase.40 Interestingly, X13CMS analysis of untargeted metabolomic data revealed no evidence of 2HG transformation in colorectal carcinoma cells after administration of uniformly 13C-labeled 2HG for 24 h (Fig. 7). A follow-up targeted analysis of central carbon metabolites did show trace levels of isotopic enrichment (<1%) derived from labeled 2HG. We use this as an opportunity to point out a limitation of using untargeted metabolomics to track the fate of isotopic labels. Although untargeted metabolomics strives to profile all the small molecules within a biological system, there are tradeoffs to such comprehensive coverage. In most LC/MS-based experiments, the quantitative reliability and sensitivity of untargeted metabolomics is inferior to those of targeted metabolomics (Fig. 7d). This is because extraction strategies, separation approaches, and instrument settings are all largely metabolite specific.41,42 Thus, it is not feasible to apply optimal methods to analyze each metabolite in a cell simultaneously. Accordingly, low-concentration metabolites and small quantitative differences that can be readily measured by targeted LC/MS-based approaches may go undetected when applying LC/MS methods for untargeted metabolomics.43 See ‘Limitations’ for more information on annotating low levels of isotopic labeling with X13CMS.

Fig. 6. Comprehensive tracking of isotopic labels from uniformly 13C-labeled lactate with untargeted metabolomics revealed that lactate carbon fuels the TCA cycle and lipid synthesis in some cancer cells.

Fig. 6

a, Citrate is enriched after 3 h of labeling with 3 mM uniformly 13C-labeled lactate. The left y axis shows labeling from 0 to 100%, whereas the right y axis shows a zoomed-in scale of labeling from 0 to 20% (applies to boxed area of graph). Data shown are mean values with individual data points overlaid (n = 3). b, Comprehensive plot of isotopically enriched signals after labeling cells with 3 mM uniformly 13C-labeled lactate for 24 h. The y axis shows the fold change of 13C enrichment as calculated by using the following equation: (1 - the fraction of M0 in labeled sample)/(1 – the average fraction of M0 in unlabeled sample). A large number of signals corresponding to lipids were determined to be isotopically labeled from lactate. c, Solid-state NMR analysis of intact cancer cells administered 3 mM U-13C lactate (red) or natural-abundance lactate (black) for 48 h. d, The difference between spectra from labeled and unlabeled samples (blue) represents the fate of lactate. These data demonstrate that lactate label was extensively incorporated into the lipids, which is consistent with the LC/MS-based metabolomic results. See ref.37 for more details. SSB, spinning side band.

Fig. 7. Comprehensive tracking of isotopic labels from uniformly 13C-labeled 2HG with untargeted metabolomics revealed that 2HG is not readily metabolized in colorectal carcinoma cells harboring mutations in isocitrate dehydrogenase 1.

Fig. 7

a, Comprehensive plot of isotopically enriched signals after labeling cells with 5 mM uniformly 13C-labeled 2HG for 24 h. The y axis shows the fold change of 13C enrichment as calculated by using the following equation: (1 - the fraction of M0 in labeled sample)/(1 − the average fraction of M0 in unlabeled sample). Only features associated with 2HG (e.g., 2HG adducts, fragments) were observed to have 13C enrichment by untargeted metabolomics (shown in red). b, Intracellular 2HG was enriched by ~35% after administration of uniformly 13C-labeled 2HG for 24 h, revealing that exogenous 2HG entered the cells. Data shown are mean values with individual data points overlaid (n = 3). c, A targeted metabolomic analysis showed low levels of isotopic enrichment in some metabolites, such as glutamine. The left y axis shows labeling from 0 to 100%, whereas the right y axis shows a zoomed-in scale of labeling from 0 to 0.1% (applies to boxed area of graph). Data shown are mean values with individual data points overlaid (n = 3). Black and red colors are as in b. See ref.40 for more details. d, Schematic comparison of performing targeted and untargeted metabolomics with LC/MS-based methods. Targeted analyses typically provide superior sensitivity and quantitative reliability relative to untargeted analyses, but they provide data on a smaller number of metabolites. 2HG, 2-hydroxygluterate.

As detailed above, it is also possible to apply X13CMS to determine whether isotopically labeled precursors are differentially utilized between conditions. In some cases, such an analysis may determine that a given metabolite incorporates isotopic label only from an enriched precursor in a specific phenotype. In other cases, the same metabolites may be enriched between phenotypes, but their labeling patterns may vary. When proliferating fibroblasts were compared with quiescent fibroblasts after 6 h of uniform 13C-glucose labeling, for example, X13CMS identified differences in the labeling patterns of palmitate (Fig. 8; ref.44) With additional experiments, differences in palmitate labeling were associated with differences in palmitate uptake between proliferating and quiescent fibroblasts. We emphasize here that X13CMS does not output metabolic fluxes. Differences in metabolite labeling identified by X13CMS should be considered leads that may suggest an alteration in associated flux distributions, but further analyses will typically be required to elucidate their biochemical significance.

Fig. 8. After 6 h of labeling with uniformly 13C-labeled glucose, X13CMS identified differences in the enrichment of palmitate between proliferating and quiescent fibroblasts.

Fig. 8

The left y axis shows labeling from 0 to 100%, whereas the right y axis shows a zoomed-in scale of labeling from 0 to 4% (applies to boxed area of graph). Data shown are mean values with individual data points overlaid (n = 3) and have been corrected for natural abundance using isoCor.69 See ref.44 for more details.

Other Methods

Various software packages have been developed for unbiased assessment of isotopic labeling in metabolomic datasets.14 There are three major distinctions between the currently available options. First, only some programs are designed to support LC/MS data. The nontargeted tracer fate detection algorithm45 and related platforms such as the Mass Isotopolome Analyzer46 have been developed for gas chromatography/mass spectrometry data. Other solutions have been developed for samples analyzed by high-resolution gas chromatography/atmospheric pressure chemical ionization.47 Second, different software packages for unbiased assessment of isotopic labeling rely upon unique preprocessing workflows for functions such as peak detection and retention-time alignment. DynaMet,48 for instance, is implemented in Python and uses eMZed49 for preprocessing. mzMatch—ISO,50 geoRge,51 and X13CMS,24 by contrast, are implemented in R and use packages such as XCMS33 and mzMatch.R52 for preprocessing. Last, some software packages for unbiased assessment of isotopic labeling have been developed to support specific experimental designs. Programs such as credentialing53 and MetExtract,54 for example, are optimized to identify unique isotopic labeling patterns that discriminate biological metabolites from sources of experimental noise. Unlike credentialing and MetExtract experiments, in which nutrients are typically labeled, other approaches have been developed for administering a mixture of unlabeled and labeled drug so that isotopic labeling patterns can be used to discriminate endogenous metabolites from unknown drug metabolites.55

Limitations

Natural-abundance correction

X13CMS does not assign molecular formulae or structures to features. Thus, no correction is applied to remove naturally occurring isotopes. Because 1.07% of carbon in metabolites is naturally 13C, tracer-derived 13C must be distinguished from background 13C before a compound is annotated as labeled. This can be accomplished with the enrichTol parameter in X13CMS, which ensures that 13C-containing peaks are larger in labeled samples relative to unlabeled samples within a user-specified tolerance (Table 1). We point out that this estimation is limited by variability in the experimental quantitation of naturally occurring 13C (ref.56) Naturally occurring isotopes are less common for other tracers (e.g., 18O and 15N). However, natural abundance may still be an important consideration when examining low levels of labeling. Moreover, depending on the mass spectrometer’s resolving power, naturally occurring 13C can interfere with the quantitation of other tracers (Fig. 2).

Table 1.

Description of X13CMS parameters.

Parameter Description/Input Steps
xcmsSet xcmsSet object containing grouped and retention time-aligned peaks (i.e., after calling group() and retcor() in XCMS); sample classes in the @phenoData slot should be designated with the arguments ‘unlabeledSamples’ and ‘labeledSamples’. For this protocol, the final object is set in Step 14 20, 21, 27, 28
sampleNames Character vector of names of the unlabeled and labeled samples for which the labeling report should be generated. Taken from rownames of xcmsSet@phenoData 20, 21
unlabeledSamples Character variable designating unlabeled samples (e.g., ‘C12’). Must match corresponding entries of @phenoData 20, 21
labeledSamples Character variable designating labeled samples (e.g., ‘C13’). Must match corresponding entries of @phenoData 20, 21, 23, 25 – 28
isotopeMassDiff Difference in mass between labeled and unlabeled atom (e.g., 1.00335 for 13C) 20, 21, 27
RTwindow Retention time window for isotopologues in which all peaks are considered to be co-eluting, in seconds. Parameters should be set based on LC used 20, 21
ppm Allowance for deviation of peaks within an isotopologue group from expected m/z values (in p.p.m.); dependent on instruments used. In practice, this should be set higher than the p.p.m. tolerance used for peak picking (e.g., 20 for a 15-p.p.m. instrument) to ensure that all isotopologues are retrieved 20, 21
massofLabeledAtom Exact mass of unlabeled atom for tracer used
(e.g., if using 13C tracer, unlabeled carbon exact mass = 12.00000)
20, 21
noiseCutoff Ion intensity cutoff below which a peak is considered noise. This cutoff applies to the base peak of unlabeled samples only. Parameter should be set on the basis of the instrument used 20, 21
intChoice The choice of which peak intensity measurement to use from the XCMS object. Choices include ‘maxo’ (maximum peak intensities), ‘into’ (integrated peak intensities), or ‘intb’ (baseline corrected integrated peak intensities-only available if peak detection was done by ‘findPeaks.centWave’). Defaults to ‘intb’ 20, 21, 27, 28
varEq Variable indicating whether to assume equal variance on the peak intensities in the unlabeled and labeled samples. Input can either be ‘TRUE’ or ‘FALSE’. Defaults to ‘FALSE’ 20, 21, 23
alpha P value cutoff for calling significance of label enrichment 20, 21
singleSample Variable indicating whether only single replicates exist for unlabeled and labeled samples. Input can either be ‘TRUE’ or ‘FALSE’. Defaults to ‘FALSE’ 20, 21, 23
compareOnlyDistros Variable indicating whether to look at distributions with the intent of calling enrichment over unlabeled (‘FALSE’, default) or to compare distributions of label between two labeled samples of different classes (‘TRUE’) 20, 21
monotonicityTol Tolerance parameter used to enforce expected ion intensity pattern (i.e., monotonic decrease from M0 to Mn) in unlabeled samples; a low value closer to 0 enforces stricter monotonicity. Default is set to ‘FALSE’, in order to not enforce monotonicity, because of potential carryover between samples 20, 21
enrichTol Tolerance parameter to exclude groups of isotopologues that are not enriched beyond a given threshold relative to natural abundance. Isotopologues belonging to groups in which (1 + enrichTol) < (M0labeled/M0unlabeled) are excluded from the labeling report. M0labeled/M0unlabeled is calculated by using the mean relative intensities of the base peaks. To reduce false negatives, this parameter defaults to 0.1. To reduce false positives, it can be set to zero or a negative value (e.g., −0.05) 20, 21
labelsData1 Generates isoLabelReport for samples from condition 1 23
labelsData2 Generates isoLabelReport for samples from condition 2 23
condition1 Character variable labeling condition 1 (e.g., ‘control’) 23
condition2 Character variable labeling condition 2 (e.g., ‘perturb’) 23
classes1 Character vector designating whether each sample in labelsData1 or labelsReport1 is unlabeled or labeled 23, 27, 28
classes2 Character vector designating whether each sample in labelsData2 or labelsReport2 is unlabeled or labeled 23, 27, 28
isoLabelReport Output of getIsoLabelReport() 25,26
intOption Choice of plotting relative (‘rel’) or absolute (‘abs’) ion intensities. Defaults to ‘rel’ 25, 26
classes Character vector designating whether each sample is unlabeled (e.g., ‘C12’) or labeled (e.g., ‘C13’) 25, 26
outputfile Name of file in which results will be saved 24 – 29
isoDiffReport Output of getIsoDiffReport() 27, 28
sampleNames1 ‘sampleNames’ from getIsoLabelReport() called for condition 1 27, 28
sampleNames2 ‘sampleNames’ from getIsoLabelReport() called for condition 2 27, 28
labelReport1 Output of getIsoLabelReport() for condition 1 27, 28
labelReport2 Output of getIsoLabelReport() for condition 2 27, 28
listReport Either an isoLabelReport or isoDiffReport 24, 29

Detection of isotopic labeling is limited by metabolite abundance

When a low-abundance compound is minimally labeled, the corresponding isotopologues may not be above the limit of detection. Consider a case in which a 13C-tracer results in 1% lactate labeling, exclusively with three 13C. To detect the M+3 isotopologue, the intensity of the unlabeled lactate signal must be roughly two orders of magnitude above the limit of detection. Thus, users should recognize that the absence of detected labeling (particularly for a low-abundance compound) might be a false negative due to sensitivity limitations. One can assess the minimum amount of labeling that can be detected in a metabolite on the basis of (i) the intensity of M0 in the unlabeled sample, (ii) the contribution of naturally occurring isotopes, and (iii) the potential distribution of labels among multiple isotopologues. Generally, for the specific analytes of interest, targeted metabolomic methods are more sensitive than untargeted metabolomic methods.43,57 Accordingly, low levels of labeling may be detected in a targeted metabolomic experiment but not in an untargeted metabolomic experiment. Such an example is presented in Fig. 7c, where 0.03% labeling of glutamine was above the limit of detection only when using a targeted method.

Uptake of label into cells

To evaluate the intracellular fate of an isotopic tracer, the isotopic tracer must be taken up by cells. When interpreting a negative result, in which X13CMS does not report any label resulting from the isotopic tracer, it is important to confirm uptake of the isotopic tracer by cells (see suggestions for quality control in the ‘Troubleshooting’ section).

Unlabeled reference samples

The algorithms implemented within X13CMS require at least two groups of samples: one group treated with a labeled compound, and an identical group treated with the same amount of unlabeled compound. The assumption is that the only difference between the sample groups is the introduction of isotopic label. Although it is possible to minimize differences between samples groups in cell culture and animals, differences between groups of human patients are generally unavoidable and lead to false positives in the X13CMS results.5863

Increased metabolite labeling is not equivalent to increased metabolic flux

Consider the reactions A→C and B→C, where C is a metabolite downstream of the isotopic tracer A and the unlabeled metabolite B. An increase in the percentage of labeled C in one condition relative to another condition may indicate an increase in the flux of A to C or, for example, a decrease in the flux of B to C. In either case, however, a change in the percentage of labeled C suggests altered metabolic activity. Additional information (e.g., pool size) may be useful in distinguishing between possibilities.

X13CMS does not map results to metabolic pathways

The objective of X13CMS is to annotate signals in an untargeted metabolomic dataset that are labeled by an isotopic tracer. Although the results may provide insight into novel biochemical transformations and metabolic flux, such interpretations require further evaluation of the data at the pathway level. Currently, X13CMS does not perform pathway analysis. There are many challenges to translating X13CMS results to pathways. First, a single labeled metabolite will often be detected as multiple groups of isotopologues due to, for example, adducts, fragments, and dimers (Fig. 7a).64 It is important to recognize that these redundant signals are not different molecules within a pathway map. Second, although labeling of compounds from an isotopic tracer suggests that they are biochemically connected, the arrangement of the connections cannot be determined de novo from a single X13CMS results file. Establishing direct biochemical transformations de novo requires further analysis using, for example, additional isotopic tracers and various labeling times.

Materials

Equipment

Hardware

  • A computer with at least 2 GB RAM is recommended.

  • Sufficient hard-drive storage space (500 GB) for raw data files, converted data files, and results.

Software

Equipment setup

Software installation

Download and install R as described at https://www.r-project.org/. (Optional) download RStudio as described at https://www.rstudio.com/. Open R or RStudio and install XCMS with the following script:33

source(“http://bioconductor.org/biocLite.R”)
biocLite(“xcms”) 

More details can be found at: https://bioconductor.org/packages/release/bioc/html/xcms.html.

Install X13CMS (ref.24). The X13CMS package can be downloaded from http://pattilab.wustl.edu/software/x13cms/x13cms.php. It can be installed for Windows through the command prompt or for UNIX and Mac systems in Terminal with the following prompt after setting the directory to the folder that contains the downloaded package:

R CMD INSTALL X13CMS_1.4.tar.gz 

In R or RStudio, it can be installed with the following prompt:

install.packages(“C:/Users/…/X13CMS_1.4.tar.gz”, repos = NULL, type = ”source”) 

(Note: “C:/Users/…/X13CMS_1.4.tar.gz” as seen above is an example. Users must indicate where their downloaded package is actually located.) Alternatively, X13CMS can be installed in RStudio after download by selecting the ‘Tools’ dropdown menu and ‘Install Packages…’ from that menu. In the ‘Install from:’ box, select ‘Package Archive File…’. In the ‘Package archive:’ box, locate the X13CMS_1.4.tar.gz file on your computer and select it. Click ‘Install’.

In addition, download and install ProteoWizard (ref.65; http://proteowizard.sourceforge.net/).

Procedure

CRITICAL.

The process of file conversion, peak detection and alignment, and isotopologue annotation is detailed step by step below. For more information on X13CMS, see Huang et al.24. Example data are available at http://pattilab.wustl.edu/software/x13cms/x13cms.php.

Conversion of raw data files to mzXML

  1. Locate MSConvertGUI.exe in the Proteowizard folder and open it by double-clicking.

  2. Click ‘Browse’ at the top of the user interface and select raw data file(s) to be converted. More than one file can be selected at once (Fig. 9).

  3. Click ‘Browse’ under ‘Output Directory:’ to select where resulting file(s) will be saved.

  4. Under ‘Options’, select mzXML as the output format.

  5. Click the dialog selection box under ‘Filters’. Select ‘Peak Picking’ and check the box next to ‘Prefer Vendors’.

  6. Click the ‘Add’ button. This will add peak picking to the filter list, which ensures that the resulting files are in centroid mode. The peak-detection process used later requires files be in centroid mode.

    CRITICAL STEP.

    If data acquired contain both MS1 and MS2 (e.g., acquired with autoMSMS, IDA, or DDA), repeat steps 5 and 6, this time selecting the filter ‘MS Level’ Levels = ‘1–1.’ This will extract MS1 data, convert them to mzXML files, and allow them to be processed by XCMS.
  7. Click ‘Start’ to start the file conversion.

Fig. 9. Graphical user interface of MSConvert.

Fig. 9

Numbers correspond to steps referenced within the text.

Data processing with XCMS

  1. Organize mzXML files in folders. Create a main folder (e.g., ‘X13CMS_Exp’) that includes all files to be analyzed. Within this folder, create a subfolder for each sample group. (For all steps that follow, we arbitrarily assign three samples to each sample group. We note, however, that users may have different numbers of samples in a group, depending on the experiment.) Move all mzXML files for each group into their corresponding folder. For example, make a main folder ‘X13CMS_Exp’ that contains subfolders such as ‘12C_Ctrl’, ‘13C_Ctrl’, ‘12C_Pert’, ‘13C_Pert’. ‘12C_Ctrl’ contains all the individual mzXML files for your 12C control group, ‘12C_Pert’ contains the corresponding files for your 12C perturbed group, and so on. The main folder (e.g., ‘X13CMS_Exp’) will be used as a working directory at a later step.

  2. Run RStudio and load the XCMS package.

    library(xcms) 
    
  3. Set the working directory to the folder containing all of the files for your analysis (Step 8).

    setwd(“C:/Data/X13CMS_Exp”) 
    
  4. Use the ‘centWave’ method for feature detection.34

    xs<-xcmsSet(c(“12C_Ctrl/”, “13C_Ctrl/”, “12C_Pert/”, “13C_Pert/”), method = ‘centWave’, ppm = a, peakwidth = c(b, c)) 
    

    In this context, a, b, and c are variables that should be replaced with numerical values on the basis of the instrument used to collect data. See Table 2 for recommended settings.66

  5. Use ‘OBIwarp’ method to perform retention-time correction.35

    xs1 <- retcor(xs, method = ‘obiwarp’) 
    
  6. Group features together across samples.

    xs2 <- group(xs1, bw = d, mzwid = e) 
    

    In this context, d and e are variables that should be replaced with numerical values on the basis of the instrument used to collect data. See Table 2 for recommended settings.

  7. Fill in missing peaks.

    xs3 <- fillPeaks(xs2) 
    

Table 2.

Suggested XCMS parametersa

Instrument ppm peakwidth bw mzwid
UPLC/Q-TOF 30 c(5,20) 2 0.025
UPLC/Q-TOF (high resolution) 15 c(5,20) 2 0.015
UPLC/Orbitrap 2 c(5,20) 2 0.015
HPLC/Q-TOF 30 c(10,60) 5 0.025
HPLC/Q-TOF (high resolution) 15 c(10,60) 5 0.015
HPLC/Orbitrap 2 c(10,60) 5 0.015
a

Modified from ref.66

Global Tracking of Isotopic Labels with X13CMS

CRITICAL.

A labeling report can be created to compare 12C versus 13C samples within an experimental condition (e.g., control condition, perturbation condition). For an explanation of parameters used, see Table 1.

  1. Load the X13CMS package.

    library(X13CMS) 
    
  2. Set names for samples.

    sN <- rownames(xs3@phenoData) 
    
  3. View sample names to allow you to select correct samples for grouping.

    sN 
    
    This will create a list similar to the arbitrary example below:
    1. “filename_for_unlabeled_control_1”
    2. “filename_for_unlabeled_control_2”
    3. “filename_for_unlabeled_control_3”
    4. “filename_for_labeled_control_1”
    5. “filename_for_labeled_control_2”
    6. “filename_for_labeled_control_3”
    7. “filename_for_unlabeled_perturbation_1”
    8. “filename_for_unlabeled_perturbation_2”
    9. “filename_for_unlabeled_perturbation_3
    10. “filename_for_labeled_perturbation_1”
    11. “filename_for_labeled_perturbation_2”
    12. “filename_for_labeled_perturbation_3”
  4. From this list, name control samples (including unlabeled and labeled samples) by calling out the bracket number listed in sN for all of your control files. For our arbitrary example list shown in Step 17, the next command would be as shown below. Note that users should set the numbers below on the basis of their own file order.

    sNctrl <- sN[c(1:3, 7:9)] 
    
  5. From this list, name perturbation samples (including unlabeled and labeled) by calling out the row number listed in sN for all of your perturbation files. For our arbitrary example list shown in Step 17, the next command would be as below. Note that users should set the numbers below on the basis of their own file order.

    sNpert <- sN[c(4:6, 10:12)] 
    
  6. Create a labeling report for the control condition to compare unlabeled and labeled samples. For a description of parameters, see Table 1.

    labelsCtrl <- getIsoLabelReport(xcmsSet = xs3, sampleNames = sNctrl, unlabeledSamples = “12C_Ctrl”, labeledSamples = “13C_Ctrl”, isotopeMassDiff = 1.00335, RTwindow = x, ppm = y, massOfLabeledAtom = 12, noiseCutoff = z, intChoice = “intb”, varEq = FALSE, alpha = 0.05, singleSample = FALSE, compareOnlyDistros = FALSE, monotonicityTol = FALSE, enrichTol = 0.0) 
    

    CRITICAL STEP.

    For both Steps 20 and 21: x, y, and z are variables that should be determined by the user. See Table 1 for a description of parameters and Table 3 for possible inputs. These values are only suggestions. Actual values input by the user should be based on isotope-dependent shifts, the mass accuracy of your mass spectrometer, and the noise threshold. Users should examine raw data files to assess retention-time drift between isotopologues, error of the mass spectrometer, and noise level of the instrument.
  7. Create a labeling report for the perturbation condition to compare unlabeled and labeled samples.

    labelsPert <- getIsoLabelReport(xcmsSet = xs3, sampleNames = sNpert, unlabeledSamples = “12C_Pert”, labeledSamples = “13C_Pert”, isotopeMassDiff = 1.00335, RTwindow = x, ppm = y, massOfLabeledAtom = 12, noiseCutoff = z, intChoice = “intb”, varEq = FALSE, alpha = 0.05, singleSample = FALSE, compareOnlyDistros = FALSE, monotonicityTol = FALSE, enrichTol = 0.0) 
    

Table 3.

Suggested X13CMS parameters

Instrument RTwindow p.p.m.a noiseCutoffb
UPLC/Q-TOF 5 25–35 8,000
UPLC/Q-TOF (high resolution) 5 10–20 8,000
UPLC/Orbitrap 5 2–7 10,000
HPLC/Q-TOF 10 25–35 8,000
HPLC/Q-TOF (high resolution) 10 10–20 8,000
HPLC/Orbitrap 10 2–7 10,000
a

Although a range is provided, users should only enter in one value for this parameter.

b

These values are dependet upon intChoice. When using maxo (maximum peak intensities), the listed values were selected based on our experiences of obtaining high-quality MS/MS data for compound identification.

Differential tracking of isotopic labels

CRITICAL.

A differential labeling report can be created to compare labeling patterns between experimental conditions (e.g., control versus perturbation). For an explanation of parameters used, see Table 1.

  1. Create a character vector to denote sample type (e.g., 12C or 13C). In each sN variable, the first three samples are of the C12 or unlabeled type, and the next three are of the C13 or labeled type.

    classes <- c(rep(“C12”, 3), rep(“C13”, 3)) 
    
  2. To compare labeling differences between experimental conditions, create a differential labeling report.

    isoDiff <- getIsoDiffReport(labelsData1 = labelsCtrl, labelsData2 = labelsPert, condition1=“Ctrl”, condition2 = “Pert”, classes1 = classes, classes2 = classes, labeledSamples = “C13”, varEq = FALSE, singleSample = FALSE) 
    

Output

CRITICAL.

To see THE results, the output can be saved to tab-delineated or PDF files for viewing (Table 4). The saved files will be located in the same folder as your working directory. For an explanation of parameters used, see Table 1.

Table 4.

Types of X13CMS output

Routine Output File Type
plotIsoDiffReport() Plots output of getIsoDiffReport(). Generates bar plots comparing isotopologue distributions in labeled samples of two different sample conditions. Uses relative ion intensities to show distributions PDF
plotLabelReport() Plots isotopologue groups from labeling report. Generates bar plots of ion intensity distribution among the peaks of an isotopologue group. intOption - Choice of plotting relative (‘rel’) or absolute (‘abs’) ion intensities. Defaults to ‘rel’ PDF
plotTotalIsoPools() Generates bar plots comparing isotopologue distributions in labeled samples of two different sample classes. Uses absolute ion intensities to show distributions and compares total pool sizes of isotopologue groups between sample classes PDF
printIsoListOutputs() Prints either an isoLabelReport or isoDiffReport to a tab- delimited text file. The column headings are the names of the list components in the report (Tables 5 and 6) Tab-delineated text file
  1. To print the labeling report to a text file, use the following prompt:

    printIsoListOutputs(listReport = labelsPert, outputfile = “labelsPert.txt”) 
    

    We recommend opening this file in Excel. To do so, locate the saved file within its folder, right-click on the file and select ‘Open with’ from the menu, and then select ‘Excel’. See Table 5 for lists describing isotopologue groups contained in a labeling report.

  2. To print the PDF of isotopologue groups in a single labeling report plotted as relative intensity distributions, use the following prompt (Fig. 10a):

    plotLabelReport(isoLabelReport = labelsPert, intOption = “rel”, classes = classes, labeledSamples = “C13”, outputfile = “labelsPertrel.pdf”) 
    
  3. To print the PDF of isotopologue groups in a single labeling report plotted as absolute intensity distributions, use the following prompt (Fig. 10b):

    plotLabelReport(isoLabelReport = labelsPert, intOption = “abs”, classes = classes, labeledSamples = “C13”, outputfile = “labelsPertabs.pdf”) 
    

    CRITICAL STEP.

    Steps 24–26 can be repeated, substituting “labelsCtrl” for “labelsPert” to produce the labeling report and plots for the control condition.
  4. To print the PDF of isotopologue groups from an isoDiff report comparing two conditions, use the following prompt:

    plotIsoDiffReport(isoDiffReport = isoDiff, xcmsSet = xs3, intChoice = “intb”, sampleNames1 = sNctrl, sampleNames2 = sNpert, labelReport1 = labelsCtrl, labelReport2 = labelsPert, classes1 = classes, classes2 = classes, labeledSamples = “C13”, isotopeMassDifference = 1.00335, outputfile = “isoDiffPlots.pdf”) 
    

    Note that plots are of relative-intensity distributions.

  5. To print the PDF of isotopologue groups from an isoDiff report comparing two conditions, use the following prompt:

    plotTotalIsoPools(isoDiffReport = isoDiff, xcmsSet = xs3, intChoice = “intb”, sampleNames1 = sNctrl, sampleNames2 = sNpert, labelReport1 = labelsCtrl, labelReport2 = labelsPert, classes1 = classes, classes2 = classes, labeledSamples = “C13”, outputfile = “totalPools.pdf”) 
    

    Note that plots are of absolute-intensity distributions combined into total pools. Reported P values are from t-test of total pools (sum of all isotopologues in a group) between conditions.

  6. To print a differential labeling report to a text file, use the following prompt:

    printIsoListOutputs(listReport = isoDiff, outputfile = “DifferentialLabels.txt”) 
    

    We recommend opening this file in Excel as described in Step 24. See Table 6 for lists describing isotopologue groups contained in a differential labeling report.

  7. To create an isoDiff report that reports only isotopologue groups that are different between sample classes, use a filter. The results of the filtering can be plotted and printed by substituting ‘filteredIsoDiff’ for ‘isoDiff’ in the command prompts listed in Steps 28 and 29.

    filteredIsoDiff = filterIsoDiffReport(isoDiffReport = isoDiff, alpha = 0.05) 
    

Table 5.

Lists describing isotopologue groups contained in a labeling report

List name Description
compound m/z values of the unlabeled base peak; this value can be used for searching metabolite databases for putative identities of the group
isotopologue List of m/z values for all isotopologues within a group, including the base peak
groupID ID number of isotopologues in the xcmsSet object’s @groups slot; can be used for plotting EICs of individual isotopologues
rt Retention time of each isotopologue
meanAbsIntU Mean absolute intensity of each isotopologue in the unlabeled samples
totalAbsU Total ion intensity for all isotopologues in a group (in the unlabeled samples)
cvTotalU Coefficient of variation of total ion intensity of isotopologue group in the unlabeled samples
meanAbsIntL Mean absolute intensity of each isotopologue in the labeled samples
totalAbsL Total ion intensity for all isotopologues in a group (in the labeled samples)
cvTotalL Coefficient of variation of total ion intensity of isotopologue group in the unlabeled samples
meanRelIntU Mean relative intensity (fraction of total absolute intensity of entire isotopologue group) of each isotopologue in the unlabeled samples
meanRelIntL Mean relative intensity of each isotopologue in the labeled samples
p_value P values from Welch’s t-tests comparing relative intensities in unlabeled and labeled samples of each isotopologue
enrichmentLvsU Ratio of meanRelIntL to meanRelIntU for each isotopologue
sdRelU Standard deviation of relative intensity of each isotopologue peak in the unlabeled samples
sdRelL Standard deviation of relative intensity of each isotopologue peak in the labeled samples
sampleData Absolute intensities of each isotopologue in every sample

Fig. 10.

Fig. 10

Representative plots created by X13CMS. a, Example of an isotopologue distribution plot made by using the plotLabelReport() command when intOption = “rel”, as referenced in Step 25. Data shown are mean values ± s.d. (n = 3). b, Example of a cumulative labeling plot made by using the plotLabelReport() command when intOption = “abs”, as referenced in Step 26.

Table 6.

Lists describing isotopologue groups contained in a differential labeling report

List name Description
condition1 m/z values of all isotopologues in a group in samples from condition 1; empty if group is found to be enriched only in condition 2
condition2 m/z values of all isotopologues in a group in samples from condition 2; empty if group is found to be enriched only in condition 1
rt1 Retention time of each isotopologue in condition 1
rt2 Retention time of each isotopologue in condition 2
relInts1U Mean relative intensities of each isotopologue in the unlabeled samples of condition 1
relInts1L Mean relative intensities of each isotopologue in the labeled samples of condition 1
relInts2U Mean relative intensities of each isotopologue in the unlabeled samples of condition 2
relInts2L Mean relative intensities of each isotopologue in the labeled samples of condition 2
p_value P values from Welch’s t-tests comparing relative intensities of each isotopologue in labeled samples of condition 1 versus labeled samples of condition 2
sdRelInts1L Standard deviation of relative intensity of each isotopologue peak in the labeled samples of condition 1
sdRelInts2L Standard deviation of relative intensity of each isotopologue peak in the labeled samples of condition 2
absInts1L Mean absolute ion intensity of each isotopologue peak in the labeled samples of condition 1
absInts2L Mean absolute ion intensity of each isotopologue peak in the labeled samples of condition 2

Troubleshooting

For suggestions that address common errors encountered during X13CMS processing, see Table 7.

Table 7.

Troubleshooting table

Step Error Potential reason Solution
11 Error in xcmsSet(method = “centWave”): no NetCDF/mzXML/mzData/m zML files were found No LC/MS raw data files are located in working directory Make sure correct folder is selected for working directory
15 Error in library(X13CMS): there is no package called ‘X13CMS’ X13CMS is not available for the installed version of R Install X13CMS as described in Equipment Setup section
15 Warning message: package ‘x13cms’ is not available Calling wrong library/typo ‘X13CMS’ must be capitalized. Use library(X13CMS)
18 Error in sN[1:3, 7:9]: incorrect number of dimensions User forgot to combine arguments into a vector using ‘c()’ command Use function c() to combine arguments to make a vector (i.e., ‘sN[c(1:3),c(7:9)]’)
20 Error in.local(object, …): xcmsSet is not been group()ed. xcmsSet used has not been grouped Make sure xcmsSet (i.e., ‘xs’ from Step 11) has been grouped in Step 13
20 and 21 Error: argument ‘alpha’ is missing, with no default Parameter alpha was not included Need to include alpha parameter
20 and 21 Error in if (mean(intensities1[b,]) > mean(intensities1[a,]) && !compareOnlyDistros) {: missing value where TRUE/FALSE needed It is possible that samples indicated as ‘unlabeledSamples =‘ or ‘labeledSamples = ‘ do not match sample classes from xcmsSet Call xs3, make sure sample classes match with those specified as unlabeledSamples and labeledSamples
21 Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), : attempt to set an attribute on NULL It is possible that samples indicated as ‘unlabeledSamples =‘ or ‘labeledSamples = ‘ do not match names specified in Step 16 Make sure samples specified as unlabeledSamples and labeledSamples match exactly the folder names listed in Step 11
22 Error: unexpected input in “classes <- c(rep(“″ Quotation marks used (curly/slanted quotation marks) are unrecognized by R. This error of unexpected input can happen at any step, and the error message will show the input up until the unrecognized symbol - in this case the quotation mark If copying script from Word, the user may need to retype the quotation marks as straight quotation marks in R to make the font Unicode
25–26 Error in t.test.default(totalPoolsU, totalPoolsL) : not enough ′y′ observations It is possible that the folder containing labeled samples was indicated as ‘labeledSamples =‘ instead of indicating the type of sample defined in the character vector ‘classes’ created in Step 22 Make sure that the type of sample is specified correctly based on classes created in Step 22; do not use folder names as in Step 21

If a file is corrupt, it will most likely create errors during file conversion (Steps 1–7). In such cases, we recommend opening files with the original vendor software for verification. If few features are detected, this is most likely related to XCMS preprocessing, and we direct users to the following references.30,31,33,67 After running X13CMS, we also recommend evaluating the results with the following procedures for quality control: (i) verify that the intensity of the base peak in the unlabeled samples is above noise levels, (ii) verify that the base peak in the unlabeled samples is greater than or equal to the corresponding base peak in the labeled samples, (iii) verify that the isotopically labeled metabolite provided to the samples (i.e., the isotopic tracer) is determined to be labeled by X13CMS, and (iv) verify that any mixtures of labeled and unlabeled standards administered to the samples/subjects are appropriately reported by X13CMS. The last can be accomplished by spiking one or more exogenous compounds into the metabolic extract before LC/MS analysis (e.g., a 1:1 mixture of labeled and unlabeled drug).

For some analyses, additional procedures for quality control can be useful in addressing potential issues with non-enzymatic transformation of the tracer or drifts in retention time due to isotopic labels. When using 2H, for example, one concern might be hydrogen-deuterium exchange between the tracer and water. To test for this possibility, the 2H-labeled tracer can be added to water (or medium) for a period equal to the labeling time of the experiment. After correcting for evaporation, the concentration of the tracer should not change with time. Another concern might be differences in retention time between labeled and unlabeled compounds. Although labeled metabolites do not typically show a retention-time shift, such a possibility can be evaluated by manually inspecting targeted metabolites into which the label is known to be incorporated. If labeled and unlabeled metabolites do not co-elute, the drift can be taken into account by increasing the RTwindow parameter in the getIsoLabelReport() command.

Timing

Total time for the protocol will depend on the number of CPU cores used and the number of samples analyzed. XCMS processing (Steps 8–14) typically takes 15 min to 2 h per phenotypic group (e.g., 12C control samples and 13C control samples). X13CMS processing and output reporting (Steps 15–30) typically take 25 min to 1 h. Overall, total processing is likely to be completed in less than 1 d.

  • Steps 1–7, conversion of raw data files to mzXML: 5–15 min

  • Steps 8–14, data processing with XCMS: 15 min–2 h

  • Steps 15–21, global tracking of isotopic labels with X13CMS: 15–30 min

  • Steps 22 and 23, differential tracking of isotopic labels: 5–15 min

  • Steps 24–30, output: 5–15 min

Anticipated Results

The X13CMS list provides isotopologue groups for each sample type that correspond to compounds into which label has been incorporated. The differential labeling report shows compounds into which the label has been incorporated differently between sample groups. For a description of each output and file type associated with each command, see Table 4.

It is important to note that X13CMS does not provide metabolite identities. For structural characterization, features should be subjected to MS/MS analysis. MS/MS results can then be compared to databases, such as isoMETLIN, to support metabolite identities.68

Supplementary Material

supplementary material

Acknowledgements

G.J.P. received financial support for this work from National Institutes of Health grants R35ES028365, U01CA235482, and R24OD024624, as well as the Alfred P. Sloan Foundation, the Pew Scholars Program in the Biomedical Sciences, and the Edward Mallinckrodt, Jr., Foundation. We thank N.G. Mahieu for his contributions to Figure 2.

Footnotes

Competing Financial Interests

G.J.P. is a scientific advisory board member for Cambridge Isotope Laboratories and a recipient of the 2017 Agilent Early Career Professor Award. The remaining authors declare no competing interests.

References

  • 1.Guggenheim KY Rudolf Schoenheimer and the concept of the dynamic state of body constituents. J Nutr 121, 1701–4 (1991). [DOI] [PubMed] [Google Scholar]
  • 2.Bloch K & Rittenberg D On the utilization of acetic acid for cholesterol formation. Journal of Biological Chemistry 145, 625–636 (1942). [Google Scholar]
  • 3.Chance EM, Seeholzer SH, Kobayashi K & Williamson JR Mathematical analysis of isotope labeling in the citric acid cycle with applications to 13C NMR studies in perfused rat hearts. J Biol Chem 258, 13785–94 (1983). [PubMed] [Google Scholar]
  • 4.Malloy CR, Sherry AD & Jeffrey FM Carbon flux through citric acid cycle pathways in perfused heart by 13C NMR spectroscopy. FEBS Lett 212, 58–62 (1987). [DOI] [PubMed] [Google Scholar]
  • 5.Plentl AA & Schoenheimer R STUDIES IN THE METABOLISM OF PURINES AND PYRIMIDINES BY MEANS OF ISOTOPIC NITROGEN. Journal of Biological Chemistry 153, 203–217 (1944). [Google Scholar]
  • 6.Katz J & Wood HG The use of glucose-C14 for the evaluation of the pathways of glucose metabolism. J Biol Chem 235, 2165–77 (1960). [PubMed] [Google Scholar]
  • 7.Wilson AT & Calvin M The Photosynthetic Cycle. CO2 Dependent Transients. Journal of the American Chemical Society 77, 5948–5957 (1955). [Google Scholar]
  • 8.Calvin M & Benson AA The Path of Carbon in Photosynthesis. Science 107, 476 (1948). [DOI] [PubMed] [Google Scholar]
  • 9.Schoenheimer R & Rittenberg D THE APPLICATION OF ISOTOPES TO THE STUDY OF INTERMEDIARY METABOLISM. Science 87, 221–6 (1938). [DOI] [PubMed] [Google Scholar]
  • 10.Breitling R, Pitt AR & Barrett MP Precision mapping of the metabolome. Trends Biotechnol 24, 543–8 (2006). [DOI] [PubMed] [Google Scholar]
  • 11.Creek DJ et al. Stable isotope-assisted metabolomics for network-wide metabolic pathway elucidation. Anal Chem 84, 8442–7 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 12.Fan TW et al. Stable isotope-resolved metabolomics and applications for drug development. Pharmacol Ther 133, 366–91 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 13.Wilkinson DJ Historical and contemporary stable isotope tracer approaches to studying mammalian protein metabolism. Mass Spectrom Rev 37, 57–80 (2018). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 14.Weindl D, Wegner A & Hiller K Metabolome-Wide Analysis of Stable Isotope Labeling-Is It Worth the Effort? Front Physiol 6, 344 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 15.Zamboni N, Fendt SM, Ruhl M & Sauer U (13)C-based metabolic flux analysis. Nat Protoc 4, 878–92 (2009). [DOI] [PubMed] [Google Scholar]
  • 16.Yuan J, Bennett BD & Rabinowitz JD Kinetic flux profiling for quantitation of cellular metabolic fluxes. Nature Protocols 3, 1328 (2008). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 17.Patti GJ, Yanes O & Siuzdak G Innovation: Metabolomics: the apogee of the omics trilogy. Nat Rev Mol Cell Biol 13, 263–269 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 18.da Silva RR, Dorrestein PC & Quinn RA Illuminating the dark matter in metabolomics. Proc Natl Acad Sci U S A 112, 12549–50 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 19.Dunn WB et al. Mass appeal: metabolite identification in mass spectrometry-focused untargeted metabolomics. Metabolomics 9, 44–66 (2013). [Google Scholar]
  • 20.Mahieu NG & Patti GJ Systems-Level Annotation of a Metabolomics Data Set Reduces 25000 Features to Fewer than 1000 Unique Metabolites. Anal Chem 89, 10397–10406 (2017). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 21.Dias DA et al. Current and Future Perspectives on the Structural Identification of Small Molecules in Biological Systems. Metabolites 6(2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 22.Kind T & Fiehn O Advances in structure elucidation of small molecules using mass spectrometry. Bioanal Rev 2, 23–60 (2010). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 23.Bingol K & Bruschweiler R Knowns and unknowns in metabolomics identified by multidimensional NMR and hybrid MS/NMR methods. Curr Opin Biotechnol 43, 17–24 (2017). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Huang X et al. X13CMS: Global Tracking of Isotopic Labels in Untargeted Metabolomics. Analytical Chemistry 86, 1632–9 (2014). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 25.Zamboni N, Saghatelian A & Patti GJ Defining the metabolome: size, flux, and regulation. Mol Cell 58, 699–706 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 26.Milne SB, Mathews TP, Myers DS, Ivanova PT & Brown HA Sum of the Parts: Mass Spectrometry-Based Metabolomics. Biochemistry 52, 3829–3840 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 27.Zhu ZJ et al. Liquid chromatography quadrupole time-of-flight mass spectrometry characterization of metabolites guided by the METLIN database. Nat Protoc 8, 451–60 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 28.Patti GJ Separation strategies for untargeted metabolomics. Journal of Separation Science 34, 3460–3469 (2011). [DOI] [PubMed] [Google Scholar]
  • 29.Buescher JM et al. A roadmap for interpreting (13)C metabolite labeling patterns from cells. Curr Opin Biotechnol 34, 189–201 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 30.Mahieu NG, Genenbacher JL & Patti GJ A roadmap for the XCMS family of software solutions in metabolomics. Current Opinion in Chemical Biology 30, 87–93 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 31.Tautenhahn R, Patti GJ, Rinehart D & Siuzdak G XCMS Online: A Web-Based Platform to Process Untargeted Metabolomic Data. Analytical Chemistry 84, 5035–5039 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 32.Forsberg EM et al. Data processing, multi-omic pathway mapping, and metabolite activity analysis using XCMS Online. Nat Protoc 13, 633–651 (2018). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 33.Smith CA, Want EJ, O’Maille G, Abagyan R & Siuzdak G XCMS: Processing mass spectrometry data for metabolite profiling using Nonlinear peak alignment, matching, and identification. Analytical Chemistry 78, 779–787 (2006). [DOI] [PubMed] [Google Scholar]
  • 34.Tautenhahn R, Bottcher C & Neumann S Highly sensitive feature detection for high resolution LC/MS. BMC Bioinformatics 9, 504 (2008). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 35.Prince JT & Marcotte EM Chromatographic alignment of ESI-LC-MS proteomics data sets by ordered bijective interpolated warping. Anal Chem 78, 6140–52 (2006). [DOI] [PubMed] [Google Scholar]
  • 36.Mackie A, Keseler IM, Nolan L, Karp PD & Paulsen IT Dead end metabolites--defining the known unknowns of the E. coli metabolic network. PLoS One 8, e75210 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 37.Chen Y Jr. et al. Lactate metabolism is associated with mammalian mitochondria. Nature Chemical Biology 12, 937 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 38.Faubert B et al. Lactate Metabolism in Human Lung Tumors. Cell 171, 358–371.e9 (2017). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 39.Hui S et al. Glucose feeds the TCA cycle via circulating lactate. Nature 551, 115–118 (2017). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 40.Gelman SJ et al. Evidence that 2-hydroxyglutarate is not readily metabolized in colorectal carcinoma cells. Cancer & Metabolism 3, 13 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 41.Büscher JM, Czernik D, Ewald JC, Sauer U & Zamboni N Cross-Platform Comparison of Methods for Quantitative Metabolomics of Primary Metabolism. Analytical Chemistry 81, 2135–2143 (2009). [DOI] [PubMed] [Google Scholar]
  • 42.Villas-Boas SG, Mas S, Akesson M, Smedsgaard J & Nielsen J Mass spectrometry in metabolome analysis. Mass Spectrom Rev 24, 613–46 (2005). [DOI] [PubMed] [Google Scholar]
  • 43.Roberts LD, Souza AL, Gerszten RE & Clish CB Targeted metabolomics. Curr Protoc Mol Biol Chapter 30, Unit 30.2.1–24 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 44.Yao CH et al. Exogenous Fatty Acids Are the Preferred Source of Membrane Lipids in Proliferating Fibroblasts. Cell Chem Biol 23, 483–93 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 45.Hiller K, Metallo CM, Kelleher JK & Stephanopoulos G Nontargeted elucidation of metabolic pathways using stable-isotope tracers and mass spectrometry. Anal Chem 82, 6621–8 (2010). [DOI] [PubMed] [Google Scholar]
  • 46.Weindl D, Wegner A & Hiller K MIA: non-targeted mass isotopolome analysis. Bioinformatics 32, 2875–6 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 47.Hoffmann F, Jaeger C, Bhattacharya A, Schmitt CA & Lisec J Nontargeted Identification of Tracer Incorporation in High-Resolution Mass Spectrometry. Anal Chem 90, 7253–7260 (2018). [DOI] [PubMed] [Google Scholar]
  • 48.Kiefer P et al. DynaMet: a fully automated pipeline for dynamic LC-MS data. Anal Chem 87, 9679–86 (2015). [DOI] [PubMed] [Google Scholar]
  • 49.Kiefer P, Schmitt U & Vorholt JA eMZed: an open source framework in Python for rapid and interactive development of LC/MS data analysis workflows. Bioinformatics 29, 963–4 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 50.Chokkathukalam A et al. mzMatch-ISO: an R tool for the annotation and relative quantification of isotope-labelled mass spectrometry data. Bioinformatics 29, 281–3 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 51.Capellades J et al. geoRge: A Computational Tool To Detect the Presence of Stable Isotope Labeling in LC/MS-Based Untargeted Metabolomics. Anal Chem 88, 621–8 (2016). [DOI] [PubMed] [Google Scholar]
  • 52.Scheltema RA, Jankevics A, Jansen RC, Swertz MA & Breitling R PeakML/mzMatch: a file format, Java library, R library, and tool-chain for mass spectrometry data analysis. Anal Chem 83, 2786–93 (2011). [DOI] [PubMed] [Google Scholar]
  • 53.Mahieu NG, Huang X, Chen Y Jr. & Patti GJ Credentialing Features: A Platform to Benchmark and Optimize Untargeted Metabolomic Methods. Analytical Chemistry 86, 9583–9589 (2014). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 54.Bueschl C et al. MetExtract: a new software tool for the automated comprehensive extraction of metabolite-derived LC/MS signals in metabolomics research. Bioinformatics 28, 736–738 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 55.Leeming MG et al. High-resolution twin-ion metabolite extraction (HiTIME) mass spectrometry: nontargeted detection of unknown drug metabolites by isotope labeling, liquid chromatography mass spectrometry, and automated high-performance computing. Anal Chem 87, 4104–9 (2015). [DOI] [PubMed] [Google Scholar]
  • 56.Su X, Lu W & Rabinowitz JD Metabolite Spectral Accuracy on Orbitraps. Analytical Chemistry 89, 5940–5948 (2017). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 57.Gelman SJ & Patti GJ Profiling cancer metabolism at the ‘omic’ level: a last resort or the next frontier? Cancer & Metabolism 4, 2 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 58.Cotter DG et al. Ketogenesis prevents diet-induced fatty liver injury and hyperglycemia. J Clin Invest 124, 5175–90 (2014). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 59.Yao CH et al. Identifying off-target effects of etomoxir reveals that carnitine palmitoyltransferase I is essential for cancer cell proliferation independent of beta-oxidation. PLoS Biol 16, e2003782 (2018). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 60.Rashmi R et al. Radioresistant Cervical Cancers Are Sensitive to Inhibition of Glycolysis and Redox Metabolism. Cancer Res 78, 1392–1403 (2018). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 61.d’Avignon DA et al. Hepatic ketogenic insufficiency reprograms hepatic glycogen metabolism and the lipidome. JCI Insight 3(2018). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 62.Kurczy ME et al. Global Isotope Metabolomics Reveals Adaptive Strategies for Nitrogen Assimilation. ACS Chem Biol 11, 1677–85 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 63.Johnson CH et al. Metabolism links bacterial biofilms and colon carcinogenesis. Cell Metab 21, 891–7 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 64.Mahieu NG, Spalding JL, Gelman SJ & Patti GJ Defining and Detecting Complex Peak Relationships in Mass Spectral Data: The Mz.unity Algorithm. Analytical Chemistry 88, 9037–9046 (2016). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 65.Chambers MC et al. A cross-platform toolkit for mass spectrometry and proteomics. Nat Biotech 30, 918–920 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 66.Patti GJ, Tautenhahn R & Siuzdak G Meta-analysis of untargeted metabolomic data from multiple profiling experiments. Nat Protoc 7, 508–16 (2012). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 67.Libiseller G et al. IPO: a tool for automated optimization of XCMS parameters. BMC Bioinformatics 16, 118 (2015). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 68.Cho K et al. isoMETLIN: A Database for Isotope-Based Metabolomics. Analytical Chemistry 86, 9358–9361 (2014). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 69.Millard P, Letisse F, Sokol S & Portais JC IsoCor: correcting MS data in isotope labeling experiments. Bioinformatics 28, 1294–6 (2012). [DOI] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

supplementary material

RESOURCES