Mercurial > repos > lecorguille > xcms_fillpeaks
annotate lib.r @ 29:f6d3e6be4ea3 draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
| author | lecorguille |
|---|---|
| date | Tue, 24 Oct 2017 11:48:31 -0400 |
| parents | 4db7afa8284d |
| children | 6b5ed508f81f |
| rev | line source |
|---|---|
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
1 #Authors ABiMS TEAM |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
2 #Lib.r for Galaxy Workflow4Metabolomics xcms tools |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
3 # |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
4 #version 2.4: lecorguille |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
5 # add getPeaklistW4M |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
6 #version 2.3: yguitton |
|
1c78d61fd646
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 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
8 #version 2.2 |
|
1c78d61fd646
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 |
|
1c78d61fd646
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 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
11 #version 2.1: yguitton |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
12 # Modifications made by Guitton Yann |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
13 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
14 |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
15 #@author G. Le Corguille |
|
1c78d61fd646
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 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
17 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
18 if (convertRTMinute){ |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
19 #converting the retention times (seconds) into minutes |
|
1c78d61fd646
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") |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
21 variableMetadata[,"rt"]=variableMetadata[,"rt"]/60 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
22 variableMetadata[,"rtmin"]=variableMetadata[,"rtmin"]/60 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
23 variableMetadata[,"rtmax"]=variableMetadata[,"rtmax"]/60 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
24 } |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
25 return (variableMetadata) |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
26 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
27 |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
28 #@author G. Le Corguille |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
29 #This function format ions identifiers |
|
20
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
30 formatIonIdentifiers <- function(variableMetadata, numDigitsRT=0, numDigitsMZ=0) { |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
31 splitDeco = strsplit(as.character(variableMetadata$name),"_") |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
32 idsDeco = sapply(splitDeco, function(x) { deco=unlist(x)[2]; if (is.na(deco)) return ("") else return(paste0("_",deco)) }) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
33 namecustom = make.unique(paste0("M",round(variableMetadata[,"mz"],numDigitsMZ),"T",round(variableMetadata[,"rt"],numDigitsRT),idsDeco)) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
34 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))]) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
35 return(variableMetadata) |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
36 } |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
37 |
|
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
38 #@author G. Le Corguille |
|
1c78d61fd646
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 |
|
1c78d61fd646
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) { |
|
20
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
41 variableMetadata_dataMatrix = peakTable(xset, method="medret", value=intval) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
42 variableMetadata_dataMatrix = cbind(name=groupnames(xset),variableMetadata_dataMatrix) |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
43 |
|
20
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
44 dataMatrix = variableMetadata_dataMatrix[,(make.names(colnames(variableMetadata_dataMatrix)) %in% c("name", make.names(sampnames(xset))))] |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
45 |
|
20
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
46 variableMetadata = variableMetadata_dataMatrix[,!(make.names(colnames(variableMetadata_dataMatrix)) %in% c(make.names(sampnames(xset))))] |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
47 variableMetadata = RTSecondToMinute(variableMetadata, convertRTMinute) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
48 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=numDigitsRT, numDigitsMZ=numDigitsMZ) |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
49 |
|
20
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
50 write.table(variableMetadata, file=variableMetadataOutput,sep="\t",quote=F,row.names=F) |
|
02bb34af0921
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 481448087f0e09c131b24f7d552db69f3552d371-dirty
lecorguille
parents:
19
diff
changeset
|
51 write.table(dataMatrix, file=dataMatrixOutput,sep="\t",quote=F,row.names=F) |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
52 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
53 |
|
29
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
54 #@author G. Le Corguille |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
55 exportTicBpcTabular <- function(dataset, filenameBase, ticORbpc, rt='raw') { |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
56 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
57 rawORcorrected = '' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
58 title = '' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
59 if (rt=='corrected') { |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
60 rawORcorrected = '_corrected' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
61 title = ' corrected by retcor' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
62 } |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
63 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
64 if (ticORbpc == "TIC") { |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
65 section_name = paste0('TIC',rawORcorrected) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
66 title = paste0('Total Ion Current (TIC) chromatogram',title) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
67 description = 'Sum of intensity (Y) of all ions detected at each retention time(X)' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
68 } else if (ticORbpc == "BPC") { |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
69 section_name = paste0('BPC',rawORcorrected) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
70 title = paste0('Base Peak Chromatogram (BPC)',title) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
71 description = 'Sum of intensity (Y) of the most intense peaks at each retention time(X)' |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
72 } |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
73 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
74 filename=paste0(basename(file_path_sans_ext(filenameBase)),"-",ticORbpc,rawORcorrected,"_mqc.out") |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
75 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
76 # Headers for MultiQC |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
77 cat("# file_format: 'tsv'\n", sep="", file = filename) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
78 cat("# section_name: '",section_name,"'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
79 cat("# title: '",title,"'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
80 cat("# description: '",description,"'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
81 cat("# plot_type: 'linegraph'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
82 cat("# pconfig:\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
83 cat("# id: '",ticORbpc,rawORcorrected,"_lineplot'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
84 cat("# ylab: 'Base Peak Intensity'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
85 cat("# xlab: 'Retention Time'\n", sep="", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
86 cat("Intensity\tRT\n", file = filename, append = T) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
87 write.table(dataset, filename ,row.names = F, col.names = F, sep = "\t", append = T, quote = F) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
88 } |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
89 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
90 #@author Y. Guitton |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
91 getBPC <- function(file,rtcor=NULL, ...) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
92 object <- xcmsRaw(file) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
93 sel <- profRange(object, ...) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
94 cbind(if (is.null(rtcor)) object@scantime[sel$scanidx] else rtcor ,xcms:::colMax(object@env$profile[sel$massidx,sel$scanidx,drop=FALSE])) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
95 #plotChrom(xcmsRaw(file), base=T) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
96 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
97 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
98 #@author Y. Guitton |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
99 getBPCs <- function (xcmsSet=NULL, pdfname="BPCs.pdf",rt=c("raw","corrected"), scanrange=NULL) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
100 cat("Creating BIC pdf...\n") |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
101 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
102 if (is.null(xcmsSet)) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
103 cat("Enter an xcmsSet \n") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
104 stop() |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
105 } else { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
106 files <- filepaths(xcmsSet) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
107 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
108 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
109 phenoDataClass<-as.vector(levels(xcmsSet@phenoData[,1])) #sometime phenoData have more than 1 column use first as class |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
110 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
111 classnames<-vector("list",length(phenoDataClass)) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
112 for (i in 1:length(phenoDataClass)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
113 classnames[[i]]<-which( xcmsSet@phenoData[,1]==phenoDataClass[i]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
114 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
115 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
116 N <- dim(phenoData(xcmsSet))[1] |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
117 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
118 TIC <- vector("list",N) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
119 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
120 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
121 for (j in 1:N) { |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
122 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
123 TIC[[j]] <- getBPC(files[j]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
124 #good for raw |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
125 # seems strange for corrected |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
126 #errors if scanrange used in xcmsSetgeneration |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
127 if (!is.null(xcmsSet) && rt == "corrected") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
128 rtcor <- xcmsSet@rt$corrected[[j]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
129 else |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
130 rtcor <- NULL |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
131 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
132 TIC[[j]] <- getBPC(files[j],rtcor=rtcor) |
|
29
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
133 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
134 exportTicBpcTabular(TIC[[j]], files[j], "BPC", rt=rt) |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
135 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
136 # TIC[[j]][,1]<-rtcor |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
137 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
138 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
139 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
140 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
141 pdf(pdfname,w=16,h=10) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
142 cols <- rainbow(N) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
143 lty = 1:N |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
144 pch = 1:N |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
145 #search for max x and max y in BPCs |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
146 xlim = range(sapply(TIC, function(x) range(x[,1]))) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
147 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
148 ylim = c(-ylim[2], ylim[2]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
149 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
150 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
151 ##plot start |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
152 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
153 if (length(phenoDataClass)>2){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
154 for (k in 1:(length(phenoDataClass)-1)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
155 for (l in (k+1):length(phenoDataClass)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
156 #print(paste(phenoDataClass[k],"vs",phenoDataClass[l],sep=" ")) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
157 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") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
158 colvect<-NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
159 for (j in 1:length(classnames[[k]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
160 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
161 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
162 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
163 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
164 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
165 for (j in 1:length(classnames[[l]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
166 # i=class2names[j] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
167 tic <- TIC[[classnames[[l]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
168 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
169 colvect<-append(colvect,cols[classnames[[l]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
170 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
171 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
172 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
173 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
174 }#end if length >2 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
175 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
176 if (length(phenoDataClass)==2){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
177 k=1 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
178 l=2 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
179 colvect<-NULL |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
180 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") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
181 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
182 for (j in 1:length(classnames[[k]])) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
183 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
184 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
185 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
186 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
187 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
188 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
189 for (j in 1:length(classnames[[l]])) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
190 # i=class2names[j] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
191 tic <- TIC[[classnames[[l]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
192 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
193 colvect<-append(colvect,cols[classnames[[l]][j]]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
194 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
195 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
196 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
197 }#end length ==2 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
198 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
199 #case where only one class |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
200 if (length(phenoDataClass)==1){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
201 k=1 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
202 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
203 colvect<-NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
204 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
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
205 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
206 for (j in 1:length(classnames[[k]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
207 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
208 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
209 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
210 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
211 } |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
212 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
213 legend("topright",paste(basename(files[c(classnames[[k]])])), col = colvect, lty = lty, pch = pch) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
214 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
215 }#end length ==1 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
216 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
217 dev.off() #pdf(pdfname,w=16,h=10) |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
218 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
219 invisible(TIC) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
220 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
221 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
222 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
223 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
224 #@author Y. Guitton |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
225 getTIC <- function(file,rtcor=NULL) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
226 object <- xcmsRaw(file) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
227 cbind(if (is.null(rtcor)) object@scantime else rtcor, rawEIC(object,mzrange=range(object@env$mz))$intensity) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
228 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
229 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
230 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
231 ## overlay TIC from all files in current folder or from xcmsSet, create pdf |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
232 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
233 #@author Y. Guitton |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
234 getTICs <- function(xcmsSet=NULL,files=NULL, pdfname="TICs.pdf",rt=c("raw","corrected")) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
235 cat("Creating TIC pdf...\n") |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
236 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
237 if (is.null(xcmsSet)) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
238 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]", "[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
239 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""), collapse = "|") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
240 if (is.null(files)) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
241 files <- getwd() |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
242 info <- file.info(files) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
243 listed <- list.files(files[info$isdir], pattern = filepattern, recursive = TRUE, full.names = TRUE) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
244 files <- c(files[!info$isdir], listed) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
245 } else { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
246 files <- filepaths(xcmsSet) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
247 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
248 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
249 phenoDataClass<-as.vector(levels(xcmsSet@phenoData[,1])) #sometime phenoData have more than 1 column use first as class |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
250 classnames<-vector("list",length(phenoDataClass)) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
251 for (i in 1:length(phenoDataClass)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
252 classnames[[i]]<-which( xcmsSet@phenoData[,1]==phenoDataClass[i]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
253 } |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
254 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
255 N <- length(files) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
256 TIC <- vector("list",N) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
257 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
258 for (i in 1:N) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
259 if (!is.null(xcmsSet) && rt == "corrected") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
260 rtcor <- xcmsSet@rt$corrected[[i]] else |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
261 rtcor <- NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
262 TIC[[i]] <- getTIC(files[i],rtcor=rtcor) |
|
29
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
263 |
|
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
264 exportTicBpcTabular(TIC[[i]], files[i], "TIC", rt=rt) |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
265 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
266 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
267 pdf(pdfname,w=16,h=10) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
268 cols <- rainbow(N) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
269 lty = 1:N |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
270 pch = 1:N |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
271 #search for max x and max y in TICs |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
272 xlim = range(sapply(TIC, function(x) range(x[,1]))) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
273 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
274 ylim = c(-ylim[2], ylim[2]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
275 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
276 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
277 ##plot start |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
278 if (length(phenoDataClass)>2){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
279 for (k in 1:(length(phenoDataClass)-1)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
280 for (l in (k+1):length(phenoDataClass)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
281 #print(paste(phenoDataClass[k],"vs",phenoDataClass[l],sep=" ")) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
282 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") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
283 colvect<-NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
284 for (j in 1:length(classnames[[k]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
285 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
286 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
287 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
288 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
289 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
290 for (j in 1:length(classnames[[l]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
291 # i=class2names[j] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
292 tic <- TIC[[classnames[[l]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
293 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
294 colvect<-append(colvect,cols[classnames[[l]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
295 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
296 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
297 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
298 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
299 }#end if length >2 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
300 if (length(phenoDataClass)==2){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
301 k=1 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
302 l=2 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
303 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
304 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
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
305 colvect<-NULL |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
306 for (j in 1:length(classnames[[k]])) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
307 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
308 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
309 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
310 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
311 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
312 for (j in 1:length(classnames[[l]])) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
313 # i=class2names[j] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
314 tic <- TIC[[classnames[[l]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
315 points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
316 colvect<-append(colvect,cols[classnames[[l]][j]]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
317 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
318 legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch) |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
319 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
320 }#end length ==2 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
321 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
322 #case where only one class |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
323 if (length(phenoDataClass)==1){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
324 k=1 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
325 ylim = range(sapply(TIC, function(x) range(x[,2]))) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
326 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
327 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") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
328 colvect<-NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
329 for (j in 1:length(classnames[[k]])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
330 tic <- TIC[[classnames[[k]][j]]] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
331 # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
332 points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
333 colvect<-append(colvect,cols[classnames[[k]][j]]) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
334 } |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
335 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
336 legend("topright",paste(basename(files[c(classnames[[k]])])), col = colvect, lty = lty, pch = pch) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
337 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
338 }#end length ==1 |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
339 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
340 dev.off() #pdf(pdfname,w=16,h=10) |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
341 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
342 invisible(TIC) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
343 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
344 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
345 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
346 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
347 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
348 ## Get the polarities from all the samples of a condition |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
349 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
350 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
351 getSampleMetadata <- function(xcmsSet=NULL, sampleMetadataOutput="sampleMetadata.tsv") { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
352 cat("Creating the sampleMetadata file...\n") |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
353 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
354 #Create the sampleMetada dataframe |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
355 sampleMetadata=xset@phenoData |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
356 sampleNamesOrigin=rownames(sampleMetadata) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
357 sampleNamesMakeNames=make.names(sampleNamesOrigin) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
358 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
359 if (any(duplicated(sampleNamesMakeNames))) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
360 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()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
361 for (sampleName in sampleNamesOrigin) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
362 write(paste(sampleName,"\t->\t",make.names(sampleName)),stderr()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
363 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
364 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
365 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
366 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
367 if (!all(sampleNamesOrigin == sampleNamesMakeNames)) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
368 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") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
369 for (sampleName in sampleNamesOrigin) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
370 cat(paste(sampleName,"\t->\t",make.names(sampleName),"\n")) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
371 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
372 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
373 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
374 sampleMetadata$sampleMetadata=sampleNamesMakeNames |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
375 sampleMetadata=cbind(sampleMetadata["sampleMetadata"],sampleMetadata["class"]) #Reorder columns |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
376 rownames(sampleMetadata)=NULL |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
377 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
378 #Create a list of files name in the current directory |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
379 list_files=xset@filepaths |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
380 #For each sample file, the following actions are done |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
381 for (file in list_files){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
382 #Check if the file is in the CDF format |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
383 if (!mzR:::netCDFIsFile(file)){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
384 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
385 # If the column isn't exist, with add one filled with NA |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
386 if (is.null(sampleMetadata$polarity)) sampleMetadata$polarity=NA |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
387 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
388 #Create a simple xcmsRaw object for each sample |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
389 xcmsRaw=xcmsRaw(file) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
390 #Extract the polarity (a list of polarities) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
391 polarity=xcmsRaw@polarity |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
392 #Verify if all the scans have the same polarity |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
393 uniq_list=unique(polarity) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
394 if (length(uniq_list)>1){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
395 polarity="mixed" |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
396 } else { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
397 polarity=as.character(uniq_list) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
398 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
399 #Transforms the character to obtain only the sample name |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
400 filename=basename(file) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
401 library(tools) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
402 samplename=file_path_sans_ext(filename) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
403 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
404 #Set the polarity attribute |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
405 sampleMetadata$polarity[sampleMetadata$sampleMetadata==samplename]=polarity |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
406 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
407 #Delete xcmsRaw object because it creates a bug for the fillpeaks step |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
408 rm(xcmsRaw) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
409 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
410 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
411 } |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
412 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
413 write.table(sampleMetadata, sep="\t", quote=FALSE, row.names=FALSE, file=sampleMetadataOutput) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
414 |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
415 return(list("sampleNamesOrigin"=sampleNamesOrigin,"sampleNamesMakeNames"=sampleNamesMakeNames)) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
416 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
417 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
418 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
419 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
420 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
421 ## This function check if xcms will found all the files |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
422 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
423 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
424 checkFilesCompatibilityWithXcms <- function(directory) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
425 cat("Checking files filenames compatibilities with xmcs...\n") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
426 # WHAT XCMS WILL FIND |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
427 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
428 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""),collapse = "|") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
429 info <- file.info(directory) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
430 listed <- list.files(directory[info$isdir], pattern = filepattern,recursive = TRUE, full.names = TRUE) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
431 files <- c(directory[!info$isdir], listed) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
432 files_abs <- file.path(getwd(), files) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
433 exists <- file.exists(files_abs) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
434 files[exists] <- files_abs[exists] |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
435 files[exists] <- sub("//","/",files[exists]) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
436 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
437 # WHAT IS ON THE FILESYSTEM |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
438 filesystem_filepaths=system(paste("find $PWD/",directory," -not -name '\\.*' -not -path '*conda-env*' -type f -name \"*\"", sep=""), intern=T) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
439 filesystem_filepaths=filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)] |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
440 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
441 # COMPARISON |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
442 if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) { |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
443 write("\n\nERROR: List of the files which will not be imported by xcmsSet",stderr()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
444 write(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
445 stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
446 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
447 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
448 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
449 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
450 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
451 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
452 ## This function check if XML contains special caracters. It also checks integrity and completness. |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
453 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
454 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
455 checkXmlStructure <- function (directory) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
456 cat("Checking XML structure...\n") |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
457 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
458 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;") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
459 capture=system(cmd,intern=TRUE) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
460 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
461 if (length(capture)>0){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
462 #message=paste("The following mzXML or mzML file is incorrect, please check these files first:",capture) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
463 write("\n\nERROR: The following mzXML or mzML file(s) are incorrect, please check these files first:", stderr()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
464 write(capture, stderr()) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
465 stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
466 } |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
467 |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
468 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
469 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
470 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
471 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
472 ## This function check if XML contain special characters |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
473 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
474 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
475 deleteXmlBadCharacters<- function (directory) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
476 cat("Checking Non ASCII characters in the XML...\n") |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
477 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
478 processed=F |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
479 l=system( paste("find",directory, "-not -name '\\.*' -not -path '*conda-env*' -type f -iname '*.*ml*'"),intern=TRUE) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
480 for (i in l){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
481 cmd=paste("LC_ALL=C grep '[^ -~]' \"",i,"\"",sep="") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
482 capture=suppressWarnings(system(cmd,intern=TRUE)) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
483 if (length(capture)>0){ |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
484 cmd=paste("perl -i -pe 's/[^[:ascii:]]//g;'",i) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
485 print( paste("WARNING: Non ASCII characters have been removed from the ",i,"file") ) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
486 c=system(cmd,intern=TRUE) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
487 capture="" |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
488 processed=T |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
489 } |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
490 } |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
491 if (processed) cat("\n\n") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
492 return(processed) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
493 } |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
494 |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
495 |
|
15
1c78d61fd646
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 08e7f269a5c59687a7768be8db5fcb4e4d736093
lecorguille
parents:
14
diff
changeset
|
496 ## |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
497 ## This function will compute MD5 checksum to check the data integrity |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
498 ## |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
499 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr |
|
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
500 getMd5sum <- function (directory) { |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
501 cat("Compute md5 checksum...\n") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
502 # WHAT XCMS WILL FIND |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
503 filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
504 filepattern <- paste(paste("\\.", filepattern, "$", sep = ""),collapse = "|") |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
505 info <- file.info(directory) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
506 listed <- list.files(directory[info$isdir], pattern = filepattern,recursive = TRUE, full.names = TRUE) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
507 files <- c(directory[!info$isdir], listed) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
508 exists <- file.exists(files) |
|
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
509 files <- files[exists] |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
510 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
511 library(tools) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
512 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
513 #cat("\n\n") |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
514 |
|
16
5f61570177e2
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 22c4e92909198328fc7439ff47e4546a273eb907
lecorguille
parents:
15
diff
changeset
|
515 return(as.matrix(md5sum(files))) |
|
6
f00e39a4b0fb
planemo upload commit a3229faad6949bbca965d1d7e138cb3c0550780e
lecorguille
parents:
diff
changeset
|
516 } |
|
23
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
517 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
518 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
519 # This function get the raw file path from the arguments |
|
29
f6d3e6be4ea3
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
lecorguille
parents:
26
diff
changeset
|
520 getRawfilePathFromArguments <- function(singlefile, zipfile, listArguments) { |
|
23
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
521 if (!is.null(listArguments[["zipfile"]])) zipfile = listArguments[["zipfile"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
522 if (!is.null(listArguments[["zipfilePositive"]])) zipfile = listArguments[["zipfilePositive"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
523 if (!is.null(listArguments[["zipfileNegative"]])) zipfile = listArguments[["zipfileNegative"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
524 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
525 if (!is.null(listArguments[["singlefile_galaxyPath"]])) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
526 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPath"]]; |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
527 singlefile_sampleNames = listArguments[["singlefile_sampleName"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
528 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
529 if (!is.null(listArguments[["singlefile_galaxyPathPositive"]])) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
530 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathPositive"]]; |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
531 singlefile_sampleNames = listArguments[["singlefile_sampleNamePositive"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
532 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
533 if (!is.null(listArguments[["singlefile_galaxyPathNegative"]])) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
534 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathNegative"]]; |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
535 singlefile_sampleNames = listArguments[["singlefile_sampleNameNegative"]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
536 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
537 if (exists("singlefile_galaxyPaths")){ |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
538 singlefile_galaxyPaths = unlist(strsplit(singlefile_galaxyPaths,",")) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
539 singlefile_sampleNames = unlist(strsplit(singlefile_sampleNames,",")) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
540 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
541 singlefile=NULL |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
542 for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
543 singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
544 singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
545 singlefile[[singlefile_sampleName]] = singlefile_galaxyPath |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
546 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
547 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
548 for (argument in c("zipfile","zipfilePositive","zipfileNegative","singlefile_galaxyPath","singlefile_sampleName","singlefile_galaxyPathPositive","singlefile_sampleNamePositive","singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
549 listArguments[[argument]]=NULL |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
550 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
551 return(list(zipfile=zipfile, singlefile=singlefile, listArguments=listArguments)) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
552 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
553 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
554 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
555 # This function retrieve the raw file in the working directory |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
556 # - if zipfile: unzip the file with its directory tree |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
557 # - if singlefiles: set symlink with the good filename |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
558 retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
559 if(!is.null(singlefile) && (length("singlefile")>0)) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
560 for (singlefile_sampleName in names(singlefile)) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
561 singlefile_galaxyPath = singlefile[[singlefile_sampleName]] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
562 if(!file.exists(singlefile_galaxyPath)){ |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
563 error_message=paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!") |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
564 print(error_message); stop(error_message) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
565 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
566 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
567 file.symlink(singlefile_galaxyPath,singlefile_sampleName) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
568 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
569 directory = "." |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
570 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
571 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
572 if(!is.null(zipfile) && (zipfile!="")) { |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
573 if(!file.exists(zipfile)){ |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
574 error_message=paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!") |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
575 print(error_message) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
576 stop(error_message) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
577 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
578 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
579 #list all file in the zip file |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
580 #zip_files=unzip(zipfile,list=T)[,"Name"] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
581 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
582 #unzip |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
583 suppressWarnings(unzip(zipfile, unzip="unzip")) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
584 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
585 #get the directory name |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
586 filesInZip=unzip(zipfile, list=T); |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
587 directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1]))); |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
588 directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir] |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
589 directory = "." |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
590 if (length(directories) == 1) directory = directories |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
591 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
592 cat("files_root_directory\t",directory,"\n") |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
593 |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
594 } |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
595 return (directory) |
|
7e289788d37d
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
lecorguille
parents:
20
diff
changeset
|
596 } |
