1
Topics
This section allows you to view all Topics made by this member. Note that you can only see Topics made in areas you currently have access to.
Topics - Tony
2
XCMS / Vectorized Colors for plotting XChromatogram
would it be possible for the plotting functions such as:
## XChromatograms {xcms}
## S4 method for signature 'XChromatogram,ANY'
## plot(x, col = "#00000060", lty = 1, type = "l", xlab = "retention time", ylab = "intensity", main = NULL, peakType = c("polygon", "point", "rectangle", "none"), peakCol = "#00000060", peakBg = "#00000020", peakPch = 1, ...)
## plotChromPeakDensity,XCMSnExp-method {xcms}
## S4 method for signature 'XChromatograms'
##plotChromPeakDensity(object, param, col = "#00000060", xlab = "retention time", main = NULL, peakType = c("polygon", "point", "rectangle", "none"), peakCol = "#00000060", peakBg = "#00000020", peakPch = 1, simulate = TRUE, ...)
to have the arguments:
peakCol = "#00000060", peakBg = "#00000020" (maybe also peakPch = 1) to be able to take vectorized colors like in the argument col?
This would enable mor freedom whilst plotting.
kind regards
Tony
[attachment deleted by admin]
3
XCMS / Centroiding of profile-mode DDA data, MS2-level
I would like to hear your advice on how to treat DDA (Data Dependent Aquisition) experiments, which were quired in profile-mode.
It is clear from the very nice vignette (https://github.com/jorainer/metabolomics2018) on how to do this for MS1-level, but the question is on how to proceed the MS2-level. Should the MS2-level be centroided also and how can this be achieved including serialisation via MSnbase/xcms?
Thanks for your help
Kind regards
Tony
4
XCMS / Scan numbering for DDA/IDA-experiments
we are conducting metabolomic experiments using a AB Sciex 5600 TripleToF with DDA (Data Dependendent Aquisition) unsing R 3.6.0 under MSnbase (2.9.5) and xcms (3.5.5).
So we have MS1-scans and MS2-scans intrinsically in the raw data files.
The question here refers, on how to obtain the correct number of scans per peak in one file. The raw data was read with:
readMSData(files = files, pdata = new("NAnnotatedDataFrame", pd), msLevel. = 1)
Given the information from the function chromPeaks(object, bySample = FALSE, rt = numeric(), mz = numeric(), ppm = 0, type = "any"), this results in the following table.
mz mzmin mzmax rt rtmin rtmax into intb maxo sn egauss mu sigma h f dppm scale scpos scmin scmax lmin lmax sample is_filled
CP000001 185.0415 185.0409 185.0423 46.568 40.745 53.293 1623.3019 1605.9049 193.8009 25 NA NA NA NA 6 1 9 169 160 178 148 185 1 0
CP000002 185.0419 185.0409 185.0429 3.887 0.724 6.577 763.4537 755.4926 170.2468 21 NA NA NA NA 6 4 7 15 8 22 3 25 1 0
CP000003 512.8859 512.8845 512.8887 51.321 49.069 52.634 322.0898 319.1189 175.0130 174 NA NA NA NA 7 8 7 182 175 189 87 93 1 0
CP000004 271.9464 271.9443 271.9484 51.321 48.780 53.293 303.1867 299.2378 142.4416 141 NA NA NA NA 8 8 7 182 175 189 87 95 1 0
CP000005 385.9267 385.9250 385.9298 51.321 48.780 53.293 275.9011 271.9522 131.7186 131 NA NA NA NA 9 5 7 182 175 189 87 95 1 0
CP000006 498.9059 498.9042 498.9077 50.666 49.069 53.293 256.1620 252.5414 133.5325 133 NA NA NA NA 10 7 7 181 174 188 87 94 1 0
Is it okay to use the colums "scmin" "scmax", i.e. to compute scmax - scmin to get the correct number of scans for each peak,
or is there a need to take into account, that several scans need to be omitted for MS2-scans?
Basically the question (for DDA-experiments) simply condenses on how the scan numbering works:
How are the MS1-scans are numbered intrinsically?
How are the MS2-scans are numbered intrinsically?
By the way, what is the meaning of the columns lmin lmax? I could not find the meaning in the documentation of chromPeaks() ...
Thanks for an answer.
kind regards
Tony
5
XCMS / findChromPeaks-centWave {xcms} - Prefilter Settings and Code Documentation
I would like to inquire about the prefilter setting for the function findChromPeaks-centWave {xcms}.
I am using R 3.5.3. under Windows7 (64bit) with packageVersion("MSnbase") ‘2.8.3’ and packageVersion("xcms") ‘3.4.4’.
Concerning the prefilter-parameter, here the code documentation says:
CentWaveParam(ppm = 25, peakwidth = c(20, 50), snthresh = 10,
prefilter = c(3, 100), mzCenterFun = "wMean", integrate = 1L,
mzdiff = -0.001, fitgauss = FALSE, noise = 0,
verboseColumns = FALSE, roiList = list(),
firstBaselineCheck = TRUE, roiScales = numeric())
prefilter
numeric(2): c(k, I) specifying the prefilter step for the first analysis step (ROI detection). Mass traces are only retained if they contain at least k peaks with intensity >= I.
For this documentation/explanation, is the term "peak" right here, or is rather "scans" the more adequate word.
From my understanding of the documentation of the prefilter, a peak (consisting of several(10-20) scan points) has to have more than k scans of intensity I.
Is that right?
thanks
Tony
6
XCMS / Question regarding the plot-methods {MSnbase}, type = "XIC"
after having get acquainted with xcms, i.e. rather MSnbase, here specifically with regard to the wonderful plotting functions (plot-methods {MSnbase}) available in MSnbase, a question came up, which I am not able to solve by myself...
More specifically, I am referring to this adopted demo code available from:
plot-methods {MSnbase} - R Documentation
Plotting 'MSnExp' and 'Spectrum' object(s)
I am using R.3.5.3 under Windows7 with packageVersion("MSnbase") ‘2.8.3’ and packageVersion("xcms") ‘3.4.4’.
Here is the demo code (last 2 lines adopted):
## Load profile-mode LC-MS files
library(msdata)
od <- readMSData(dir(system.file("sciex", package = "msdata"),
full.names = TRUE), mode = "onDisk")
## Restrict the MS data to signal for serine
serine <- filterMz(filterRt(od, rt = c(175, 190)), mz = c(106.04, 106.06))
plot(serine, type = "XIC")
abline(v = 181.0, col = "red", lty = 2)
abline(h = 106.05, col = "red", lty = 2)
The question is: why are the two lines (vertival and horizontal) only drawn for the last sample and not for all samples?
I think this is related to the underling layout function used in this plot, i.e. plot(..., type = "XIC"), but I am not able to solve the problem by myself...
thanks
Tony