diffreport-methods: Create report of analyte differences

Description Arguments Details Value Methods See Also


Create a report showing the most significant differences between two sets of samples. Optionally create extracted ion chromatograms for the most significant differences.



the xcmsSet object


character vector with the first set of sample classes to be compared


character vector with the second set of sample classes to be compared


base file name to save report, .tsv file and _eic will be appended to this name for the tabular report and EIC directory, respectively. if blank nothing will be saved


number of the most significantly different analytes to create EICs for


width (in seconds) of EICs produced


logical indicating whether the reports should be sorted by p-value


character vector with the sample classes to include in the EICs


intensity values to be used for the diffreport.
If value="into", integrated peak intensities are used.
If value="maxo", maximum peak intensities are used.
If value="intb", baseline corrected integrated peak intensities are used (only available if peak detection was done by findPeaks.centWave).


mass uncertainty to use for generating link to Metlin metabolite database. the sign of the uncertainty indicates negative or positive mode data for M+H or M-H calculation. a value of FALSE or 0 removes the column


Numeric variable for the height of the eic and boxplots that are printed out.


Numeric variable for the width of the eic and boxplots print out made.


Number of decimal places of title m/z values in the eic plot.


numeric(1) defining an optional value for missing values. missing = 0 would e.g. replace all NA values in the feature matrix with 0. Note that also a call to fillPeaks results in a feature matrix in which NA values are replaced by 0.


optional arguments to be passed to mt.teststat from the multtest package.


This method handles creation of summary reports with statistics about which analytes were most significantly different between two sets of samples. It computes Welch's two-sample t-statistic for each analyte and ranks them by p-value. It returns a summary report that can optionally be written out to a tab-separated file.

Additionally, it does all the heavy lifting involved in creating superimposed extracted ion chromatograms for a given number of analytes. It does so by reading the raw data files associated with the samples of interest one at a time. As it does so, it prints the name of the sample it is currently reading. Depending on the number and size of the samples, this process can take a long time.

If a base file name is provided, the report (see Value section) will be saved to a tab separated file. If EICs are generated, they will be saved as 640x480 PNG files in a newly created subdirectory. However this parameter can be changed with the commands arguments. The numbered file names correspond to the rows in the report.

Chromatographic traces in the EICs are colored and labeled by their sample class. Sample classes take their color from the current palette. The color a sample class is assigned is dependent its order in the xcmsSet object, not the order given in the class arguments. Thus levels(sampclass(object))[1] would use color palette()[1] and so on. In that way, sample classes maintain the same color across any number of different generated reports.

When there are multiple sample classes, xcms will produce boxplots of the different classes and will generate a single anova p-value statistic. Like the eic's the plot number corresponds to the row number in the report.


A data frame with the following columns:


mean fold change (always greater than 1, see tstat for which set of sample classes was higher)


Welch's two sample t-statistic, positive for analytes having greater intensity in class2, negative for analytes having greater intensity in class1


p-value of t-statistic


p-value of the anova statistic if there are multiple classes


median m/z of peaks in the group


minimum m/z of peaks in the group


maximum m/z of peaks in the group


median retention time of peaks in the group


minimum retention time of peaks in the group


maximum retention time of peaks in the group


number of peaks assigned to the group

Sample Classes

number samples from each sample class represented in the group


A URL to metlin for that mass


one column for every sample class

Sample Names

integrated intensity value for every sample


one column for every sample


object = "xcmsSet"

diffreport(object, class1 = levels(sampclass(object))[1], class2 = levels(sampclass(object))[2], filebase = character(), eicmax = 0, eicwidth = 200, sortpval = TRUE, classeic = c(class1,class2), value=c("into","maxo","intb"), metlin = FALSE, h=480,w=640, mzdec=2, missing = numeric(), ...)

See Also

xcmsSet-class, palette

xcms documentation built on Nov. 8, 2020, 5:13 p.m.