comparison lib.r @ 17:3bd1e74d4abc draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit b3ba169290fd2e40dafe167f345106c1c3da3ebe
author lecorguille
date Wed, 08 Feb 2017 04:36:13 -0500
parents 20a75ba4345b
children 8e740205c907
comparison
equal deleted inserted replaced
16:20a75ba4345b 17:3bd1e74d4abc
25 return (variableMetadata) 25 return (variableMetadata)
26 } 26 }
27 27
28 #@author G. Le Corguille 28 #@author G. Le Corguille
29 #This function format ions identifiers 29 #This function format ions identifiers
30 formatIonIdentifiers <- function(dataData, numDigitsRT=0, numDigitsMZ=0) { 30 formatIonIdentifiers <- function(variableMetadata, numDigitsRT=0, numDigitsMZ=0) {
31 return(make.unique(paste0("M",round(dataData[,"mz"],numDigitsMZ),"T",round(dataData[,"rt"],numDigitsRT)))) 31 splitDeco = strsplit(as.character(variableMetadata$name),"_")
32 idsDeco = sapply(splitDeco, function(x) { deco=unlist(x)[2]; if (is.na(deco)) return ("") else return(paste0("_",deco)) })
33 namecustom = make.unique(paste0("M",round(variableMetadata[,"mz"],numDigitsMZ),"T",round(variableMetadata[,"rt"],numDigitsRT),idsDeco))
34 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))])
35 return(variableMetadata)
32 } 36 }
33 37
34 #@author G. Le Corguille 38 #@author G. Le Corguille
35 # value: intensity values to be used into, maxo or intb 39 # value: intensity values to be used into, maxo or intb
36 getPeaklistW4M <- function(xset, intval="into",convertRTMinute=F,numDigitsMZ=4,numDigitsRT=0,variableMetadataOutput,dataMatrixOutput) { 40 getPeaklistW4M <- function(xset, intval="into",convertRTMinute=F,numDigitsMZ=4,numDigitsRT=0,variableMetadataOutput,dataMatrixOutput) {
37 groups <- xset@groups 41 variableMetadata_dataMatrix = peakTable(xset, method="medret", value=intval)
38 values <- groupval(xset, "medret", value=intval) 42 variableMetadata_dataMatrix = cbind(name=groupnames(xset),variableMetadata_dataMatrix)
39 43
40 # renamming of the column rtmed to rt to fit with camera peaklist function output 44 dataMatrix = variableMetadata_dataMatrix[,(make.names(colnames(variableMetadata_dataMatrix)) %in% c("name", make.names(sampnames(xset))))]
41 colnames(groups)[colnames(groups)=="rtmed"] <- "rt" 45
42 colnames(groups)[colnames(groups)=="mzmed"] <- "mz" 46 variableMetadata = variableMetadata_dataMatrix[,!(make.names(colnames(variableMetadata_dataMatrix)) %in% c(make.names(sampnames(xset))))]
43 47 variableMetadata = RTSecondToMinute(variableMetadata, convertRTMinute)
44 ids <- formatIonIdentifiers(groups, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ) 48 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ)
45 groups = RTSecondToMinute(groups, convertRTMinute) 49
46 50 write.table(variableMetadata, file=variableMetadataOutput,sep="\t",quote=F,row.names=F)
47 rownames(groups) = ids 51 write.table(dataMatrix, file=dataMatrixOutput,sep="\t",quote=F,row.names=F)
48 rownames(values) = ids
49
50 #@TODO: add "name" as the first column name
51 #colnames(groups)[1] = "name"
52 #colnames(values)[1] = "name"
53
54 write.table(groups, file=variableMetadataOutput,sep="\t",quote=F,row.names = T,col.names = NA)
55 write.table(values, file=dataMatrixOutput,sep="\t",quote=F,row.names = T,col.names = NA)
56 } 52 }
57 53
58 #@author Y. Guitton 54 #@author Y. Guitton
59 getBPC <- function(file,rtcor=NULL, ...) { 55 getBPC <- function(file,rtcor=NULL, ...) {
60 object <- xcmsRaw(file) 56 object <- xcmsRaw(file)