getIsoLabelReport: Generate isotope labeling report

View source: R/functionsv6.r

getIsoLabelReportR Documentation

Generate isotope labeling report

Description

This function searches the groups table of the input xcmsSet object for peaks that are potential isotopologues of one another. It determines whether each isotopologue group identified is significantly enriched for the added isotope label. The output is a list of all enriched groups, along with information about each one's labeling pattern. To print the list to a tab-delimited file, use printIsoListOutputs.

Usage

getIsoLabelReport(xcmsSet, sampleNames, unlabeledSamples, labeledSamples, isotopeMassDiff, RTwindow, ppm, massOfLabeledAtom, noiseCutoff, intChoice = "intb", varEq = FALSE, alpha, singleSample = FALSE, compareOnlyDistros = FALSE, monotonicityTol = FALSE, enrichTol = 0.1)

Arguments

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"

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

unlabeledSamples

character variable designating unlabeled samples (e.g. "C12"). Must match corresponding entries of @phenoData.

labeledSamples

character variable designating labeled samples (e.g. "C13"). Must match corresponding entries of @phenoData.

isotopeMassDiff

difference in mass between labeled and unlabeled atom (e.g. 1.00335 for C13)

RTwindow

retention time window in which all peaks are considered to be co-eluting, in seconds

ppm

ppm allowance for deviation of peaks within an isotopologue group from expected m/z; in practice this should be set higher than ppm tol used for peak-picking (e.g. 20 for a 5 ppm instrument) to ensure that all isotopologues are captured

massOfLabeledAtom

e.g. 12.0000 for C12

noiseCutoff

ion intensity cutoff below which a peak is considered noise

intChoice

one of "maxo", "into", or "intb"–the choice of which peak intensity measurement to use from the XCMS object. Defaults to "intb".

varEq

Boolean indicating whether to assume equal variance on the peak intensities in the unlabeled and labeled samples. Defaults to FALSE.

alpha

p-value cutoff for calling significance of label enrichment

singleSample

Boolean indicating whether only single replicates exist for unlabeled and labeled samples. Defaults to FALSE.

compareOnlyDistros

Boolean indicating whether to look at distributions with intent of calling enrichment over unlabeled (FALSE, default) or to compare distributions of label between two labeled samples of different classes (TRUE).

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 to not enforce monotonicity (monotonicityTol = FALSE) due to potential carryover between samples

enrichTol

tolerance parameter for enforcing enrichment of higher isotopologues in labeled samples; a value of 0 enforces strict requirement for enrichment of higher isotopologues to be higher in labeled samples

Value

An isoLabelReport consisting of the following lists:

compound

m/z of the base (unlabeled) isotopologue; value to be used for searching metabolite databases for putative identities of the group

isotologue

List of m/z of all isotopologues in the group, including base

groupID

ID number of isotopologues in the xcmsSet object's @groups slot; used for plotting EICs of individual isotopologues

rt

Retention time of each isotopologue

meanAbsIntU

Mean absolute intensity of each isotopologue in the samples treated with unlabeled precursor

totalAbsU

Total ion intensity for all isotopologues in a group

cvTotalU

coefficient of variation of total ion intensity of isotopologue group in unlabeled samples

meanAbsIntL

Mean absolute intensity of each isotopologue in the samples treated with labeled precursor

totalAbsL

Total ion intensity for all isotopologues in a group

cvTotalL

coefficient of variation of total ion intensity of isotopologue group in unlabeled samples

meanRelIntU

Mean relative intensity (fraction of total absolute intensity of entire isotopologue group) of each isotopologue in the samples treated with unlabeled precursor

meanRelIntL

Mean relative intensity of each isotopologue in the samples treated with labeled precursor

p_value

p-values from Welch's t-tests comparing relative intensities of each isotopologue in unlabeled vs. labeled samples

enrichmentLvsU

Ratio meanRelIntL: meanRelIntU for each isotopologue

sdRelU

std dev of relative intensity of each isotopologue peak in unlabeled samples

sdRelL

std dev of relative intensity of each isotopologue peak in labeled samples

sampleData

Absolute intensities of each isotopologue in every sample

Author(s)

Xiaojing Huang

Examples

## Not run: 
## labelsControl = getIsoLabelReport(xcmsSet = xs, sampleNames = c("control_unlabeled1", "control_unlabeled2", "control_labeled1", "control_labeled2"), unlabeledSamples = "C12", labeledSamples = "C13", isotopeMassDiff = 1.00335, RTwindow = 10, ppm = 20, massOfLabeledAtom = 12, noiseCutoff = 10000, intChoice = "intb", varEq = FALSE, alpha = 0.05, singleSample = FALSE, compareOnlyDistros = FALSE, monotonicityTol = 0.1)
## 
## labelsPerturb = getIsoLabelReport(xcmsSet = xs, sampleNames = c("perturb_unlabeled1", "perturb_unlabeled2", "perturb_labeled1", "perturb_labeled2"), unlabeledSamples = "C12", labeledSamples = "C13", isotopeMassDiff = 1.00335, RTwindow = 10, ppm = 20, massOfLabeledAtom = 12, noiseCutoff = 10000, intChoice = "intb", varEq = FALSE, alpha = 0.05, singleSample = FALSE, compareOnlyDistros = FALSE, monotonicityTol = 0.1)
##
## This experiment consists of 2 replicates of unlabeled samples and 2 of labeled samples in each biological condition, control or perturbed. The @phenoData slot of the xcmsSet object "xs" would have rownames = c("control_unlabeled1", "control_unlabeled2", "perturb_unlabeled1", "perturb_unlabeled2", "control_labeled1", "control_labeled2", "perturb_labeled1", "perturb_labeled2") and values = c("C12", "C12", "C12", "C12", "C13", "C13", "C13", "C13").

yufree/x13cms documentation built on May 21, 2024, 5 p.m.