Hello everyone, I am currently using CAMERA function for metabolite annotation. I know that CAMERA is directly working on the XCMS object and do the annotation based on the peaks after XCMS fillingpeaks. By calculating correlations within one sample and accross samples for peak grouping. But this correlation is done based on the peak intensity. In our case, we know that we have signal intensity drift within one analytical batch(220 samples) and even more serious intensity drifting between batches (8 batches). So I am worried that the correlation function cannot work well to group peak together. Do I misunderstand the CAMERA ? Any suggestions? Thanks a lot in advance and I am eager to hear ideas from you.
Hi everyone, I meet a very very strange situation! I use XCMS for peak detection in R version 3.2.2. Then I try to use the IPO package to optimize the grouping parameters. However, IPO is not available for R 3.2.2. In this case, I change my R to 3.0.3 version. Here, I get the optimized parameters of bw and mzwid after IPO. By using exactly same xcms object, as shown below: > hilicNEG_XS_re An "xcmsSet" object with 152 samples Time range: 3-749.6 seconds (0.1-12.5 minutes) Mass range: 34.9684-1599.6728 m/z Peaks: 1064740 (about 7005 per sample) Peak Groups: 0 Sample classes: Batch_A.QA, Batch_B.QB, Batch_C.QC, Batch_D.QD, Batch_E.QE, Batch_F.QF, Batch_G.QG, Batch_H.QH, Batch_A.Ref, Batch_B.Ref, Batch_C.Ref, Batch_D.Ref, Batch_E.Ref, Batch_F.Ref, Batch_G.Ref, Batch_H.Ref, Batch_A.SA, Batch_B.SB, Batch_C.SC, Batch_D.SD, Batch_E.SE, Batch_F.SF, Batch_G.SG, Batch_H.SH
Profile settings: method = bin step = 0.1
Memory usage: 92.2 MB If I DO GROUPING IN R VERSION 3.0.3, I have only 4850 groups, but I get Peak Groups: 16490 when I use VERSION 3.2.2!!!!!!!!!!! :shock: :shock: :shock: :shock: :shock: :shock: 1. VERSION 3.0.3 An "xcmsSet" object with 152 samples
Hi everyone, I use xcms for data processing obtained from LC-QTOF-MS. We analyzed samples in multiple batches due to the large amount of sample size. However, it seems that the batch effect on retention time is very severe. Specifically, I use the obiwarp funtion for retention time correction. If I seperate my XCMS object into differnt batches and do the retention time correction for each batch, based on the retention time deviation plot, I should set the bw is about 2 for grouping (retention time deviation is below 2). However, if I do the retention time correction for whole XCMS object (8 batches), the retention time deviation is over 15! Moreover, as you can see from the plot, according to the rmsd, as calculated as rmsd<-sapply(1:length(hilicNEG_XS_re@rt$corrected),function(x) {sqrt(sum((hilicNEG_XS_re@rt$raw[
]-hilicNEG_XS_re@rt$corrected[
])**2)/length(hilicNEG_XS_re@rt$corrected[
]))
}) the difference between batches is very obvious. So in this case, I am wondering, whther I use bw=15 as indicated as the retention time deviation plot accross whole batches, or bw =3 as indicated as the retention time deviation plot for one batch, features would be miss aligned!! How can I deal with this sitiuation?? Thank you in advance for valuable suggestions !!!!
Hi everyone, Interactive multigroup cloud plot seems to be a great way to visualize global untargeted metabolomic data. It can be done in XCMS online. However, I have a large sample size, around 2000 samples, and I am using R based XCMS for processing all the data set. I am wondering, are there any R codes available for making this kind of plot by using the data set obtained from XCMS? Looking forward to all kind suggestions.
Hi Jan, Thank you so much for making a lot of things clear for me!! I will turn calcCIS off and see what will happen. For statistics, so far I am using a in-house developed multilevel PLS model with repeated double cross validation. So I think this model is robust and properly validated. 40% the VIP features are nice and real peaks. I need to double check these. Sorry that I cannot answer all your questions but they are very useful!! Sample preparation and sampling are randomized properly. We use the HPLC-qTOF-MS system (Agilent Technologies), which consisted of a 1290 LC system, a Jetstream electrospray ionization (ESI) source, and a 6540UHD accurate- mass qTOF spectrometer. Regarding the peak picking, I tested different parameters of XCMS and also applied IPO for optimization. And also I referred to the suggested values based on the XCMS online version and from several publications. So the parameters of my XCMS are assumed as optimized values. For reversed phase, the peakwidth is larger in my case.
Thank you again for helping me so much. Best regards, Lin
Hi Jan, Thank you so much for help. I have attached the file with my explanation why we choose the cor_exp_th 0.4 and also the plot of pcgroups when I increase the cor_exp_th. I hope you could have a look. I have large sample size, more than 1000 samples. I have more than 3000 pcgroups but 70% of them have really bad EICs. Some of them are not even real peak. And only one ion has been involved in one pcgroup. However, several features are the VIP features after my PLS model. In this case, how could I identify them? As you mentioned before, you use CAMERA after statistics. Do you mean that you use all the well behaved and reproducible features after XCMS for statistics ? Many features after XCMS belong to one compound. In model, isotope, adduct and other fragments from same compound will contribute together. Do you think it will increase the chance of overfitting the multi statistical model? I have not tried the lpc function so far. I have no idea how it works but I am trying. Thank you again for your kind help. Best regards, Lin
Dear all, I currently working on an untargeted LC MS metabolomics project. I have analysed plasma samples in 4 different modes, namely hilic positive mode and hilic negative mode, reversed phase positive mode and reversed phase negative mode. I use XCMS for peak picking and alignment and the CAMERA for ion annotation. However, I could not trust the psudospectra information obtained from CAMERA. Here I show you the example. For hilic negative mode: XCMS: AhilicNEG_Xcset<- xcmsSet(AhilicNEG, method="centWave", peakwidth=c(5, 20), ppm=15, snthresh=6, mzdiff=0.01, prefilter=c(3,100), mzCenterFun="wMean", integrate=1) AhilicNEG_re=retcor(AhilicNEG_Xcset,method="obiwarp",profStep=1,gapInit=0.296,gapExtend=2.4) AhilicNEG_gr=group(AhilicNEG_re,method="density",bw=3,mzwid=0.0234,minfrac=0.1,minsamp=1,max=50) AhilicNEG_peaks=fillPeaks(AhilicNEG_gr) CAMERA: cameraAhilicNEG_peaks=xsAnnotate(AhilicNEG_peaks) cameraAhilicNEG_peaks_FWHM=groupFWHM(cameraAhilicNEG_peaks,sigma=6, perfwhm=0.4) cameraAhilicNEG_peaks_ISO=findIsotopes(cameraAhilicNEG_peaks_FWHM,maxcharge=3, maxiso=4, minfrac=0.5,ppm=10, mzabs=0.015) cameraAhilicNEG_peaks_GC=groupCorr(cameraAhilicNEG_peaks_ISO,cor_eic_th=0.7,cor_exp_th=0.4,pval=0.001,calcCiS=TRUE,calcIso=TRUE, calcCaS=TRUE, graphMethod="hcs") cameraAhilicNEG_peaks_ADD=findAdducts(cameraAhilicNEG_peaks_GC, ppm=10, mzabs=0.015, multiplier=3,polarity="negative", rules=NULL, max_peaks=100) cameraAhilicNEG_peaks_peaklist=getPeaklist(cameraAhilicNEG_peaks_ADD) However, I get the result and I am not sure whether I can trust the CAMERA result in this case. I am sorry to bother you with the long Email but I am sincerely very eager to get your suggestion and help. And your help definitely will facilitate to make progress of my ongoing project!!
I have shown you some of results as below: psgroup EICs have been uploaded as attachments. 174 features belonging to pcgroup 2 49 features belong to pcgroup 3 Even worse, 688 features belong to 9 pcgroup And the other example is , these three features come out at similar retention time but have been separated into three pcgroup as you can see below. pcgroup m/z rt 2026 [119][M]- 543 229.0538 229.0509 229.0551 26.88 2037 [119][M+1]- 544 230.0575 230.0555 230.059 26.88 2061 [119][M+2]- 545 231.0338 231.0323 231.0357 26.28
How could I optimize the parameters of CAMERA or even XCMS to get the well-defined psgroup information for ion annotation? I am very confused. I am looking forward to have your comments on these!