Skip to main content
Topic: RT correction_ 3 minutes (Read 3388 times) previous topic - next topic

RT correction_ 3 minutes

I have two sets of untargeted metabolomics data and they have RT shift of around 3 minutes between them. Is it possible to correct them using XCMS? 

 

Re: RT correction_ 3 minutes

Reply #1
Hi Sanju,
depending on data, this should be possible. Some questions: What Chromatography / gradient are you using ?
What MS are you using ? Is it random shifts of up to 3mins all over the samples , or did something happen (column change) and all remaining samples are shifted by three minutes ? Yours, Steffen
--
IPB Halle                          Mass spectrometry & Bioinformatics
Dr. Steffen Neumann         http://www.IPB-Halle.DE
Weinberg 3 06120 Halle     Tel. +49 (0) 345 5582 - 1470
sneumann(at)IPB-Halle.DE

Re: RT correction_ 3 minutes

Reply #2
Thank you very much for reply.
LCMS, HSS T3 waters coloumn and data is acquired on Fusion orbitrap. This may be because of column change but shift is not fixed to 3 minutes, maximum shift is 3 min and gradual changes over the acquisition time in different sample. 
For RT correction in XCMS what parameter will be critical to correct this shift? Can I visualize (XIC) one of the added standards just after alignment to confirm and tune if needed? 

Re: RT correction_ 3 minutes

Reply #3
ok, so general strategy I'd recommend is to first have very lax parameters
for the group()ing and retcor() to see which samples have what shift.
If you say column change, one way would've been to identify the samples
affected, and correct/modify retention times based on the prior knowledge
about the sample shift. Since you say gradual changes over acquisition time,
you need the "normal" xcms way to correct.

So, initial step is group(), make sure your bw is big enough to cover
the whole expected shifts. Problem with large bw are false positives,
where peaks are put together that should not. But OK for initial
RT correction guesstimate. Then you can use plotQC(xcmsSet, what=""),
the last plot will give you the estimated RT shift per sample.
If you retcor() with plottype="mdevden’", you can see how your landmark
peaks are distributed across the gradient, and whether the correction looks
good or erroneous. You can also look at https://github.com/sneumann/IPB-2014-01/blob/master/IPB-2014-01.rmd#retention-time-outlier-visualisation
for a clustering based on RT behaviour.

There is no ready-made snippet for visualising the shifts of your spiked standard,
but I would expect some people have something like that done.
You need some code like the one used in the plotQC: https://github.com/sneumann/xcms/blob/devel/R/plotQC.R#L159


Yours,
Steffen




--
IPB Halle                          Mass spectrometry & Bioinformatics
Dr. Steffen Neumann         http://www.IPB-Halle.DE
Weinberg 3 06120 Halle     Tel. +49 (0) 345 5582 - 1470
sneumann(at)IPB-Halle.DE