annotate lib.r @ 39:db9bc2c27a0a draft

planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
author workflow4metabolomics
date Fri, 26 Jul 2019 16:00:18 -0400
parents 636e36a64d31
children 3d943f088143
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
1 # lib.r
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
2
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
3 #@author G. Le Corguille
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
4 # solve an issue with batch if arguments are logical TRUE/FALSE
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
5 parseCommandArgs <- function(...) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
6 args <- batch::parseCommandArgs(...)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
7 for (key in names(args)) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
8 if (args[key] %in% c("TRUE","FALSE"))
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
9 args[key] = as.logical(args[key])
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
10 }
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
11 return(args)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
12 }
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
13
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
14 #@author G. Le Corguille
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
15 # This function will
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
16 # - load the packages
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
17 # - display the sessionInfo
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
18 loadAndDisplayPackages <- function(pkgs) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
19 for(pkg in pkgs) suppressPackageStartupMessages( stopifnot( library(pkg, quietly=TRUE, logical.return=TRUE, character.only=TRUE)))
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
20
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
21 sessioninfo = sessionInfo()
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
22 cat(sessioninfo$R.version$version.string,"\n")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
23 cat("Main packages:\n")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
24 for (pkg in names(sessioninfo$otherPkgs)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
25 cat("Other loaded packages:\n")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
26 for (pkg in names(sessioninfo$loadedOnly)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
27 }
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
28
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
29 # This function retrieve a xset like object
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
30 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
31 getxcmsSetObject <- function(xobject) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
32 # XCMS 1.x
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
33 if (class(xobject) == "xcmsSet")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
34 return (xobject)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
35 # XCMS 3.x
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
36 if (class(xobject) == "XCMSnExp") {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
37 # Get the legacy xcmsSet object
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
38 suppressWarnings(xset <- as(xobject, 'xcmsSet'))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
39 if (is.null(xset@phenoData$sample_group))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
40 sampclass(xset) = "."
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
41 else
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
42 sampclass(xset) <- xset@phenoData$sample_group
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
43 if (!is.null(xset@phenoData$sample_name))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
44 rownames(xset@phenoData) = xset@phenoData$sample_name
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
45 return (xset)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
46 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
47 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
48
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
49 #@author G. Le Corguille
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
50 #The function create a pdf from the different png generated by diffreport
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
51 diffreport_png2pdf <- function(filebase) {
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
52 dir.create("pdf")
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
53
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
54 pdfEicOutput = paste0("pdf/",filebase,"-eic_pdf.pdf")
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
55 pdfBoxOutput = paste0("pdf/",filebase,"-box_pdf.pdf")
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
56
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
57 system(paste0("gm convert ",filebase,"_eic/*.png ",pdfEicOutput))
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
58 system(paste0("gm convert ",filebase,"_box/*.png ",pdfBoxOutput))
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
59
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
60 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
61
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
62 #@author G. Le Corguille
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
63 #The function create a zip archive from the different png generated by diffreport
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
64 diffreport_png2zip <- function() {
37
636e36a64d31 planemo upload commit a5f400649acb64e1c66a92379027ac5abdb4f546
lecorguille
parents: 36
diff changeset
65 zip("eic.zip", dir(pattern="_eic"), zip=Sys.which("zip"))
636e36a64d31 planemo upload commit a5f400649acb64e1c66a92379027ac5abdb4f546
lecorguille
parents: 36
diff changeset
66 zip("box.zip", dir(pattern="_box"), zip=Sys.which("zip"))
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
67 }
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
68
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
69 #The function create a zip archive from the different tabular generated by diffreport
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
70 diffreport_tabular2zip <- function() {
37
636e36a64d31 planemo upload commit a5f400649acb64e1c66a92379027ac5abdb4f546
lecorguille
parents: 36
diff changeset
71 zip("tabular.zip", dir(pattern="tabular/*"), zip=Sys.which("zip"))
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
72 }
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
73
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
74 #@author G. Le Corguille
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
75 #This function convert if it is required the Retention Time in minutes
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
76 RTSecondToMinute <- function(variableMetadata, convertRTMinute) {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
77 if (convertRTMinute){
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
78 #converting the retention times (seconds) into minutes
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
79 print("converting the retention times into minutes in the variableMetadata")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
80 variableMetadata[,"rt"]=variableMetadata[,"rt"]/60
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
81 variableMetadata[,"rtmin"]=variableMetadata[,"rtmin"]/60
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
82 variableMetadata[,"rtmax"]=variableMetadata[,"rtmax"]/60
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
83 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
84 return (variableMetadata)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
85 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
86
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
87 #@author G. Le Corguille
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
88 #This function format ions identifiers
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
89 formatIonIdentifiers <- function(variableMetadata, numDigitsRT=0, numDigitsMZ=0) {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
90 splitDeco = strsplit(as.character(variableMetadata$name),"_")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
91 idsDeco = sapply(splitDeco, function(x) { deco=unlist(x)[2]; if (is.na(deco)) return ("") else return(paste0("_",deco)) })
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
92 namecustom = make.unique(paste0("M",round(variableMetadata[,"mz"],numDigitsMZ),"T",round(variableMetadata[,"rt"],numDigitsRT),idsDeco))
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
93 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))])
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
94 return(variableMetadata)
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
95 }
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
96
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
97 #The function annotateDiffreport without the corr function which bugs
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
98 annotatediff <- function(xset=xset, args=args, variableMetadataOutput="variableMetadata.tsv") {
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
99 # Resolve the bug with x11, with the function png
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
100 options(bitmapType='cairo')
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
101
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
102 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped.
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
103 res=try(is.null(xset@filled))
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
104
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
105 # ------ annot -------
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
106 args$calcCiS=as.logical(args$calcCiS)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
107 args$calcIso=as.logical(args$calcIso)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
108 args$calcCaS=as.logical(args$calcCaS)
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
109
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
110 # common parameters
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
111 args4annotate = list(object=xset,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
112 nSlaves=args$nSlaves,sigma=args$sigma,perfwhm=args$perfwhm,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
113 maxcharge=args$maxcharge,maxiso=args$maxiso,minfrac=args$minfrac,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
114 ppm=args$ppm,mzabs=args$mzabs,quick=args$quick,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
115 polarity=args$polarity,max_peaks=args$max_peaks,intval=args$intval)
22
65e3e1a39e16 planemo upload commit 23ad0382ec59d66220fd94684a6d158fdef2c7f5-dirty
lecorguille
parents: 21
diff changeset
116
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
117 # quick == FALSE
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
118 if(args$quick==FALSE) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
119 args4annotate = append(args4annotate,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
120 list(graphMethod=args$graphMethod,cor_eic_th=args$cor_eic_th,pval=args$pval,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
121 calcCiS=args$calcCiS,calcIso=args$calcIso,calcCaS=args$calcCaS))
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
122 # no ruleset
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
123 if (!is.null(args$multiplier)) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
124 args4annotate = append(args4annotate,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
125 list(multiplier=args$multiplier))
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
126 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
127 # ruleset
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
128 else {
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
129 rulset=read.table(args$rules, h=T, sep=";")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
130 if (ncol(rulset) < 4) rulset=read.table(args$rules, h=T, sep="\t")
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
131 if (ncol(rulset) < 4) rulset=read.table(args$rules, h=T, sep=",")
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
132 if (ncol(rulset) < 4) {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
133 error_message="Your ruleset file seems not well formatted. The column separators accepted are ; , and tabulation"
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
134 print(error_message)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
135 stop(error_message)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
136 }
23
2a4a811c663d planemo upload commit bf9996f1e380af6f783cc862f3e1d69f8c7b86e5
lecorguille
parents: 22
diff changeset
137
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
138 args4annotate = append(args4annotate,
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
139 list(rules=rulset))
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
140 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
141 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
142
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
143
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
144 # launch annotate
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
145 xa = do.call("annotate", args4annotate)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
146 peakList=getPeaklist(xa,intval=args$intval)
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
147 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name");
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
148
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
149 # --- Multi condition : diffreport ---
26
f769635d55f9 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa-dirty
lecorguille
parents: 25
diff changeset
150 diffrepOri=NULL
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
151 if (!is.null(args$runDiffreport) & nlevels(sampclass(xset))>=2) {
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
152 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped.
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
153 res=try(is.null(xset@filled))
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
154 classes=levels(sampclass(xset))
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
155 x=1:(length(classes)-1)
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
156 for (i in seq(along=x) ) {
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
157 y=1:(length(classes))
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
158 for (n in seq(along=y)){
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
159 if(i+n <= length(classes)){
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
160 filebase=paste(classes[i],class2=classes[i+n],sep="-vs-")
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
161
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
162 diffrep=diffreport(
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
163 object=xset,class1=classes[i],class2=classes[i+n],
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
164 filebase=filebase,eicmax=args$eicmax,eicwidth=args$eicwidth,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
165 sortpval=TRUE,value=args$value,h=args$h,w=args$w,mzdec=args$mzdec,missing=0)
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
166
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
167 diffrepOri = diffrep
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
168
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
169 # renamming of the column rtmed to rt to fit with camera peaklist function output
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
170 colnames(diffrep)[colnames(diffrep)=="rtmed"] <- "rt"
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
171 colnames(diffrep)[colnames(diffrep)=="mzmed"] <- "mz"
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
172
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
173 # combines results and reorder columns
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
174 diffrep = merge(peakList, diffrep[,c("name","fold","tstat","pvalue")], by.x="name", by.y="name", sort=F)
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
175 diffrep = cbind(diffrep[,!(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))],diffrep[,(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))])
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
176
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
177 diffrep = RTSecondToMinute(diffrep, args$convertRTMinute)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
178 diffrep = formatIonIdentifiers(diffrep, numDigitsRT=args$numDigitsRT, numDigitsMZ=args$numDigitsMZ)
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
179
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
180 if(args$sortpval){
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
181 diffrep=diffrep[order(diffrep$pvalue), ]
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
182 }
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
183
37
636e36a64d31 planemo upload commit a5f400649acb64e1c66a92379027ac5abdb4f546
lecorguille
parents: 36
diff changeset
184 dir.create("tabular", showWarnings = FALSE)
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
185 write.table(diffrep, sep="\t", quote=FALSE, row.names=FALSE, file=paste("tabular/",filebase,"_tsv.tabular",sep=""))
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
186
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
187 if (args$eicmax != 0) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
188 if (args$png2 == "pdf")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
189 diffreport_png2pdf(filebase)
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
190 }
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
191 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
192 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
193 }
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
194 if (args$png2 == "zip")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
195 diffreport_png2zip()
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
196 if (args$tabular2 == "zip")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
197 diffreport_tabular2zip()
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
198 }
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
199
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
200 # --- variableMetadata ---
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
201 variableMetadata=peakList[,!(make.names(colnames(peakList)) %in% c(make.names(sampnames(xa@xcmsSet))))]
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
202 variableMetadata = RTSecondToMinute(variableMetadata, args$convertRTMinute)
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
203 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=args$numDigitsRT, numDigitsMZ=args$numDigitsMZ)
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
204 # if we have 2 conditions, we keep stat of diffrep
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
205 if (!is.null(args$runDiffreport) & nlevels(sampclass(xset))==2) {
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
206 variableMetadata = merge(variableMetadata, diffrep[,c("name","fold","tstat","pvalue")],by.x="name", by.y="name", sort=F)
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
207 if(exists("args[[\"sortpval\"]]")){
33
3b2b642542f6 planemo upload commit 896ef116e72008394779322f65137c632af5f4d2
lecorguille
parents: 30
diff changeset
208 variableMetadata=variableMetadata[order(variableMetadata$pvalue), ]
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
209 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
210 }
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
211
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
212 variableMetadataOri=variableMetadata
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
213 write.table(variableMetadata, sep="\t", quote=FALSE, row.names=FALSE, file=variableMetadataOutput)
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
214
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
215 return(list("xa"=xa,"diffrep"=diffrepOri,"variableMetadata"=variableMetadataOri));
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
216
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
217 }
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
218
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
219
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
220 combinexsAnnos_function <- function(xaP, xaN, diffrepP=NULL,diffrepN=NULL,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
221 pos=TRUE,tol=2,ruleset=NULL,keep_meta=TRUE, convertRTMinute=F, numDigitsMZ=0,
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
222 numDigitsRT=0, variableMetadataOutput="variableMetadata.tsv"){
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
223
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
224 #Load the two Rdata to extract the xset objects from positive and negative mode
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
225 cat("\tObject xset from positive mode\n")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
226 print(xaP)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
227 cat("\n")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
228
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
229 cat("\tObject xset from negative mode\n")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
230 print(xaN)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
231 cat("\n")
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
232
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
233 cat("\n")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
234 cat("\tCombining...\n")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
235 #Convert the string to numeric for creating matrix
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
236 row=as.numeric(strsplit(ruleset,",")[[1]][1])
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
237 column=as.numeric(strsplit(ruleset,",")[[1]][2])
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
238 ruleset=cbind(row,column)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
239 #Test if the file comes from an older version tool
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
240 if ((!is.null(xaP)) & (!is.null(xaN))) {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
241 #Launch the combinexsannos function from CAMERA
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
242 cAnnot=combinexsAnnos(xaP, xaN,pos=pos,tol=tol,ruleset=ruleset)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
243 } else {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
244 stop("You must relauch the CAMERA.annotate step with the lastest version.")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
245 }
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
246
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
247 if(pos){
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
248 xa=xaP
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
249 mode="neg. Mode"
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
250 } else {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
251 xa=xaN
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
252 mode="pos. Mode"
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
253 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
254
30
fce12d692a41 planemo upload commit 2e3fcb07e9ff59974eaec8f868a9e78a63a89219
lecorguille
parents: 29
diff changeset
255 peakList=getPeaklist(xa)
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
256 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name");
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
257 variableMetadata=cbind(peakList, cAnnot[, c("isotopes", "adduct", "pcgroup",mode)]);
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
258 variableMetadata=variableMetadata[,!(colnames(variableMetadata) %in% c(sampnames(xa@xcmsSet)))]
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
259
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
260 #Test if there are more than two classes (conditions)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
261 if ( nlevels(sampclass(xaP@xcmsSet))==2 & (!is.null(diffrepN)) & (!is.null(diffrepP))) {
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
262 diffrepP = diffrepP[,c("name","fold","tstat","pvalue")]; colnames(diffrepP) = paste("P.",colnames(diffrepP),sep="")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
263 diffrepN = diffrepN[,c("name","fold","tstat","pvalue")]; colnames(diffrepN) = paste("N.",colnames(diffrepN),sep="")
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
264
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
265 variableMetadata = merge(variableMetadata, diffrepP, by.x="name", by.y="P.name")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
266 variableMetadata = merge(variableMetadata, diffrepN, by.x="name", by.y="N.name")
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
267 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
268
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
269 rownames(variableMetadata) = NULL
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
270 #TODO: checker
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
271 #colnames(variableMetadata)[1:2] = c("name","mz/rt");
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
272
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
273 variableMetadata = RTSecondToMinute(variableMetadata, convertRTMinute)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
274 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ)
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
275
25
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
276 #If the user want to keep only the metabolites which match a difference
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
277 if(keep_meta){
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
278 variableMetadata=variableMetadata[variableMetadata[,c(mode)]!="",]
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
279 }
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
280
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
281 #Write the output into a tsv file
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
282 write.table(variableMetadata, sep="\t", quote=FALSE, row.names=FALSE, file=variableMetadataOutput)
230f0bc9e792 planemo upload commit a634879c0e651eb0eb7b435a107ee40cf30524fa
lecorguille
parents: 23
diff changeset
283 return(variableMetadata);
9
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
284
c02d80efba80 planemo upload commit d8cc436fd91f5748dc396d0527a0a303d3221835
lecorguille
parents:
diff changeset
285 }
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
286
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
287 # This function get the raw file path from the arguments
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
288 getRawfilePathFromArguments <- function(singlefile, zipfile, args) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
289 if (!is.null(args$zipfile)) zipfile = args$zipfile
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
290 if (!is.null(args$zipfilePositive)) zipfile = args$zipfilePositive
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
291 if (!is.null(args$zipfileNegative)) zipfile = args$zipfileNegative
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
292
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
293 if (!is.null(args$singlefile_galaxyPath)) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
294 singlefile_galaxyPaths = args$singlefile_galaxyPath;
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
295 singlefile_sampleNames = args$singlefile_sampleName
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
296 }
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
297 if (!is.null(args$singlefile_galaxyPathPositive)) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
298 singlefile_galaxyPaths = args$singlefile_galaxyPathPositive;
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
299 singlefile_sampleNames = args$singlefile_sampleNamePositive
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
300 }
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
301 if (!is.null(args$singlefile_galaxyPathNegative)) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
302 singlefile_galaxyPaths = args$singlefile_galaxyPathNegative;
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
303 singlefile_sampleNames = args$singlefile_sampleNameNegative
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
304 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
305 if (exists("singlefile_galaxyPaths")){
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
306 singlefile_galaxyPaths = unlist(strsplit(singlefile_galaxyPaths,","))
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
307 singlefile_sampleNames = unlist(strsplit(singlefile_sampleNames,","))
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
308
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
309 singlefile=NULL
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
310 for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
311 singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i]
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
312 singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i]
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
313 singlefile[[singlefile_sampleName]] = singlefile_galaxyPath
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
314 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
315 }
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
316 for (argument in c("zipfile", "zipfilePositive", "zipfileNegative",
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
317 "singlefile_galaxyPath", "singlefile_sampleName",
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
318 "singlefile_galaxyPathPositive", "singlefile_sampleNamePositive",
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
319 "singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) {
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
320 args[[argument]]=NULL
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
321 }
39
db9bc2c27a0a planemo upload commit d51a0d0a26833671b79711ee18d782e84f301e76
workflow4metabolomics
parents: 37
diff changeset
322 return(list(zipfile=zipfile, singlefile=singlefile, args=args))
28
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
323 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
324
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
325
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
326 # This function retrieve the raw file in the working directory
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
327 # - if zipfile: unzip the file with its directory tree
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
328 # - if singlefiles: set symlink with the good filename
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
329 retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) {
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
330 if(!is.null(singlefile) && (length("singlefile")>0)) {
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
331 for (singlefile_sampleName in names(singlefile)) {
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
332 singlefile_galaxyPath = singlefile[[singlefile_sampleName]]
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
333 if(!file.exists(singlefile_galaxyPath)){
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
334 error_message=paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!")
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
335 print(error_message); stop(error_message)
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
336 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
337
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
338 file.symlink(singlefile_galaxyPath,singlefile_sampleName)
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
339 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
340 directory = "."
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
341
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
342 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
343 if(!is.null(zipfile) && (zipfile!="")) {
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
344 if(!file.exists(zipfile)){
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
345 error_message=paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
346 print(error_message)
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
347 stop(error_message)
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
348 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
349
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
350 #list all file in the zip file
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
351 #zip_files=unzip(zipfile,list=T)[,"Name"]
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
352
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
353 #unzip
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
354 suppressWarnings(unzip(zipfile, unzip="unzip"))
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
355
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
356 #get the directory name
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
357 filesInZip=unzip(zipfile, list=T);
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
358 directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])));
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
359 directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
360 directory = "."
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
361 if (length(directories) == 1) directory = directories
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
362
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
363 cat("files_root_directory\t",directory,"\n")
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
364
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
365 }
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
366 return (directory)
591d26b9027e planemo upload commit d708b85fc764e790fac071552d19cd7a89d02d31
lecorguille
parents: 26
diff changeset
367 }
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
368
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
369 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
370 # https://github.com/sneumann/CAMERA/issues/33#issuecomment-405168524
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
371 # https://github.com/sneumann/xcms/commit/950a3fe794cdb6b0fda88696e31aab3d97a3b7dd
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
372 ############################################################
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
373 ## getEIC
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
374 getEIC <- function(object, mzrange, rtrange = 200,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
375 groupidx, sampleidx = sampnames(object),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
376 rt = c("corrected", "raw")) {
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
377
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
378 files <- filepaths(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
379 grp <- groups(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
380 samp <- sampnames(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
381 prof <- profinfo(object)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
382
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
383 rt <- match.arg(rt)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
384
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
385 if (is.numeric(sampleidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
386 sampleidx <- sampnames(object)[sampleidx]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
387 sampidx <- match(sampleidx, sampnames(object))
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
388
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
389 if (!missing(groupidx)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
390 if (is.numeric(groupidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
391 groupidx <- groupnames(object)[unique(as.integer(groupidx))]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
392 grpidx <- match(groupidx, groupnames(object, template = groupidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
393 }
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
394
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
395 if (missing(mzrange)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
396 if (missing(groupidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
397 stop("No m/z range or groups specified")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
398 if (any(is.na(groupval(object, value = "mz"))))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
399 warning(
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
400 "`NA` values in xcmsSet. Use fillPeaks() on the object to fill",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
401 "-in missing peak values. Note however that this will also ",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
402 "insert intensities of 0 for peaks that can not be filled in.")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
403 mzmin <- apply(groupval(object, value = "mzmin"), 1, min, na.rm = TRUE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
404 mzmax <- apply(groupval(object, value = "mzmax"), 1, max, na.rm = TRUE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
405 mzrange <- matrix(c(mzmin[grpidx], mzmax[grpidx]), ncol = 2)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
406 ## if (any(is.na(groupval(object, value = "mz"))))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
407 ## stop('Please use fillPeaks() to fill up NA values !')
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
408 ## mzmin <- -rowMax(-groupval(object, value = "mzmin"))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
409 ## mzmax <- rowMax(groupval(object, value = "mzmax"))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
410 ## mzrange <- matrix(c(mzmin[grpidx], mzmax[grpidx]), ncol = 2)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
411 } else if (all(c("mzmin","mzmax") %in% colnames(mzrange)))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
412 mzrange <- mzrange[,c("mzmin", "mzmax"),drop=FALSE]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
413 else if (is.null(dim(mzrange)))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
414 stop("mzrange must be a matrix")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
415 colnames(mzrange) <- c("mzmin", "mzmax")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
416
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
417 if (length(rtrange) == 1) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
418 if (missing(groupidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
419 rtrange <- matrix(rep(range(object@rt[[rt]][sampidx]), nrow(mzrange)),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
420 ncol = 2, byrow = TRUE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
421 else {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
422 rtrange <- retexp(grp[grpidx,c("rtmin","rtmax"),drop=FALSE], rtrange)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
423 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
424 } else if (is.null(dim(rtrange)))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
425 stop("rtrange must be a matrix or single number")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
426 colnames(rtrange) <- c("rtmin", "rtmax")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
427
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
428 ## Ensure that we've got corrected retention time if requested.
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
429 if (is.null(object@rt[[rt]]))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
430 stop(rt, " retention times not present in 'object'!")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
431
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
432 ## Ensure that the defined retention time range is within the rtrange of the
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
433 ## object: we're using the max minimal rt of all files and the min maximal rt
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
434 rtrs <- lapply(object@rt[[rt]], range)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
435 rtr <- c(max(unlist(lapply(rtrs, "[", 1))),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
436 min(unlist(lapply(rtrs, "[", 2))))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
437 ## Check if we've got a range which is completely off:
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
438 if (any(rtrange[, "rtmin"] >= rtr[2] | rtrange[, "rtmax"] <= rtr[1])) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
439 outs <- which(rtrange[, "rtmin"] >= rtr[2] |
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
440 rtrange[, "rtmax"] <= rtr[1])
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
441 stop(length(outs), " of the specified 'rtrange' are completely outside ",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
442 "of the retention time range of 'object' which is (", rtr[1], ", ",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
443 rtr[2], "). The first was: (", rtrange[outs[1], "rtmin"], ", ",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
444 rtrange[outs[1], "rtmax"], "!")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
445 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
446 lower_rt_outside <- rtrange[, "rtmin"] < rtr[1]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
447 upper_rt_outside <- rtrange[, "rtmax"] > rtr[2]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
448 if (any(lower_rt_outside) | any(upper_rt_outside)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
449 ## Silently fix these ranges.
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
450 rtrange[lower_rt_outside, "rtmin"] <- rtr[1]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
451 rtrange[upper_rt_outside, "rtmax"] <- rtr[2]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
452 }
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
453
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
454 if (missing(groupidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
455 gnames <- character(0)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
456 else
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
457 gnames <- groupidx
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
458
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
459 eic <- vector("list", length(sampleidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
460 names(eic) <- sampleidx
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
461
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
462 for (i in seq(along = sampidx)) {
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
463
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
464 ## cat(sampleidx[i], "")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
465 flush.console()
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
466 ## getXcmsRaw takes care of rt correction, susetting to scanrage and other
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
467 ## stuff.
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
468 lcraw <- getXcmsRaw(object, sampleidx = sampidx[i], rt=rt)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
469 currenteic <- xcms::getEIC(lcraw, mzrange, rtrange, step = prof$step)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
470 eic[[i]] <- currenteic@eic[[1]]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
471 rm(lcraw)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
472 gc()
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
473 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
474 ## cat("\n")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
475
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
476 invisible(new("xcmsEIC", eic = eic, mzrange = mzrange, rtrange = rtrange,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
477 rt = rt, groupnames = gnames))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
478 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
479
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
480 #@TODO: remove this function as soon as we can use xcms 3.x.x from Bioconductor 3.7
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
481 # https://github.com/sneumann/CAMERA/issues/33#issuecomment-405168524
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
482 # https://github.com/sneumann/xcms/commit/950a3fe794cdb6b0fda88696e31aab3d97a3b7dd
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
483 ############################################################
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
484 ## diffreport
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
485 diffreport = function(object,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
486 class1 = levels(sampclass(object))[1],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
487 class2 = levels(sampclass(object))[2],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
488 filebase = character(),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
489 eicmax = 0, eicwidth = 200,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
490 sortpval = TRUE,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
491 classeic = c(class1,class2),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
492 value = c("into","maxo","intb"),
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
493 metlin = FALSE,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
494 h = 480, w = 640, mzdec=2,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
495 missing = numeric(), ...) {
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
496
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
497 if ( nrow(object@groups)<1 || length(object@groupidx) <1) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
498 stop("No group information. Use group().")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
499 }
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
500
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
501 if (!is.numeric(w) || !is.numeric(h))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
502 stop("'h' and 'w' have to be numeric")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
503 ## require(multtest) || stop("Couldn't load multtest")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
504
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
505 value <- match.arg(value)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
506 groupmat <- groups(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
507 if (length(groupmat) == 0)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
508 stop("No group information found")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
509 samples <- sampnames(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
510 n <- length(samples)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
511 classlabel <- sampclass(object)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
512 classlabel <- levels(classlabel)[as.vector(unclass(classlabel))]
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
513
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
514 values <- groupval(object, "medret", value=value)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
515 indecies <- groupval(object, "medret", value = "index")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
516
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
517 if (!all(c(class1,class2) %in% classlabel))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
518 stop("Incorrect Class Labels")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
519
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
520 ## c1 and c2 are column indices of class1 and class2 resp.
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
521 c1 <- which(classlabel %in% class1)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
522 c2 <- which(classlabel %in% class2)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
523 ceic <- which(classlabel %in% classeic)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
524 if (length(intersect(c1, c2)) > 0)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
525 stop("Intersecting Classes")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
526
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
527 ## Optionally replace NA values with the value provided with missing
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
528 if (length(missing)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
529 if (is.numeric(missing)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
530 ## handles NA, Inf and -Inf
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
531 values[, c(c1, c2)][!is.finite(values[, c(c1, c2)])] <- missing[1]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
532 } else
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
533 stop("'missing' should be numeric")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
534 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
535 ## Check against missing Values
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
536 if (any(is.na(values[, c(c1, c2)])))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
537 warning("`NA` values in xcmsSet. Use fillPeaks() on the object to fill",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
538 "-in missing peak values. Note however that this will also ",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
539 "insert intensities of 0 for peaks that can not be filled in.")
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
540
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
541 mean1 <- rowMeans(values[,c1,drop=FALSE], na.rm = TRUE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
542 mean2 <- rowMeans(values[,c2,drop=FALSE], na.rm = TRUE)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
543
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
544 ## Calculate fold change.
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
545 ## For foldchange <1 set fold to 1/fold
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
546 ## See tstat to check which was higher
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
547 fold <- mean2 / mean1
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
548 fold[!is.na(fold) & fold < 1] <- 1/fold[!is.na(fold) & fold < 1]
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
549
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
550 testval <- values[,c(c1,c2)]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
551 ## Replace eventual infinite values with NA (CAMERA issue #33)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
552 testval[is.infinite(testval)] <- NA
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
553 testclab <- c(rep(0,length(c1)),rep(1,length(c2)))
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
554
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
555 if (min(length(c1), length(c2)) >= 2) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
556 tstat <- mt.teststat(testval, testclab, ...)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
557 pvalue <- xcms:::pval(testval, testclab, tstat)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
558 } else {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
559 message("Too few samples per class, skipping t-test.")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
560 tstat <- pvalue <- rep(NA,nrow(testval))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
561 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
562 stat <- data.frame(fold = fold, tstat = tstat, pvalue = pvalue)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
563 if (length(levels(sampclass(object))) >2) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
564 pvalAnova<-c()
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
565 for(i in 1:nrow(values)){
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
566 var<-as.numeric(values[i,])
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
567 ano<-summary(aov(var ~ sampclass(object)) )
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
568 pvalAnova<-append(pvalAnova, unlist(ano)["Pr(>F)1"])
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
569 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
570 stat<-cbind(stat, anova= pvalAnova)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
571 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
572 if (metlin) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
573 neutralmass <- groupmat[,"mzmed"] + ifelse(metlin < 0, 1, -1)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
574 metlin <- abs(metlin)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
575 digits <- ceiling(-log10(metlin))+1
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
576 metlinurl <-
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
577 paste("http://metlin.scripps.edu/simple_search_result.php?mass_min=",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
578 round(neutralmass - metlin, digits), "&mass_max=",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
579 round(neutralmass + metlin, digits), sep="")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
580 values <- cbind(metlin = metlinurl, values)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
581 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
582 twosamp <- cbind(name = groupnames(object), stat, groupmat, values)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
583 if (sortpval) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
584 tsidx <- order(twosamp[,"pvalue"])
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
585 twosamp <- twosamp[tsidx,]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
586 rownames(twosamp) <- 1:nrow(twosamp)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
587 values<-values[tsidx,]
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
588 } else
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
589 tsidx <- 1:nrow(values)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
590
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
591 if (length(filebase))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
592 write.table(twosamp, paste(filebase, ".tsv", sep = ""), quote = FALSE, sep = "\t", col.names = NA)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
593
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
594 if (eicmax > 0) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
595 if (length(unique(peaks(object)[,"rt"])) > 1) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
596 ## This looks like "normal" LC data
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
597
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
598 eicmax <- min(eicmax, length(tsidx))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
599 eics <- getEIC(object, rtrange = eicwidth*1.1, sampleidx = ceic,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
600 groupidx = tsidx[seq(length = eicmax)])
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
601
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
602 if (length(filebase)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
603 eicdir <- paste(filebase, "_eic", sep="")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
604 boxdir <- paste(filebase, "_box", sep="")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
605 dir.create(eicdir)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
606 dir.create(boxdir)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
607 if (capabilities("png")){
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
608 xcms:::xcmsBoxPlot(values[seq(length = eicmax),],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
609 sampclass(object), dirpath=boxdir, pic="png", width=w, height=h)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
610 png(file.path(eicdir, "%003d.png"), width = w, height = h)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
611 } else {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
612 xcms:::xcmsBoxPlot(values[seq(length = eicmax),],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
613 sampclass(object), dirpath=boxdir, pic="pdf", width=w, height=h)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
614 pdf(file.path(eicdir, "%003d.pdf"), width = w/72,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
615 height = h/72, onefile = FALSE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
616 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
617 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
618 plot(eics, object, rtrange = eicwidth, mzdec=mzdec)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
619
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
620 if (length(filebase))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
621 dev.off()
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
622 } else {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
623 ## This looks like a direct-infusion single spectrum
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
624 if (length(filebase)) {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
625 eicdir <- paste(filebase, "_eic", sep="")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
626 boxdir <- paste(filebase, "_box", sep="")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
627 dir.create(eicdir)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
628 dir.create(boxdir)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
629 if (capabilities("png")){
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
630 xcmsBoxPlot(values[seq(length = eicmax),],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
631 sampclass(object), dirpath=boxdir, pic="png",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
632 width=w, height=h)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
633 png(file.path(eicdir, "%003d.png"), width = w, height = h,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
634 units = "px")
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
635 } else {
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
636 xcmsBoxPlot(values[seq(length = eicmax),],
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
637 sampclass(object), dirpath=boxdir, pic="pdf",
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
638 width=w, height=h)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
639 pdf(file.path(eicdir, "%003d.pdf"), width = w/72,
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
640 height = h/72, onefile = FALSE)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
641 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
642 }
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
643
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
644 plotSpecWindow(object, gidxs = tsidx[seq(length = eicmax)], borderwidth=1)
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
645
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
646 if (length(filebase))
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
647 dev.off()
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
648 }
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
649 }
36
b6a8143c397c planemo upload commit aa538ae477bc2f901c95d916e11d70eab75b5e00
lecorguille
parents: 35
diff changeset
650
35
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
651 invisible(twosamp)
b02797fbead1 planemo upload commit 688b63e161c4df4364d248bf78536a7649564db4
lecorguille
parents: 33
diff changeset
652 }