Mercurial > repos > lecorguille > xcms_fillpeaks
comparison lib.r @ 19:7b74ec867ad2 draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 717c02f887ce343ca55f862c8020aaf49f5581d8
| author | lecorguille |
|---|---|
| date | Wed, 08 Feb 2017 05:27:41 -0500 |
| parents | 65dc5e8b53f7 |
| children | 02bb34af0921 |
comparison
equal
deleted
inserted
replaced
| 18:65dc5e8b53f7 | 19:7b74ec867ad2 |
|---|---|
| 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(variableMetadata, numDigitsRT=0, numDigitsMZ=0) { | 30 formatIonIdentifiers <- function(dataData, numDigitsRT=0, numDigitsMZ=0) { |
| 31 splitDeco = strsplit(as.character(variableMetadata$name),"_") | 31 return(make.unique(paste0("M",round(dataData[,"mz"],numDigitsMZ),"T",round(dataData[,"rt"],numDigitsRT)))) |
| 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) | |
| 36 } | 32 } |
| 37 | 33 |
| 38 #@author G. Le Corguille | 34 #@author G. Le Corguille |
| 39 # value: intensity values to be used into, maxo or intb | 35 # value: intensity values to be used into, maxo or intb |
| 40 getPeaklistW4M <- function(xset, intval="into",convertRTMinute=F,numDigitsMZ=4,numDigitsRT=0,variableMetadataOutput,dataMatrixOutput) { | 36 getPeaklistW4M <- function(xset, intval="into",convertRTMinute=F,numDigitsMZ=4,numDigitsRT=0,variableMetadataOutput,dataMatrixOutput) { |
| 41 variableMetadata_dataMatrix = peakTable(xset, method="medret", value=intval) | 37 groups <- xset@groups |
| 42 variableMetadata_dataMatrix = cbind(name=groupnames(xset),variableMetadata_dataMatrix) | 38 values <- groupval(xset, "medret", value=intval) |
| 43 | 39 |
| 44 dataMatrix = variableMetadata_dataMatrix[,(make.names(colnames(variableMetadata_dataMatrix)) %in% c("name", make.names(sampnames(xset))))] | 40 # renamming of the column rtmed to rt to fit with camera peaklist function output |
| 45 | 41 colnames(groups)[colnames(groups)=="rtmed"] <- "rt" |
| 46 variableMetadata = variableMetadata_dataMatrix[,!(make.names(colnames(variableMetadata_dataMatrix)) %in% c(make.names(sampnames(xset))))] | 42 colnames(groups)[colnames(groups)=="mzmed"] <- "mz" |
| 47 variableMetadata = RTSecondToMinute(variableMetadata, convertRTMinute) | 43 |
| 48 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ) | 44 ids <- formatIonIdentifiers(groups, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ) |
| 49 | 45 groups = RTSecondToMinute(groups, convertRTMinute) |
| 50 write.table(variableMetadata, file=variableMetadataOutput,sep="\t",quote=F,row.names=F) | 46 |
| 51 write.table(dataMatrix, file=dataMatrixOutput,sep="\t",quote=F,row.names=F) | 47 rownames(groups) = ids |
| 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) | |
| 52 } | 56 } |
| 53 | 57 |
| 54 #@author Y. Guitton | 58 #@author Y. Guitton |
| 55 getBPC <- function(file,rtcor=NULL, ...) { | 59 getBPC <- function(file,rtcor=NULL, ...) { |
| 56 object <- xcmsRaw(file) | 60 object <- xcmsRaw(file) |
