annotate lib.r @ 1:86ff4497b871 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 49203f8a5271fa5e6bb889e907df71ebf7757309
author lecorguille
date Thu, 08 Mar 2018 05:52:12 -0500
parents fe1f0f16d9e6
children e6fdadaf039e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
1 #@authors ABiMS TEAM, Y. Guitton
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
2 # lib.r for Galaxy Workflow4Metabolomics xcms tools
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
3
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
4 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
5 # solve an issue with batch if arguments are logical TRUE/FALSE
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
6 parseCommandArgs <- function(...) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
7 args <- batch::parseCommandArgs(...)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
8 for (key in names(args)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
9 if (args[key] %in% c("TRUE","FALSE"))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
10 args[key] = as.logical(args[key])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
11 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
12 return(args)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
13 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
14
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
15 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
16 # This function will
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
17 # - load the packages
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
18 # - display the sessionInfo
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
19 loadAndDisplayPackages <- function(pkgs) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
20 for(pkg in pkgs) suppressPackageStartupMessages( stopifnot( library(pkg, quietly=TRUE, logical.return=TRUE, character.only=TRUE)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
21
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
22 sessioninfo = sessionInfo()
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
23 cat(sessioninfo$R.version$version.string,"\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
24 cat("Main packages:\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
25 for (pkg in names(sessioninfo$otherPkgs)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
26 cat("Other loaded packages:\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
27 for (pkg in names(sessioninfo$loadedOnly)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
28 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
29
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
30 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
31 # This function convert if it is required the Retention Time in minutes
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
32 RTSecondToMinute <- function(variableMetadata, convertRTMinute) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
33 if (convertRTMinute){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
34 #converting the retention times (seconds) into minutes
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
35 print("converting the retention times into minutes in the variableMetadata")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
36 variableMetadata[,"rt"] <- variableMetadata[,"rt"]/60
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
37 variableMetadata[,"rtmin"] <- variableMetadata[,"rtmin"]/60
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
38 variableMetadata[,"rtmax"] <- variableMetadata[,"rtmax"]/60
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
39 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
40 return (variableMetadata)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
41 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
42
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
43 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
44 # This function format ions identifiers
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
45 formatIonIdentifiers <- function(variableMetadata, numDigitsRT=0, numDigitsMZ=0) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
46 splitDeco <- strsplit(as.character(variableMetadata$name),"_")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
47 idsDeco <- sapply(splitDeco, function(x) { deco=unlist(x)[2]; if (is.na(deco)) return ("") else return(paste0("_",deco)) })
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
48 namecustom <- make.unique(paste0("M",round(variableMetadata[,"mz"],numDigitsMZ),"T",round(variableMetadata[,"rt"],numDigitsRT),idsDeco))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
49 variableMetadata <- cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
50 return(variableMetadata)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
51 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
52
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
53 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
54 # Draw the plotChromPeakDensity 3 per page in a pdf file
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
55 getPlotChromPeakDensity <- function(xdata, mzdigit=4) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
56 pdf(file="plotChromPeakDensity.pdf", width=16, height=12)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
57
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
58 par(mfrow = c(3, 1), mar = c(4, 4, 1, 0.5))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
59
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
60 group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
61 names(group_colors) <- unique(xdata$sample_group)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
62
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
63 xlim <- c(min(featureDefinitions(xdata)$rtmin), max(featureDefinitions(xdata)$rtmax))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
64 for (i in 1:nrow(featureDefinitions(xdata))) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
65 mzmin = featureDefinitions(xdata)[i,]$mzmin
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
66 mzmax = featureDefinitions(xdata)[i,]$mzmax
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
67 plotChromPeakDensity(xdata, mz=c(mzmin,mzmax), col=group_colors, pch=16, xlim=xlim, main=paste(round(mzmin,mzdigit),round(mzmax,mzdigit)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
68 legend("topright", legend=names(group_colors), col=group_colors, cex=0.8, lty=1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
69 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
70
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
71 dev.off()
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
72 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
73
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
74 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
75 # Draw the plotChromPeakDensity 3 per page in a pdf file
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
76 getPlotAdjustedRtime <- function(xdata) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
77
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
78 pdf(file="raw_vs_adjusted_rt.pdf", width=16, height=12)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
79
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
80 # Color by group
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
81 group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
82 names(group_colors) <- unique(xdata$sample_group)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
83 plotAdjustedRtime(xdata, col = group_colors[xdata$sample_group])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
84 legend("topright", legend=names(group_colors), col=group_colors, cex=0.8, lty=1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
85
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
86 # Color by sample
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
87 plotAdjustedRtime(xdata, col = rainbow(length(xdata@phenoData@data$sample_name)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
88 legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
89
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
90 dev.off()
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
91 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
92
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
93 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
94 # value: intensity values to be used into, maxo or intb
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
95 getPeaklistW4M <- function(xdata, intval="into", convertRTMinute=F, numDigitsMZ=4, numDigitsRT=0, variableMetadataOutput, dataMatrixOutput) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
96 dataMatrix <- featureValues(xdata, method="medret", value=intval)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
97 colnames(dataMatrix) <- tools::file_path_sans_ext(colnames(dataMatrix))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
98 dataMatrix = cbind(name=groupnamesW4M(xdata), dataMatrix)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
99 variableMetadata <- featureDefinitions(xdata)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
100 colnames(variableMetadata)[1] = "mz"; colnames(variableMetadata)[4] = "rt"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
101 variableMetadata = data.frame(name=groupnamesW4M(xdata), variableMetadata)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
102
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
103 variableMetadata <- RTSecondToMinute(variableMetadata, convertRTMinute)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
104 variableMetadata <- formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
105
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
106 write.table(variableMetadata, file=variableMetadataOutput,sep="\t",quote=F,row.names=F)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
107 write.table(dataMatrix, file=dataMatrixOutput,sep="\t",quote=F,row.names=F)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
108
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
109 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
110
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
111 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
112 getPlotChromatogram <- function(xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
113
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
114 chrom <- chromatogram(xdata, aggregationFun = aggregationFun)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
115 if (aggregationFun == "sum")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
116 type="Total Ion Chromatograms"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
117 else
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
118 type="Base Peak Intensity Chromatograms"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
119
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
120 adjusted="Raw"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
121 if (hasAdjustedRtime(xdata))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
122 adjusted="Adjusted"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
123
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
124 main <- paste(type,":",adjusted,"data")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
125
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
126 pdf(pdfname, width=16, height=10)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
127
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
128 # Color by group
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
129 group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
130 names(group_colors) <- unique(xdata$sample_group)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
131 plot(chrom, col = group_colors[chrom$sample_group], main=main)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
132 legend("topright", legend=names(group_colors), col=group_colors, cex=0.8, lty=1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
133
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
134 # Color by sample
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
135 plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
136 legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
137
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
138 dev.off()
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
139 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
140
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
141 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
142 getPlotTICs <- function(xdata, pdfname="TICs.pdf") {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
143 getPlotChromatogram(xdata, pdfname, aggregationFun = "sum")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
144 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
145
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
146 #@author G. Le Corguille
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
147 getPlotBPIs <- function(xdata, pdfname="BPIs.pdf") {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
148 getPlotChromatogram(xdata, pdfname, aggregationFun = "max")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
149 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
150
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
151
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
152 # Get the polarities from all the samples of a condition
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
153 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
154 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
155 getSampleMetadata <- function(xdata=NULL, sampleMetadataOutput="sampleMetadata.tsv") {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
156 cat("Creating the sampleMetadata file...\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
157
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
158 #Create the sampleMetada dataframe
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
159 sampleMetadata <- xdata@phenoData@data
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
160 rownames(sampleMetadata) <- NULL
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
161 colnames(sampleMetadata) <- c("sampleMetadata", "class")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
162
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
163 sampleNamesOrigin <- sampleMetadata$sampleMetadata
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
164 sampleNamesMakeNames <- make.names(sampleNamesOrigin)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
165
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
166 if (any(duplicated(sampleNamesMakeNames))) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
167 write("\n\nERROR: Usually, R has trouble to deal with special characters in its column names, so it rename them using make.names().\nIn your case, at least two columns after the renaming obtain the same name, thus XCMS will collapse those columns per name.", stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
168 for (sampleName in sampleNamesOrigin) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
169 write(paste(sampleName,"\t->\t",make.names(sampleName)),stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
170 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
171 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
172 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
173
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
174 if (!all(sampleNamesOrigin == sampleNamesMakeNames)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
175 cat("\n\nWARNING: Usually, R has trouble to deal with special characters in its column names, so it rename them using make.names()\nIn your case, one or more sample names will be renamed in the sampleMetadata and dataMatrix files:\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
176 for (sampleName in sampleNamesOrigin) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
177 cat(paste(sampleName,"\t->\t",make.names(sampleName),"\n"))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
178 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
179 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
180
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
181 sampleMetadata$sampleMetadata <- sampleNamesMakeNames
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
182
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
183
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
184 #For each sample file, the following actions are done
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
185 for (fileIdx in 1:length(fileNames(xdata))) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
186 #Check if the file is in the CDF format
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
187 if (!mzR:::netCDFIsFile(fileNames(xdata))) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
188
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
189 # If the column isn't exist, with add one filled with NA
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
190 if (is.null(sampleMetadata$polarity)) sampleMetadata$polarity <- NA
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
191
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
192 #Extract the polarity (a list of polarities)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
193 polarity <- fData(xdata)[fData(xdata)$fileIdx == fileIdx,"polarity"]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
194 #Verify if all the scans have the same polarity
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
195 uniq_list <- unique(polarity)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
196 if (length(uniq_list)>1){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
197 polarity <- "mixed"
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
198 } else {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
199 polarity <- as.character(uniq_list)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
200 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
201
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
202 #Set the polarity attribute
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
203 sampleMetadata$polarity[fileIdx] <- polarity
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
204 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
205
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
206 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
207
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
208 write.table(sampleMetadata, sep="\t", quote=FALSE, row.names=FALSE, file=sampleMetadataOutput)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
209
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
210 return(list("sampleNamesOrigin"=sampleNamesOrigin, "sampleNamesMakeNames"=sampleNamesMakeNames))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
211
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
212 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
213
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
214
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
215 # This function check if xcms will found all the files
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
216 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
217 checkFilesCompatibilityWithXcms <- function(directory) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
218 cat("Checking files filenames compatibilities with xmcs...\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
219 # WHAT XCMS WILL FIND
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
220 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
221 filepattern <- paste(paste("\\.", filepattern, "$", sep=""),collapse="|")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
222 info <- file.info(directory)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
223 listed <- list.files(directory[info$isdir], pattern=filepattern, recursive=TRUE, full.names=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
224 files <- c(directory[!info$isdir], listed)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
225 files_abs <- file.path(getwd(), files)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
226 exists <- file.exists(files_abs)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
227 files[exists] <- files_abs[exists]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
228 files[exists] <- sub("//","/",files[exists])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
229
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
230 # WHAT IS ON THE FILESYSTEM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
231 filesystem_filepaths <- system(paste0("find \"$PWD/",directory,"\" -not -name '\\.*' -not -path '*conda-env*' -type f -name \"*\""), intern=T)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
232 filesystem_filepaths <- filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
233
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
234 # COMPARISON
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
235 if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
236 write("\n\nERROR: List of the files which will not be imported by xcmsSet",stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
237 write(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
238 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
239 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
240 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
241
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
242
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
243 #This function list the compatible files within the directory as xcms did
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
244 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
245 getMSFiles <- function (directory) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
246 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
247 filepattern <- paste(paste("\\.", filepattern, "$", sep=""),collapse="|")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
248 info <- file.info(directory)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
249 listed <- list.files(directory[info$isdir], pattern=filepattern,recursive=TRUE, full.names=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
250 files <- c(directory[!info$isdir], listed)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
251 exists <- file.exists(files)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
252 files <- files[exists]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
253 return(files)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
254 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
255
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
256 # This function check if XML contains special caracters. It also checks integrity and completness.
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
257 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
258 checkXmlStructure <- function (directory) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
259 cat("Checking XML structure...\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
260
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
261 cmd <- paste0("IFS=$'\n'; for xml in $(find '",directory,"' -not -name '\\.*' -not -path '*conda-env*' -type f -iname '*.*ml*'); do if [ $(xmllint --nonet --noout \"$xml\" 2> /dev/null; echo $?) -gt 0 ]; then echo $xml;fi; done;")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
262 capture <- system(cmd, intern=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
263
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
264 if (length(capture)>0){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
265 #message=paste("The following mzXML or mzML file is incorrect, please check these files first:",capture)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
266 write("\n\nERROR: The following mzXML or mzML file(s) are incorrect, please check these files first:", stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
267 write(capture, stderr())
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
268 stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
269 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
270
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
271 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
272
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
273
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
274 # This function check if XML contain special characters
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
275 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
276 deleteXmlBadCharacters<- function (directory) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
277 cat("Checking Non ASCII characters in the XML...\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
278
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
279 processed <- F
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
280 l <- system( paste0("find '",directory, "' -not -name '\\.*' -not -path '*conda-env*' -type f -iname '*.*ml*'"), intern=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
281 for (i in l){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
282 cmd <- paste("LC_ALL=C grep '[^ -~]' \"", i, "\"", sep="")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
283 capture <- suppressWarnings(system(cmd, intern=TRUE))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
284 if (length(capture)>0){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
285 cmd <- paste("perl -i -pe 's/[^[:ascii:]]//g;'",i)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
286 print( paste("WARNING: Non ASCII characters have been removed from the ",i,"file") )
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
287 c <- system(cmd, intern=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
288 capture <- ""
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
289 processed <- T
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
290 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
291 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
292 if (processed) cat("\n\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
293 return(processed)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
294 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
295
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
296
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
297 # This function will compute MD5 checksum to check the data integrity
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
298 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
299 getMd5sum <- function (directory) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
300 cat("Compute md5 checksum...\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
301 # WHAT XCMS WILL FIND
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
302 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
303 filepattern <- paste(paste("\\.", filepattern, "$", sep=""),collapse="|")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
304 info <- file.info(directory)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
305 listed <- list.files(directory[info$isdir], pattern=filepattern, recursive=TRUE, full.names=TRUE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
306 files <- c(directory[!info$isdir], listed)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
307 exists <- file.exists(files)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
308 files <- files[exists]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
309
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
310 library(tools)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
311
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
312 #cat("\n\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
313
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
314 return(as.matrix(md5sum(files)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
315 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
316
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
317
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
318 # This function get the raw file path from the arguments
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
319 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
320 getRawfilePathFromArguments <- function(singlefile, zipfile, args) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
321 if (!is.null(args$zipfile)) zipfile <- args$zipfile
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
322 if (!is.null(args$zipfilePositive)) zipfile <- args$zipfilePositive
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
323 if (!is.null(args$zipfileNegative)) zipfile <- args$zipfileNegative
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
324
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
325 if (!is.null(args$singlefile_galaxyPath)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
326 singlefile_galaxyPaths <- args$singlefile_galaxyPath;
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
327 singlefile_sampleNames <- args$singlefile_sampleName
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
328 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
329 if (!is.null(args$singlefile_galaxyPathPositive)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
330 singlefile_galaxyPaths <- args$singlefile_galaxyPathPositive;
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
331 singlefile_sampleNames <- args$singlefile_sampleNamePositive
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
332 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
333 if (!is.null(args$singlefile_galaxyPathNegative)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
334 singlefile_galaxyPaths <- args$singlefile_galaxyPathNegative;
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
335 singlefile_sampleNames <- args$singlefile_sampleNameNegative
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
336 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
337 if (exists("singlefile_galaxyPaths")){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
338 singlefile_galaxyPaths <- unlist(strsplit(singlefile_galaxyPaths,"\\|"))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
339 singlefile_sampleNames <- unlist(strsplit(singlefile_sampleNames,"\\|"))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
340
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
341 singlefile <- NULL
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
342 for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
343 singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
344 singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
345 singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
346 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
347 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
348 for (argument in c("zipfile","zipfilePositive","zipfileNegative","singlefile_galaxyPath","singlefile_sampleName","singlefile_galaxyPathPositive","singlefile_sampleNamePositive","singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
349 args[[argument]] <- NULL
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
350 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
351 return(list(zipfile=zipfile, singlefile=singlefile, args=args))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
352 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
353
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
354
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
355 # This function retrieve the raw file in the working directory
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
356 # - if zipfile: unzip the file with its directory tree
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
357 # - if singlefiles: set symlink with the good filename
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
358 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
359 retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
360 if(!is.null(singlefile) && (length("singlefile")>0)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
361 for (singlefile_sampleName in names(singlefile)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
362 singlefile_galaxyPath <- singlefile[[singlefile_sampleName]]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
363 if(!file.exists(singlefile_galaxyPath)){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
364 error_message <- paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
365 print(error_message); stop(error_message)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
366 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
367
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
368 if (!suppressWarnings( try (file.link(singlefile_galaxyPath, singlefile_sampleName), silent=T)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
369 file.copy(singlefile_galaxyPath, singlefile_sampleName)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
370
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
371 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
372 directory <- "."
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
373
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
374 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
375 if(!is.null(zipfile) && (zipfile != "")) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
376 if(!file.exists(zipfile)){
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
377 error_message <- paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
378 print(error_message)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
379 stop(error_message)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
380 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
381
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
382 #list all file in the zip file
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
383 #zip_files <- unzip(zipfile,list=T)[,"Name"]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
384
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
385 #unzip
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
386 suppressWarnings(unzip(zipfile, unzip="unzip"))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
387
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
388 #get the directory name
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
389 suppressWarnings(filesInZip <- unzip(zipfile, list=T))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
390 directories <- unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
391 directories <- directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
392 directory <- "."
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
393 if (length(directories) == 1) directory <- directories
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
394
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
395 cat("files_root_directory\t",directory,"\n")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
396
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
397 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
398 return (directory)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
399 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
400
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
401
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
402 # This function retrieve a xset like object
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
403 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
404 getxcmsSetObject <- function(xobject) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
405 # XCMS 1.x
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
406 if (class(xobject) == "xcmsSet")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
407 return (xobject)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
408 # XCMS 3.x
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
409 if (class(xobject) == "XCMSnExp") {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
410 # Get the legacy xcmsSet object
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
411 suppressWarnings(xset <- as(xobject, 'xcmsSet'))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
412 sampclass(xset) <- xset@phenoData$sample_group
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
413 return (xset)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
414 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
415 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
416
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
417
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
418 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
419 # https://github.com/sneumann/xcms/issues/250
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
420 groupnamesW4M <- function(xdata, mzdec = 0, rtdec = 0) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
421 mzfmt <- paste("%.", mzdec, "f", sep = "")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
422 rtfmt <- paste("%.", rtdec, "f", sep = "")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
423
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
424 gnames <- paste("M", sprintf(mzfmt, featureDefinitions(xdata)[,"mzmed"]), "T",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
425 sprintf(rtfmt, featureDefinitions(xdata)[,"rtmed"]), sep = "")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
426
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
427 if (any(dup <- duplicated(gnames)))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
428 for (dupname in unique(gnames[dup])) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
429 dupidx <- which(gnames == dupname)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
430 gnames[dupidx] <- paste(gnames[dupidx], seq(along = dupidx), sep = "_")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
431 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
432
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
433 return (gnames)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
434 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
435
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
436 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
437 # https://github.com/sneumann/xcms/issues/247
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
438 .concatenate_XCMSnExp <- function(...) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
439 x <- list(...)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
440 if (length(x) == 0)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
441 return(NULL)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
442 if (length(x) == 1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
443 return(x[[1]])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
444 ## Check that all are XCMSnExp objects.
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
445 if (!all(unlist(lapply(x, function(z) is(z, "XCMSnExp")))))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
446 stop("All passed objects should be 'XCMSnExp' objects")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
447 new_x <- as(.concatenate_OnDiskMSnExp(...), "XCMSnExp")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
448 ## If any of the XCMSnExp has alignment results or detected features drop
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
449 ## them!
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
450 x <- lapply(x, function(z) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
451 if (hasAdjustedRtime(z)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
452 z <- dropAdjustedRtime(z)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
453 warning("Adjusted retention times found, had to drop them.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
454 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
455 if (hasFeatures(z)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
456 z <- dropFeatureDefinitions(z)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
457 warning("Feature definitions found, had to drop them.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
458 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
459 z
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
460 })
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
461 ## Combine peaks
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
462 fls <- lapply(x, fileNames)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
463 startidx <- cumsum(lengths(fls))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
464 pks <- lapply(x, chromPeaks)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
465 procH <- lapply(x, processHistory)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
466 for (i in 2:length(fls)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
467 pks[[i]][, "sample"] <- pks[[i]][, "sample"] + startidx[i - 1]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
468 procH[[i]] <- lapply(procH[[i]], function(z) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
469 z@fileIndex <- as.integer(z@fileIndex + startidx[i - 1])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
470 z
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
471 })
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
472 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
473 pks <- do.call(rbind, pks)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
474 new_x@.processHistory <- unlist(procH)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
475 chromPeaks(new_x) <- pks
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
476 if (validObject(new_x))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
477 new_x
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
478 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
479
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
480 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
481 # https://github.com/sneumann/xcms/issues/247
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
482 .concatenate_OnDiskMSnExp <- function(...) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
483 x <- list(...)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
484 if (length(x) == 0)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
485 return(NULL)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
486 if (length(x) == 1)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
487 return(x[[1]])
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
488 ## Check that all are XCMSnExp objects.
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
489 if (!all(unlist(lapply(x, function(z) is(z, "OnDiskMSnExp")))))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
490 stop("All passed objects should be 'OnDiskMSnExp' objects")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
491 ## Check processingQueue
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
492 procQ <- lapply(x, function(z) z@spectraProcessingQueue)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
493 new_procQ <- procQ[[1]]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
494 is_ok <- unlist(lapply(procQ, function(z)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
495 !is.character(all.equal(new_procQ, z))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
496 ))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
497 if (any(!is_ok)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
498 warning("Processing queues from the submitted objects differ! ",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
499 "Dropping the processing queue.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
500 new_procQ <- list()
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
501 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
502 ## processingData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
503 fls <- lapply(x, function(z) z@processingData@files)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
504 startidx <- cumsum(lengths(fls))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
505 ## featureData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
506 featd <- lapply(x, fData)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
507 ## Have to update the file index and the spectrum names.
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
508 for (i in 2:length(featd)) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
509 featd[[i]]$fileIdx <- featd[[i]]$fileIdx + startidx[i - 1]
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
510 rownames(featd[[i]]) <- MSnbase:::formatFileSpectrumNames(
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
511 fileIds = featd[[i]]$fileIdx,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
512 spectrumIds = featd[[i]]$spIdx,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
513 nSpectra = nrow(featd[[i]]),
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
514 nFiles = length(unlist(fls))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
515 )
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
516 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
517 featd <- do.call(rbind, featd)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
518 featd$spectrum <- 1:nrow(featd)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
519 ## experimentData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
520 expdata <- lapply(x, function(z) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
521 ed <- z@experimentData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
522 data.frame(instrumentManufacturer = ed@instrumentManufacturer,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
523 instrumentModel = ed@instrumentModel,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
524 ionSource = ed@ionSource,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
525 analyser = ed@analyser,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
526 detectorType = ed@detectorType,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
527 stringsAsFactors = FALSE)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
528 })
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
529 expdata <- do.call(rbind, expdata)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
530 expdata <- new("MIAPE",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
531 instrumentManufacturer = expdata$instrumentManufacturer,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
532 instrumentModel = expdata$instrumentModel,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
533 ionSource = expdata$ionSource,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
534 analyser = expdata$analyser,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
535 detectorType = expdata$detectorType)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
536
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
537 ## protocolData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
538 protodata <- lapply(x, function(z) z@protocolData)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
539 if (any(unlist(lapply(protodata, nrow)) > 0))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
540 warning("Found non-empty protocol data, but merging protocol data is",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
541 " currently not supported. Skipped.")
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
542 ## phenoData
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
543 pdata <- do.call(rbind, lapply(x, pData))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
544 res <- new(
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
545 "OnDiskMSnExp",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
546 phenoData = new("NAnnotatedDataFrame", data = pdata),
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
547 featureData = new("AnnotatedDataFrame", featd),
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
548 processingData = new("MSnProcess",
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
549 processing = paste0("Concatenated [", date(), "]"),
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
550 files = unlist(fls), smoothed = NA),
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
551 experimentData = expdata,
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
552 spectraProcessingQueue = new_procQ)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
553 if (validObject(res))
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
554 res
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
555 }
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
556
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
557 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
558 # https://github.com/sneumann/xcms/issues/247
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
559 c.XCMSnExp <- function(...) {
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
560 .concatenate_XCMSnExp(...)
fe1f0f16d9e6 planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff changeset
561 }