Skip to main content

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 - hhabra

1
XCMS / Side/ Partial Peak artifacts
Hi All,
I was wondering if there is an existing processing/ post-processing solution for side/ partial peak XCMS artifacts.

The first concerns m/z traces that are typically different by 0.01-0.1 Daltons from the main peak and usually within 0.2 minutes (~12s). Example: Images 1 & 2 below.

The second concerns m/z traces often of equivalent m/z but within 0.3 minutes/ 20s from a particularly wide peak. Increasing my upper limit peakwidth did not seem to fix the issue. Maybe bw is too small? Example: images 3 & 4.

From reading previous forums on related topics, increasing mzdiff to as much as 0.1 helps eliminate overlapping mass trace peaks (at the expense of overlapping and poorly resolved isomer peaks), but side peaks of the nature described above remained. Playing with the prefilter option does help eliminate a lot of these, but again some still remain. The instrument used is an Agilent Q-TOF so I'm not sure if the discussion on Orbitrap shoulder peaks applies (though one forum from many years back mentioned that Agilent peaks have problems with ringing).

Basic details:
R version 3.5.3
XCMS version 3.4.4

Code: [Select]
mset <- xcmsSet("NEG_10", 
                method = "centWave",
                peakwidth       = c(5, 40),
                ppm             = 30,
                noise           = 100,
                snthresh        = 8,
                mzdiff          = 0.05,
                prefilter       = c(5, 500),
                mzCenterFun     = "wMean",
                integrate       = 2,
                fitgauss        = TRUE,
                verbose.columns = FALSE
)

mset2 <- retcor(mset,
                method  = "obiwarp",
                profStep = 1,
                center = 5)

mset2 <- group(
  mset2,
  method  = "density",
  bw      = 3,
  mzwid   = 0.05,
  minfrac = 0.5,
  minsamp = 1,
  max     = 50)

mset3 <- fillPeaks(mset2)

[attachment deleted by admin]
2
XCMS / Resolving Closely Related Structural Isomers
Hello,

Forgive me if a topic like this has been brought up before (though I looked and didn't find a satisfactory answer).

So I'm showing here a picture of one feature with median values mz = 232.1542 and RT = 171.41 s (2.8568 minutes).
It appears that this multipeak feature corresponds to a pair of closely related structural isomers: Butyrylcarnitine and Iso-Butyrylcarnitine. On a different preprocessing program (Agilent Profinder), they seemed to have been resolved with Iso-Butyrylcarnitine having retention time 2.85 minutes and Butyrylcarnitine having retention time 2.93 minutes.

So my question is are there possible ways for XCMS to resolve structural isomers such as this? What are my options if I'm really interested in identifying and quantifying such isomers?

I have included my code for consideration:

Code: [Select]
xset <- xcmsSet("stellaPOS2", 
  method = "centWave",
  peakwidth       = c(10, 40),
  ppm             = 30,
  noise           = 0,
  snthresh        = 6,
  mzdiff          = 0.01,
  prefilter       = c(3, 500),
  mzCenterFun     = "wMean",
  integrate       = 2,
  fitgauss        = FALSE,
  verbose.columns = FALSE)

xset <- retcor(xset,
  method   = "obiwarp",
  profstep = "0.5")

xset2 <- group(
  xset,
  method  = "density",
  bw      = 5,
  mzwid   = 0.033,
  minfrac = 0.5,
  minsamp = 1,
  max     = 50)

xset3 <- fillPeaks(xset2)

Thanks for any and all insight!







[attachment deleted by admin]
3
XCMS / mz > 1000
It appears that all mz's captured by XCMS are less than 1000, when other methods have found features with greater than 1000.  I'm wondering if it's possible to acquire metabolite features with mz > 1000 using XCMS.

Thanks to whoever can help!
4
XCMS / xcmsSet Usage in xMSanalyzer Package
Hello! So I am using other packages that make use of XCMS's wrapper function xcmsSet, but unfortunately I'm getting every time.

For example, when using the package xMSanalyzer, the first step is to use XCMS.align.centWave, which involves multiple uses of xcmsSet, with differing parameters for step, mzdiff, default values, snthresh, and max # of peaks per EIC. Now:

#this works just fine
xset <- xcms::xcmsSet("E:/AK/stellaPOS", method = "centWave",...)

#this gives an error:
xMSanalyzer::XCMS.align.centWave(cdfloc = "E:/AK/StellaPOS", XCMS.outloc = "stella_An")

The error is " No NetCDF/mzXML/mzData/mzML files were found." Which is so strange because I'm using the exact same directory!!! What gives?

The traceback() gives:
3: stop("No NetCDF/mzXML/mzData/mzML files were found.\n")
2: xcmsSet(cdf_files, method = "centWave", ppm = p, snthresh = t,
       mzdiff = m, peakwidth = peakwidth, prefilter = prefilter.list,
       integrate = 1, verbose.columns = TRUE, fitgauss = FALSE,
       nSlaves = nSlaves)
1: XCMS.align.centWave(cdfloc = "E:/AK/StellaPOS", XCMS.outloc = "stella_An")

Any help would be appreciated. Thank you!