Wow nicely done Jan! Yep the first one looks pretty random Whats that an R2 ~= 0 Never really found out exactly why the ratios are off so much. I guess this is why there is IRMS (isotope ratio mass specs). I tried (http://www.google.com/search?client=saf ... 8&oe=UTF-8) without much luck :p except for something on LC-IRMS on honey. What filtering did you do for your venn diagram, if you don't mind me asking and what significance level did you choose? Looking at the 3rd graph I'm assuming some intensity filter? The correlations across files, which CAMERA uses partly as part of it's scoring system, is only linear at higher intensities. This could also be messing up the decisions of what is and isn't an isotope.
Steffen had a great package Rdisop that was based on SIRUS (1). I used this package naively hoping that I could ID all of my compounds.
@ luoluopig : not sure that there is a way do to this in xcmsOnline. I haven't played with it lately. Best bet would be to import into R (or even excel) and find the CV's for your features from just the QC samples. Also make sure that if you're doing normalization that you do this afterwards. We have had some fun lately with that :-) . Code wise :
qc<-groupval(fill, "medret", "into")[,which(xcms:::phenoData(fill) == "QC")] # need the xcmsSet R object called fill otherwise
## ask for only the QC samples. I'm assuming that the QC samples were in a folder called 'QC'
dat<-read.table("MYFILE.tsv", sep="t", header=TRUE)
idx<-c(1,2,3,4,5,6)
## this needs to be the columns that your QC samples are from try looking at
colnames(dat)
## maybe there is something in here that can make it faster such as something like the following:
idx<- grep("QC", colnames(dat))
qc<-dat[,idx]
dim(qc)
## check the size is what you expect it to be!
cv<-apply(qc, 1, sd)/rowMeans(qc)
summary(cv)
## have a quick look at the distribution, tells you where your cut off will be
ix.cv<-which(cv < quantile(cv, na.rm=TRUE)[2]) # or
ix.cv<-which(cv < .20)
vals<-cbind(groups(fill), groupval(fill, "medret", "into"))[ix.cv,]
## then write out vals to a file
write.csv(vals, file="vals.csv")
(1) Sebastian Bo ?cker, Matthias Letzel, Zsuzsanna Lipta ?k, and Anton Pervukhin. SIRIUS: Decomposing isotope patterns for metabolite identification. Bioinformatics, 25(2):218–224, 2009. doi: 10.1093/ bioinformatics/btn603. URL http://bioinformatics.oxfordjournals.or ... l/25/2/218