XCMS error after peak detection November 30, 2013, 01:36:31 PM Hi guysI try to process a LC_MS data set with XCMS using the so-called betonbox. I have used this approach with many data sets without any problem. With this particular data set the mining stops after the peak detection giving me the following errorError in checkForRemoteErrors(val) : 2 nodes produced errors; first error: m/z sort assumption violated ! (scan 1636, p 283, current 69.8206 (I=2.03), last 69.8243)I have attached a copy of the data processing parameteres i use. I know some of them may sound extreme for U(H)PLC data but I tried so many parametrs and alwasy get the same error messageDoes anyone has an idea or a possible solution to solve this problemThanksFilippos Quote Selected Last Edit: December 11, 2013, 10:08:41 AM by fmichopo
Re: XCMS error after peak detection Reply #1 – December 01, 2013, 03:36:27 PM Hi,this most likely has to do with the raw data conversion, I guess you have a waters instrument ?Check the forum for "m/z sort assumption violated"Yours,Steffen Quote Selected
Re: XCMS error after peak detection Reply #2 – December 09, 2013, 08:41:38 AM Hi StephenThanks for the reply. Yes the data has been created on a Waters system. I will follow the previous related posts and seek a solutionRegardsFilippos Quote Selected
Re: XCMS error after peak detection Reply #3 – December 12, 2013, 02:55:14 PM Hi SteffenI tried the code below, found on an earlier post by hpbenton to correct the problem I described earlier. It seems the code did not really do anything and the errror message is still there. checkAllcdfs<-function(Ftype="mzXML", nSlaves=1){ AllCDFs<-list.files(recursive=TRUE, pattern=Ftype, ignore.case=TRUE, full.names=TRUE) if(nSlaves >1){ if(require(snow)){ cl <- makeCluster(nSlaves, type = "SOCK") } clusterEvalQ(cl, library(xcms)) unlist(clusterApply(cl, AllCDFs, checkCDFfile)) stopCluster(cl) } else{ sapply(AllCDFs, checkCDFfile) cat("n") }}checkCDFfile<-function(file, type=".mzXML"){ cat("n") cat(paste("Loading File:", file, sep="")) xr<-xcmsRaw(file, profstep=0) for(i in 1:length(xr@scanindex)){ scan<-getScan(xr, scan=i) if(is.unsorted(scan[,"mz"]) == TRUE){ cat(" x ") newfile<-sub(type, "-Fixed.mzdata", file, ignore.case=TRUE) write.mzdata(xr, newfile) file.copy(file, sub(type, ".OLD", file, ignore.case=TRUE)) unlink(file) rm(list=ls()) gc() return(1) } if(i == length(xr@scanindex)){ cat(" O ") rm(list=ls()) gc() return(0) } }}Many thanksFilippos Quote Selected