Skip to main content
Topic: Targeted Peak Picking (Read 5499 times) previous topic - next topic

Targeted Peak Picking

I have a list of compounds of interest and monoisotopic masses, which i've been using to look for in HPLC-MS data with XCMS. I've done something really simple, just load each sample as a xcmsRaw class, then use the getEIC method, with rtrange spanning the whole run and the mzrange around the expected m/z for the polarity used and a small tolerance. I iterate through the list and print a PDF that allows for visual inspection of what might be there or definitely isn't... I've also did an unbiased peak picking, which found a lot of peaks, but at this point I only care about the ones in my initial list. What I want to do is a more formal targeted peak detection, automatically finding peaks with a reasonable SNR, shape, etc., but only retaining those that have a chance of being something in my list. My data is centroided, so I would be using centWave. What's ocurring me now is something like getting all the peaks normally and then filtering from the EICs matrix the peaks within a certain tolerance of the values in my list.
As anyone tried something like this? Ideas, suggestions, etc?

Thanks in advance!

 

Re: Targeted Peak Picking

Reply #1
It seems you are generally able to write R scripts so here is just a small hint:

in your xcmsSet object you have the mass for each feature in:
xset@groups[,"mzmed"]

Simple make a loop that runs through each mass in your target list and mark which feature gives a hit.
Something like:
Code: [Select]
(abs(xset@groups[,"mzmed"]-mass[i])/mass[i])*1E6 < ppm_tol

would give you a logical vector for each target mass giving you the possible location of the target.
I didn't test this but that would be the general easy way.

If you only have a single sample you could use xset@peaks instead that have additional columns you could use for filtering:
Code: [Select]
into	
integrated peak intensity

intb
baseline corrected integrated peak intensity

maxo
maximum peak intensity

sn
Signal/Noise ratio, defined as (maxo - baseline)/sd, where
maxo is the maximum peak intensity,
baseline the estimated baseline value and
sd the standard deviation of local chromatographic noise.
Blog: stanstrup.github.io

Re: Targeted Peak Picking

Reply #2
Thanks!

I ended up following a similar approach. I'm now trying to add CAMERA to improve the quality of the process and playing around with the raw data to see how similar the results are.