First time trying to use feature detection in XCMS so please forgive me if I am doing something silly.
LCMS data recoded on Orbitrap Elite with MS1 recorded in FTMS and then Top10 MS2 in the ITMS
I convert my Raw file to mzxml with msconvert
I then import into XCMS as follows
xrmsn <- xcmsRaw(filename="myfile.mzXML", includeMSn=TRUE)
xr <- msn2xcmsRaw(xrmsn)
I then try to find peaks with centwave
p <-findPeaks.centWave(xr, ppm=25, peakwidth=c(2,70), snthresh=10, prefilter=c(3,1000), mzCenterFun="wMean", integrate=1, mzdiff=-0.001, fitgauss=FALSE, scanrange= numeric(), sleep=0, verbose.columns=FALSE, ROI.list=list())
And I get the following
Detecting mass traces at 25 ppm ...
% finished: 0 10 20 30 40 50 60 70 80 90 100
0 m/z ROI's.
No ROIs found !
If i increase the eror to 500ppm
Detecting mass traces at 500 ppm ...
% finished: 0 10 20 30 40 50 60 70 80 90 100
2801 m/z ROI's.
Detecting chromatographic peaks ...
% finished: 0 10 20 30 40 50 60 70 80 90 100
624 Peaks.
But the raw data itself is fine and certainly not drifting around by 500ppm!
If I pull up one of the peaks it looks like ....
p[1,]
mz mzmin mzmax rt rtmin rtmax
133.0115 132.9754 133.0240 14.1267 12.7792 14.7760
into intb maxo sn
9091.3612 8931.8760 13151.5371 35.0000
which is ridiculous as my MS1 is acquired over 160-2000 - i.e. I don't even start at 133Da
So i presume it is trying to do peak finding on the MS2 data?
How do I extract features from the MS1?
ta
Chris
Did you try looking at your mzXML file in for example mzmine to understand what is in your scans? Do your scans only contain the MS1 data? I would guess that they might alternative between the MS1 and MS2 making the data a bit none-sense. The fact that you need msn2xcmsRaw indicate this.
As far as I remember the solution is to add --filter "msLevel 1" in msconvert. Then you shouldn't need msn2xcmsRaw and you can use xcmsSet normally instead of xcmsRaw + findPeaks.
Also I would be a bit concerned about the number of scans over each peak in your MS1 when you do this many MS2's at the same time. It might not be easy to quantify or even finds the peaks if there are very few scans over each peak.
If the data is in fact with very few scans per peak you might have better luck with matchedFilter than with centWave.
Hi, does it mean I can use matchedFilter for centroid mode?
In fact it is only for centroid mode --> viewtopic.php?f=24&t=278&start=10#p2409 (http://www.metabolomics-forum.com/viewtopic.php?f=24&t=278&start=10#p2409)