Heatmap of xcms feature intensities
xcms_extension_plot.RdDraws xcms::featureValues() as a ComplexHeatmap: rows are
features ordered by rtmed, columns are samples ordered by injection
time. Cells are log10 peak intensity (maxo by default);
missing peaks stay NA and are shown in na_col. A left color
bar encodes retention time; a top bar encodes sample.type (or
group) and injection order.
export peaks data by xcms::chromPeaks and plot by ggplot2
Visualizes the distribution of detected features in a 2D space of retention time (x-axis) vs m/z (y-axis). Point size represents peak width, color represents log10 intensity. Includes peak detection parameters in subtitle.
Extract a feature EIC via
get_xcms_feature_chromatogram and plot it.
plot scans number of MS1 levels in each peak, note that to many peaks will lead to stuck,
apply filterFile to decrease peaks count
Dot-plot MS1 scan frequency along retention time. Scans are
counted in successive rt_window-wide RT bins (per file); frequency is
scan_count / rt_window.
Visualizes the number of MS2 scans that overlap each chromatographic peak based on retention time and m/z ranges. Produces a scatter plot with jitter, violin distribution, and counts of peaks with 0-5 MS2 scans.
extract EIC according to peaks' mzrange and rtrange, note that if multiple sample in xcms object, only first sample will be extracted
plot feature's intensity, ordered by Biobase::pData(xcms.xcms)$analysis.time.positive or
Biobase::pData(xcms.xcms)$analysis.time.negative
Plot MS1 total ion chromatograms (TIC) for an XCMSnExp object,
colored by sample group from Biobase::pData(xcms.xcms)$group.
Y-axis tick labels use scientific notation (e.g. \(9 \times 10^{7}\)).
Diagnostic and overview plots for xcms peaks, features, chromatograms, and TIC/XIC.
Usage
plot_xcms_features_heatmap(
xcms,
value = "maxo",
log = TRUE,
na_col = "#BDBDBD"
)
plot_xcms_peaks_distribution(
xcms.xcms,
plot.title = "Peaks distribution",
type = "o"
)
plot_xcms_features_distribution(
xcms.xcms,
plot.title = "Features distribution"
)
plot_xcms_feature_chromatogram(xcms.xcms, feature.id, sampleNames = NULL)
plot_xcms_peaks_ms1_scans(xcms.xcms, plot.title = "Peaks Sans of MS1")
plot_xcms_ms1_scan_freq(xcms, rt_window = 5, plot.title = "MS1 Scan Frequency")
plot_xcms_peaks_ms2_scans(xcms.xcms, plot.title = "Peaks Sans of MS2")
plot_xcms_peaks_Chromatogram(xcms.xcms, peak_id, rt = "expand")
plot_xcms_feature_intensity(xcms.xcms, feature_id_to_show)
plot_xcms_TIC(xcms.xcms, col.group = NULL, title = "TIC")
plot_xcms_xic(
xcms.filt,
mzr = NULL,
rtr = NULL,
title = NULL,
subtitle = NULL,
base_size = 6,
return.data = FALSE
)Arguments
- xcms
XCMSnExp / XcmsExperiment object
- value
Intensity column passed to
xcms::featureValues()(default"maxo").- log
Logical;
log10-transform intensities (defaultTRUE). Non-finite values becomeNA.- na_col
Color for missing peaks (default
"#BDBDBD").- xcms.xcms
XCMSnExp object
- plot.title
Character title for the plot (default "Peaks Sans of MS2").
- type
"o", for geom_point,"l", for geom_segment- feature.id
feature id
- sampleNames
sample names to include
- rt_window
positive numeric; RT window width (same unit as retention time, typically seconds)
- peak_id
peak id
- rt
expansion range for rt
- feature_id_to_show
feature id to plot
- col.group
named character vector of colors for groups. If
NULL, Blank/QC use fixed colors and remaining groups useggsci::pal_aaas()(or an interpolated palette when there are more than 10 groups)- title
Optional plot title.
- xcms.filt
XCMSnExpafterfilterRt()andfilterMz().- mzr
Optional m/z range used for extraction (for axis limits).
- rtr
Optional RT range used for extraction (for axis limits).
- subtitle
Optional subtitle.
- base_size
Base font size.
- return.data
If
TRUE, return a list withplot,p_chr,p_mz,chrom, andpoints.
Value
(Invisibly) a ComplexHeatmap::Heatmap object.
ggplot object
ggplot object.
ggplot object
ggplot object
ggplot object
ggplot object.
ggplot object
ggplot object
ggplot object
A patchwork object with two panels, or a list when
return.data = TRUE.
Details
Injection order uses pData$analysis.time.positive (positive
polarity) or analysis.time.negative (negative), falling back to
analysis.time, then ExpTime, then the current sample order.
Functions
plot_xcms_features_heatmap(): feature x sample intensity heatmapplot_xcms_peaks_distribution(): plot peaks distributionplot_xcms_features_distribution(): plot features distributionplot_xcms_feature_chromatogram(): plot feature chromatogramplot_xcms_peaks_ms1_scans(): plot MS1 scan counts for peaksplot_xcms_ms1_scan_freq(): plot MS1 scan frequency vs RTplot_xcms_peaks_ms2_scans(): plot MS2 scan counts for peaksplot_xcms_peaks_Chromatogram(): plot chromatogram for a peakplot_xcms_feature_intensity(): plot feature intensityplot_xcms_TIC(): plot TICplot_xcms_xic(): ggplot2 XIC plot matching xcmsplot(type = \"XIC\")Upper panel: extracted ion chromatogram (intensity vs retention time), extracted with
get_xcms_chromatogram(aggregationFun = "sum"). Lower panel: m/z vs retention time with points coloured by intensity.