Group peaks from different samples together
group.nearest.Rd
Group peaks together across samples by creating a master peak list and assigning corresponding peaks from all samples. It is inspired by the alignment algorithm of mzMine. For further details check http://mzmine.sourceforge.net/ and
Katajamaa M, Miettinen J, Oresic M: MZmine: Toolbox for processing and visualization of mass spectrometry based molecular profile data. Bioinformatics (Oxford, England) 2006, 22:634?636.
Currently, there is no equivalent to minfrac
or minsamp
.
Examples
if (FALSE) library(xcms)
library(faahKO)
## These files do not have this problem to correct for
## but just for an example
cdfpath <- system.file("cdf", package = "faahKO")
cdffiles <- list.files(cdfpath, recursive = TRUE, full.names = TRUE)
xset<-xcmsSet(cdffiles)
gxset<-group(xset, method="nearest")
#> Processing sample number 8 ...
#> OK
#> Processing sample number 1 ...
#> OK
#> Processing sample number 7 ...
#> OK
#> Processing sample number 3 ...
#> OK
#> Processing sample number 12 ...
#> OK
#> Processing sample number 9 ...
#> OK
#> Processing sample number 6 ...
#> OK
#> Processing sample number 5 ...
#> OK
#> Processing sample number 4 ...
#> OK
#> Processing sample number 11 ...
#> OK
#> Processing sample number 10 ...
#> OK
nrow(gxset@groups) == 1096 ## the number of features before minFrac
#> [1] FALSE
post.minFrac<-function(object, minFrac=0.5){
ix.minFrac<-sapply(1:length(unique(sampclass(object))),
function(x, object, mf){
meta<-groups(object)
minFrac.idx<-numeric(length=nrow(meta))
idx<-which(
meta[,levels(sampclass(object))[x]] >=
mf*length(which(levels(sampclass(object))[x]
== sampclass(object)) ))
minFrac.idx[idx]<-1
return(minFrac.idx)
}, object, minFrac)
ix.minFrac<-as.logical(apply(ix.minFrac, 1, sum))
ix<-which(ix.minFrac == TRUE)
return(ix)
}
## using the above function we can get a post processing minFrac
idx<-post.minFrac(gxset)
gxset.post<-gxset ## copy the xcmsSet object
gxset.post@groupidx<-gxset@groupidx[idx]
gxset.post@groups<-gxset@groups[idx,]
nrow(gxset.post@groups) == 465 ## number of features after minFrac
#> [1] FALSE
# \dontrun{}