Mercurial > repos > lecorguille > xcms_retcor
annotate lib.r @ 19:2faecb1270fe draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
author | lecorguille |
---|---|
date | Wed, 08 Feb 2017 06:35:43 -0500 |
parents | 8e740205c907 |
children | 411d2b9ea412 |
rev | line source |
---|---|
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
1 #Authors ABiMS TEAM |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
2 #Lib.r for Galaxy Workflow4Metabolomics xcms tools |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
3 # |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
4 #version 2.4: lecorguille |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
5 # add getPeaklistW4M |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
6 #version 2.3: yguitton |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
7 # correction for empty PDF when only 1 class |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
8 #version 2.2 |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
9 # correct bug in Base Peak Chromatogram (BPC) option, not only TIC when scanrange used in xcmsSet |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
10 # Note if scanrange is used a warning is prompted in R console but do not stop PDF generation |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
11 #version 2.1: yguitton |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
12 # Modifications made by Guitton Yann |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
13 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
14 |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
15 #@author G. Le Corguille |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
16 #This function convert if it is required the Retention Time in minutes |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
17 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
18 if (convertRTMinute){ |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
19 #converting the retention times (seconds) into minutes |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
20 print("converting the retention times into minutes in the variableMetadata") |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
21 variableMetadata[,"rt"]=variableMetadata[,"rt"]/60 |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
22 variableMetadata[,"rtmin"]=variableMetadata[,"rtmin"]/60 |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
23 variableMetadata[,"rtmax"]=variableMetadata[,"rtmax"]/60 |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
24 } |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
25 return (variableMetadata) |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
26 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
27 |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
28 #@author G. Le Corguille |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
29 #This function format ions identifiers |
19
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
30 formatIonIdentifiers <- function(variableMetadata, numDigitsRT=0, numDigitsMZ=0) { |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
31 splitDeco = strsplit(as.character(variableMetadata$name),"_") |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
32 idsDeco = sapply(splitDeco, function(x) { deco=unlist(x)[2]; if (is.na(deco)) return ("") else return(paste0("_",deco)) }) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
33 namecustom = make.unique(paste0("M",round(variableMetadata[,"mz"],numDigitsMZ),"T",round(variableMetadata[,"rt"],numDigitsRT),idsDeco)) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
34 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))]) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
35 return(variableMetadata) |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
36 } |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
37 |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
38 #@author G. Le Corguille |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
39 # value: intensity values to be used into, maxo or intb |
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
40 getPeaklistW4M <- function(xset, intval="into",convertRTMinute=F,numDigitsMZ=4,numDigitsRT=0,variableMetadataOutput,dataMatrixOutput) { |
19
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
41 variableMetadata_dataMatrix = peakTable(xset, method="medret", value=intval) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
42 variableMetadata_dataMatrix = cbind(name=groupnames(xset),variableMetadata_dataMatrix) |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
43 |
19
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
44 dataMatrix = variableMetadata_dataMatrix[,(make.names(colnames(variableMetadata_dataMatrix)) %in% c("name", make.names(sampnames(xset))))] |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
45 |
19
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
46 variableMetadata = variableMetadata_dataMatrix[,!(make.names(colnames(variableMetadata_dataMatrix)) %in% c(make.names(sampnames(xset))))] |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
47 variableMetadata = RTSecondToMinute(variableMetadata, convertRTMinute) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
48 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ) |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
49 |
19
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
50 write.table(variableMetadata, file=variableMetadataOutput,sep="\t",quote=F,row.names=F) |
2faecb1270fe
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
18
diff
changeset
|
51 write.table(dataMatrix, file=dataMatrixOutput,sep="\t",quote=F,row.names=F) |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
52 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
53 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
54 #@author Y. Guitton |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
55 getBPC <- function(file,rtcor=NULL, ...) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
56 object <- xcmsRaw(file) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
57 sel <- profRange(object, ...) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
58 cbind(if (is.null(rtcor)) object@scantime[sel$scanidx] else rtcor ,xcms:::colMax(object@env$profile[sel$massidx,sel$scanidx,drop=FALSE])) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
59 #plotChrom(xcmsRaw(file), base=T) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
60 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
61 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
62 #@author Y. Guitton |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
63 getBPCs <- function (xcmsSet=NULL, pdfname="BPCs.pdf",rt=c("raw","corrected"), scanrange=NULL) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
64 cat("Creating BIC pdf...\n") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
65 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
66 if (is.null(xcmsSet)) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
67 cat("Enter an xcmsSet \n") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
68 stop() |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
69 } else { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
70 files <- filepaths(xcmsSet) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
71 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
72 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
73 phenoDataClass<-as.vector(levels(xcmsSet@phenoData[,1])) #sometime phenoData have more than 1 column use first as class |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
74 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
75 classnames<-vector("list",length(phenoDataClass)) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
76 for (i in 1:length(phenoDataClass)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
77 classnames[[i]]<-which( xcmsSet@phenoData[,1]==phenoDataClass[i]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
78 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
79 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
80 N <- dim(phenoData(xcmsSet))[1] |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
81 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
82 TIC <- vector("list",N) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
83 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
84 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
85 for (j in 1:N) { |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
86 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
87 TIC[[j]] <- getBPC(files[j]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
88 #good for raw |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
89 # seems strange for corrected |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
90 #errors if scanrange used in xcmsSetgeneration |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
91 if (!is.null(xcmsSet) && rt == "corrected") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
92 rtcor <- xcmsSet@rt$corrected[[j]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
93 else |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
94 rtcor <- NULL |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
95 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
96 TIC[[j]] <- getBPC(files[j],rtcor=rtcor) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
97 # TIC[[j]][,1]<-rtcor |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
98 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
99 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
100 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
101 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
102 pdf(pdfname,w=16,h=10) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
103 cols <- rainbow(N) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
104 lty = 1:N |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
105 pch = 1:N |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
106 #search for max x and max y in BPCs |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
107 xlim = range(sapply(TIC, function(x) range(x[,1]))) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
108 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
109 ylim = c(-ylim[2], ylim[2]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
110 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
111 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
112 ##plot start |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
113 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
114 if (length(phenoDataClass)>2){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
115 for (k in 1:(length(phenoDataClass)-1)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
116 for (l in (k+1):length(phenoDataClass)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
117 #print(paste(phenoDataClass[k],"vs",phenoDataClass[l],sep=" ")) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
118 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Base Peak Chromatograms \n","BPCs_",phenoDataClass[k]," vs ",phenoDataClass[l], sep=""), xlab = "Retention Time (min)", ylab = "BPC") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
119 colvect<-NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
120 for (j in 1:length(classnames[[k]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
121 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
122 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
123 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
124 colvect<-append(colvect,cols[classnames[[k]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
125 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
126 for (j in 1:length(classnames[[l]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
127 # i=class2names[j] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
128 tic <- TIC[[classnames[[l]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
129 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
130 colvect<-append(colvect,cols[classnames[[l]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
131 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
132 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
133 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
134 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
135 }#end if length >2 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
136 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
137 if (length(phenoDataClass)==2){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
138 k=1 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
139 l=2 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
140 colvect<-NULL |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
141 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Base Peak Chromatograms \n","BPCs_",phenoDataClass[k],"vs",phenoDataClass[l], sep=""), xlab = "Retention Time (min)", ylab = "BPC") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
142 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
143 for (j in 1:length(classnames[[k]])) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
144 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
145 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
146 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
147 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
148 colvect<-append(colvect,cols[classnames[[k]][j]]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
149 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
150 for (j in 1:length(classnames[[l]])) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
151 # i=class2names[j] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
152 tic <- TIC[[classnames[[l]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
153 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
154 colvect<-append(colvect,cols[classnames[[l]][j]]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
155 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
156 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
157 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
158 }#end length ==2 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
159 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
160 #case where only one class |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
161 if (length(phenoDataClass)==1){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
162 k=1 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
163 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
164 colvect<-NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
165 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Base Peak Chromatograms \n","BPCs_",phenoDataClass[k], sep=""), xlab = "Retention Time (min)", ylab = "BPC") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
166 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
167 for (j in 1:length(classnames[[k]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
168 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
169 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
170 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
171 colvect<-append(colvect,cols[classnames[[k]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
172 } |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
173 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
174 legend("topright",paste(basename(files[c(classnames[[k]])])), col = colvect, lty = lty, pch = pch) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
175 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
176 }#end length ==1 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
177 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
178 dev.off() #pdf(pdfname,w=16,h=10) |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
179 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
180 invisible(TIC) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
181 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
182 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
183 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
184 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
185 #@author Y. Guitton |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
186 getTIC <- function(file,rtcor=NULL) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
187 object <- xcmsRaw(file) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
188 cbind(if (is.null(rtcor)) object@scantime else rtcor, rawEIC(object,mzrange=range(object@env$mz))$intensity) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
189 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
190 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
191 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
192 ## overlay TIC from all files in current folder or from xcmsSet, create pdf |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
193 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
194 #@author Y. Guitton |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
195 getTICs <- function(xcmsSet=NULL,files=NULL, pdfname="TICs.pdf",rt=c("raw","corrected")) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
196 cat("Creating TIC pdf...\n") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
197 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
198 if (is.null(xcmsSet)) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
199 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]", "[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
200 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""), collapse = "|") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
201 if (is.null(files)) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
202 files <- getwd() |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
203 info <- file.info(files) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
204 listed <- list.files(files[info$isdir], pattern = filepattern, recursive = TRUE, full.names = TRUE) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
205 files <- c(files[!info$isdir], listed) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
206 } else { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
207 files <- filepaths(xcmsSet) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
208 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
209 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
210 phenoDataClass<-as.vector(levels(xcmsSet@phenoData[,1])) #sometime phenoData have more than 1 column use first as class |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
211 classnames<-vector("list",length(phenoDataClass)) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
212 for (i in 1:length(phenoDataClass)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
213 classnames[[i]]<-which( xcmsSet@phenoData[,1]==phenoDataClass[i]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
214 } |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
215 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
216 N <- length(files) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
217 TIC <- vector("list",N) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
218 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
219 for (i in 1:N) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
220 if (!is.null(xcmsSet) && rt == "corrected") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
221 rtcor <- xcmsSet@rt$corrected[[i]] else |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
222 rtcor <- NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
223 TIC[[i]] <- getTIC(files[i],rtcor=rtcor) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
224 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
225 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
226 pdf(pdfname,w=16,h=10) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
227 cols <- rainbow(N) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
228 lty = 1:N |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
229 pch = 1:N |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
230 #search for max x and max y in TICs |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
231 xlim = range(sapply(TIC, function(x) range(x[,1]))) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
232 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
233 ylim = c(-ylim[2], ylim[2]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
234 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
235 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
236 ##plot start |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
237 if (length(phenoDataClass)>2){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
238 for (k in 1:(length(phenoDataClass)-1)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
239 for (l in (k+1):length(phenoDataClass)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
240 #print(paste(phenoDataClass[k],"vs",phenoDataClass[l],sep=" ")) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
241 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Total Ion Chromatograms \n","TICs_",phenoDataClass[k]," vs ",phenoDataClass[l], sep=""), xlab = "Retention Time (min)", ylab = "TIC") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
242 colvect<-NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
243 for (j in 1:length(classnames[[k]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
244 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
245 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
246 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
247 colvect<-append(colvect,cols[classnames[[k]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
248 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
249 for (j in 1:length(classnames[[l]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
250 # i=class2names[j] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
251 tic <- TIC[[classnames[[l]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
252 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
253 colvect<-append(colvect,cols[classnames[[l]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
254 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
255 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
256 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
257 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
258 }#end if length >2 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
259 if (length(phenoDataClass)==2){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
260 k=1 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
261 l=2 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
262 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
263 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Total Ion Chromatograms \n","TICs_",phenoDataClass[k],"vs",phenoDataClass[l], sep=""), xlab = "Retention Time (min)", ylab = "TIC") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
264 colvect<-NULL |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
265 for (j in 1:length(classnames[[k]])) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
266 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
267 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
268 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
269 colvect<-append(colvect,cols[classnames[[k]][j]]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
270 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
271 for (j in 1:length(classnames[[l]])) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
272 # i=class2names[j] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
273 tic <- TIC[[classnames[[l]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
274 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
275 colvect<-append(colvect,cols[classnames[[l]][j]]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
276 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
277 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
278 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
279 }#end length ==2 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
280 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
281 #case where only one class |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
282 if (length(phenoDataClass)==1){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
283 k=1 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
284 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
285 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
286 plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Total Ion Chromatograms \n","TICs_",phenoDataClass[k], sep=""), xlab = "Retention Time (min)", ylab = "TIC") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
287 colvect<-NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
288 for (j in 1:length(classnames[[k]])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
289 tic <- TIC[[classnames[[k]][j]]] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
290 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
291 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
292 colvect<-append(colvect,cols[classnames[[k]][j]]) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
293 } |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
294 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
295 legend("topright",paste(basename(files[c(classnames[[k]])])), col = colvect, lty = lty, pch = pch) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
296 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
297 }#end length ==1 |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
298 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
299 dev.off() #pdf(pdfname,w=16,h=10) |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
300 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
301 invisible(TIC) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
302 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
303 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
304 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
305 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
306 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
307 ## Get the polarities from all the samples of a condition |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
308 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
309 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
310 getSampleMetadata <- function(xcmsSet=NULL, sampleMetadataOutput="sampleMetadata.tsv") { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
311 cat("Creating the sampleMetadata file...\n") |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
312 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
313 #Create the sampleMetada dataframe |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
314 sampleMetadata=xset@phenoData |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
315 sampleNamesOrigin=rownames(sampleMetadata) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
316 sampleNamesMakeNames=make.names(sampleNamesOrigin) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
317 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
318 if (any(duplicated(sampleNamesMakeNames))) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
319 write("\n\nERROR: Usually, R has trouble to deal with special characters in its column names, so it rename them using make.names().\nIn your case, at least two columns after the renaming obtain the same name, thus XCMS will collapse those columns per name.", stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
320 for (sampleName in sampleNamesOrigin) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
321 write(paste(sampleName,"\t->\t",make.names(sampleName)),stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
322 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
323 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
324 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
325 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
326 if (!all(sampleNamesOrigin == sampleNamesMakeNames)) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
327 cat("\n\nWARNING: Usually, R has trouble to deal with special characters in its column names, so it rename them using make.names()\nIn your case, one or more sample names will be renamed in the sampleMetadata and dataMatrix files:\n") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
328 for (sampleName in sampleNamesOrigin) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
329 cat(paste(sampleName,"\t->\t",make.names(sampleName),"\n")) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
330 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
331 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
332 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
333 sampleMetadata$sampleMetadata=sampleNamesMakeNames |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
334 sampleMetadata=cbind(sampleMetadata["sampleMetadata"],sampleMetadata["class"]) #Reorder columns |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
335 rownames(sampleMetadata)=NULL |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
336 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
337 #Create a list of files name in the current directory |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
338 list_files=xset@filepaths |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
339 #For each sample file, the following actions are done |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
340 for (file in list_files){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
341 #Check if the file is in the CDF format |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
342 if (!mzR:::netCDFIsFile(file)){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
343 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
344 # If the column isn't exist, with add one filled with NA |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
345 if (is.null(sampleMetadata$polarity)) sampleMetadata$polarity=NA |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
346 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
347 #Create a simple xcmsRaw object for each sample |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
348 xcmsRaw=xcmsRaw(file) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
349 #Extract the polarity (a list of polarities) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
350 polarity=xcmsRaw@polarity |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
351 #Verify if all the scans have the same polarity |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
352 uniq_list=unique(polarity) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
353 if (length(uniq_list)>1){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
354 polarity="mixed" |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
355 } else { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
356 polarity=as.character(uniq_list) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
357 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
358 #Transforms the character to obtain only the sample name |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
359 filename=basename(file) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
360 library(tools) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
361 samplename=file_path_sans_ext(filename) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
362 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
363 #Set the polarity attribute |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
364 sampleMetadata$polarity[sampleMetadata$sampleMetadata==samplename]=polarity |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
365 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
366 #Delete xcmsRaw object because it creates a bug for the fillpeaks step |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
367 rm(xcmsRaw) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
368 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
369 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
370 } |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
371 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
372 write.table(sampleMetadata, sep="\t", quote=FALSE, row.names=FALSE, file=sampleMetadataOutput) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
373 |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
374 return(list("sampleNamesOrigin"=sampleNamesOrigin,"sampleNamesMakeNames"=sampleNamesMakeNames)) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
375 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
376 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
377 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
378 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
379 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
380 ## This function check if xcms will found all the files |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
381 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
382 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
383 checkFilesCompatibilityWithXcms <- function(directory) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
384 cat("Checking files filenames compatibilities with xmcs...\n") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
385 # WHAT XCMS WILL FIND |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
386 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
387 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""),collapse = "|") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
388 info <- file.info(directory) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
389 listed <- list.files(directory[info$isdir], pattern = filepattern,recursive = TRUE, full.names = TRUE) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
390 files <- c(directory[!info$isdir], listed) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
391 files_abs <- file.path(getwd(), files) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
392 exists <- file.exists(files_abs) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
393 files[exists] <- files_abs[exists] |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
394 files[exists] <- sub("//","/",files[exists]) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
395 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
396 # WHAT IS ON THE FILESYSTEM |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
397 filesystem_filepaths=system(paste("find $PWD/",directory," -not -name '\\.*' -not -path '*conda-env*' -type f -name \"*\"", sep=""), intern=T) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
398 filesystem_filepaths=filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)] |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
399 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
400 # COMPARISON |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
401 if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) { |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
402 write("\n\nERROR: List of the files which will not be imported by xcmsSet",stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
403 write(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
404 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
405 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
406 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
407 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
408 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
409 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
410 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
411 ## This function check if XML contains special caracters. It also checks integrity and completness. |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
412 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
413 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
414 checkXmlStructure <- function (directory) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
415 cat("Checking XML structure...\n") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
416 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
417 cmd=paste("IFS=$'\n'; for xml in $(find",directory,"-not -name '\\.*' -not -path '*conda-env*' -type f -iname '*.*ml*'); do if [ $(xmllint --nonet --noout \"$xml\" 2> /dev/null; echo $?) -gt 0 ]; then echo $xml;fi; done;") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
418 capture=system(cmd,intern=TRUE) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
419 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
420 if (length(capture)>0){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
421 #message=paste("The following mzXML or mzML file is incorrect, please check these files first:",capture) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
422 write("\n\nERROR: The following mzXML or mzML file(s) are incorrect, please check these files first:", stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
423 write(capture, stderr()) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
424 stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
425 } |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
426 |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
427 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
428 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
429 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
430 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
431 ## This function check if XML contain special characters |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
432 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
433 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
434 deleteXmlBadCharacters<- function (directory) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
435 cat("Checking Non ASCII characters in the XML...\n") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
436 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
437 processed=F |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
438 l=system( paste("find",directory, "-not -name '\\.*' -not -path '*conda-env*' -type f -iname '*.*ml*'"),intern=TRUE) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
439 for (i in l){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
440 cmd=paste("LC_ALL=C grep '[^ -~]' \"",i,"\"",sep="") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
441 capture=suppressWarnings(system(cmd,intern=TRUE)) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
442 if (length(capture)>0){ |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
443 cmd=paste("perl -i -pe 's/[^[:ascii:]]//g;'",i) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
444 print( paste("WARNING: Non ASCII characters have been removed from the ",i,"file") ) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
445 c=system(cmd,intern=TRUE) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
446 capture="" |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
447 processed=T |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
448 } |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
449 } |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
450 if (processed) cat("\n\n") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
451 return(processed) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
452 } |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
453 |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
454 |
15
c04568596f40
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
455 ## |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
456 ## This function will compute MD5 checksum to check the data integrity |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
457 ## |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
458 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr |
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
459 getMd5sum <- function (directory) { |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
460 cat("Compute md5 checksum...\n") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
461 # WHAT XCMS WILL FIND |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
462 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
463 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""),collapse = "|") |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
464 info <- file.info(directory) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
465 listed <- list.files(directory[info$isdir], pattern = filepattern,recursive = TRUE, full.names = TRUE) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
466 files <- c(directory[!info$isdir], listed) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
467 exists <- file.exists(files) |
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
468 files <- files[exists] |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
469 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
470 library(tools) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
471 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
472 #cat("\n\n") |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
473 |
16
20a75ba4345b
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
474 return(as.matrix(md5sum(files))) |
6
fcd93f47dcbf
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
475 } |