comparison xcms_merge.xml @ 7:dca722aecb67 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit e384d6dd5f410799ec211f73bca0b5d5d7bc651e
author lecorguille
date Thu, 01 Mar 2018 04:15:19 -0500
parents 5c7a7484dc51
children 6b5504f877ff
comparison
equal deleted inserted replaced
6:5c7a7484dc51 7:dca722aecb67
1 <tool id="xcms_merge" name="xcms.xcmsSet Merger" version="1.1.0"> 1 <tool id="xcms_merge" name="xcms findChromPeaks Merger" version="@WRAPPER_VERSION@.0">
2 <description>Merge xcms.xcmsSet xset in one to be used by group</description> 2 <description>Merge xcms findChromPeaks RData in one to be used by group</description>
3 3
4 <macros> 4 <macros>
5 <import>macros.xml</import> 5 <import>macros.xml</import>
6 </macros> 6 </macros>
7 7
8 <expand macro="requirements_light"/> 8 <expand macro="requirements"/>
9 <expand macro="stdio"/> 9 <expand macro="stdio"/>
10 10
11 <command><![CDATA[ 11 <command><![CDATA[
12 Rscript $script_file 12 @COMMAND_XCMS_SCRIPT@/xcms_merge.r
13
14 images 'c("${"\",\"".join(map(str, $images))}")'
15
16 #if str($sampleMetadata) != 'None':
17 sampleMetadata '$sampleMetadata'
18 #end if
19
20 @COMMAND_FILE_LOAD@
13 ]]></command> 21 ]]></command>
14
15 <configfiles>
16 <configfile name="script_file"><![CDATA[
17 suppressPackageStartupMessages(library(xcms, quietly=TRUE))
18
19 images=c(
20 "${"\",\"".join(map(str, $images))}"
21 )
22
23
24 cat("\tXSET MERGING...\n")
25
26 for(image in images) {
27 load(image)
28 cat(sampleNamesList\$sampleNamesOrigin,"\n")
29 if (!exists("xset_merged")) {
30 xset_merged=xset
31 singlefile_merged=singlefile
32 listOFlistArguments_merged=listOFlistArguments
33 md5sumList_merged=md5sumList
34 sampleNamesList_merged=sampleNamesList
35 } else {
36 xset_merged=c(xset_merged,xset)
37 singlefile_merged=c(singlefile_merged,singlefile)
38 listOFlistArguments_merged=c(listOFlistArguments_merged,listOFlistArguments)
39 md5sumList_merged\$origin=rbind(md5sumList_merged\$origin,md5sumList\$origin)
40 sampleNamesList_merged\$sampleNamesOrigin=c(sampleNamesList_merged\$sampleNamesOrigin,sampleNamesList\$sampleNamesOrigin)
41 sampleNamesList_merged\$sampleNamesMakeNames=c(sampleNamesList_merged\$sampleNamesMakeNames,sampleNamesList\$sampleNamesMakeNames)
42 }
43 }
44 rm(image)
45 xset=xset_merged; rm(xset_merged)
46 singlefile=singlefile_merged; rm(singlefile_merged)
47 listOFlistArguments=listOFlistArguments_merged; rm(listOFlistArguments_merged)
48 md5sumList=md5sumList_merged; rm(md5sumList_merged)
49 sampleNamesList=sampleNamesList_merged; rm(sampleNamesList_merged)
50
51 #if str($sampleMetadata) != 'None':
52 cat("\tXSET PHENODATA SETTING...\n")
53 sampleMetadata=read.table("$sampleMetadata", h=F, sep=";", stringsAsFactors=F)
54 if (ncol(sampleMetadata) < 2) sampleMetadata=read.table("$sampleMetadata", h=F, sep="\t", stringsAsFactors=F)
55 if (ncol(sampleMetadata) < 2) sampleMetadata=read.table("$sampleMetadata", h=F, sep=",", stringsAsFactors=F)
56 if (ncol(sampleMetadata) < 2) {
57 error_message="Your sampleMetadata file seems not well formatted. The column separators accepted are ; , and tabulation"
58 print(error_message)
59 stop(error_message)
60 }
61
62 sampclass(xset)=sampleMetadata\$V2[match(rownames(xset@phenoData),sampleMetadata\$V1)]
63
64 if (any(is.na(sampclass(xset)))) {
65 sample_missing <- rownames(phenoData(xset))[is.na(sampclass(xset))]
66 error_message <- paste("Those samples are missing in your sampleMetadata:", paste(sample_missing, collapse=" "))
67 print(error_message)
68 stop(error_message)
69 }
70 #end if
71
72
73
74 cat("\tXSET OBJECT INFO\n")
75
76 print(xset@phenoData)
77 print(xset)
78
79 cat("\tSAVE RData\n")
80 save.image("$xsetRData")
81
82 ]]></configfile>
83 </configfiles>
84 22
85 <inputs> 23 <inputs>
86 <param name="images" type="data" format="rdata.xcms.raw,rdata" label="xset RData / xcms.xcmsSet file" help="output file from another xcms.xcmsSet" multiple="true" /> 24 <param name="images" type="data" format="rdata.xcms.raw,rdata" label="xset RData / xcms.xcmsSet file" help="output file from another xcms.xcmsSet" multiple="true" />
87 <param name="sampleMetadata" label="Sample metadata file " format="tabular" type="data" optional="true" help="must contain at least one column with the sample id and one column with the sample class"/> 25 <param name="sampleMetadata" label="Sample metadata file " format="tabular" type="data" optional="true" help="must contain at least one column with the sample id and one column with the sample class"/>
26
27 <expand macro="input_file_load"/>
88 </inputs> 28 </inputs>
89 29
90 <outputs> 30 <outputs>
91 <data name="xsetRData" format="rdata.xcms.raw" label="xset.merged.RData" /> 31 <data name="xsetRData" format="rdata.xcms.raw" label="xset.merged.RData" from_work_dir="merged.RData" />
92 </outputs> 32 </outputs>
93 33
94 <tests> 34 <tests>
95 <test> 35 <!--<test>
96 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" /> 36 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" />
37 <expand macro="test_file_load_single"/>
97 <assert_stdout> 38 <assert_stdout>
98 <has_text text="object with 4 samples" /> 39 <has_text text="object with 4 samples" />
99 <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" /> 40 <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" />
100 <has_text text="Mass range: 200.1-600 m/z" /> 41 <has_text text="Mass range: 200.1-600 m/z" />
101 <has_text text="Peaks: 9251 (about 2313 per sample)" /> 42 <has_text text="Peaks: 9251 (about 2313 per sample)" />
102 <has_text text="Peak Groups: 0" /> 43 <has_text text="Peak Groups: 0" />
103 <has_text text="Sample classes: ." /> 44 <has_text text="Sample classes: ." />
104 </assert_stdout> 45 </assert_stdout>
105 </test> 46 </test>-->
106 <test> 47 <test>
107 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" /> 48 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" />
49 <expand macro="test_file_load_single"/>
108 <param name="sampleMetadata" value="sampleMetadata.tab" /> 50 <param name="sampleMetadata" value="sampleMetadata.tab" />
109 <assert_stdout> 51 <assert_stdout>
110 <has_text text="ko15 KO" /> 52 <has_text_matching expression="ko15\s+KO" />
111 <has_text text="ko16 KO" /> 53 <has_text_matching expression="ko16\s+KO" />
112 <has_text text="wt15 WT" /> 54 <has_text_matching expression="wt15\s+WT" />
113 <has_text text="wt16 WT" /> 55 <has_text_matching expression="wt16\s+WT" />
114 <has_text text="object with 4 samples" /> 56 <has_text text="object with 4 samples" />
115 <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" /> 57 <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" />
116 <has_text text="Mass range: 200.1-600 m/z" /> 58 <has_text text="Mass range: 200.1-600 m/z" />
117 <has_text text="Peaks: 9251 (about 2313 per sample)" /> 59 <has_text text="Peaks: 9251 (about 2313 per sample)" />
118 <has_text text="Peak Groups: 0" /> 60 <has_text text="Peak Groups: 0" />
119 <has_text text="Sample classes: KO, WT" /> 61 <has_text text="Sample classes: KO, WT" />
120 </assert_stdout> 62 </assert_stdout>
121 </test> 63 </test>
122 <test> 64 <!--<test expect_failure="True">
123 <param name="images" value="MM8-xset.RData,MM14-xset.RData" />
124 <assert_stdout>
125 <has_text text="object with 2 samples" />
126 <has_text text="Time range: 19.7-307.3 seconds (0.3-5.1 minutes)" />
127 <has_text text="Mass range: 117.0357-936.7059 m/z" />
128 <has_text text="Peaks: 236 (about 118 per sample)" />
129 <has_text text="Peak Groups: 0" />
130 <has_text text="Sample classes: ." />
131 </assert_stdout>
132 </test>
133 <test expect_failure="True">
134 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" /> 65 <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" />
135 <param name="sampleMetadata" value="sampleMetadata_missing.tab" /> 66 <param name="sampleMetadata" value="sampleMetadata_missing.tab" />
136 <expand macro="test_file_load_single"/> 67 <expand macro="test_file_load_single"/>
137 <assert_stderr> 68 <assert_stderr>
138 <has_text text="Those samples are missing in your sampleMetadata: ko16" /> 69 <has_text text="Those samples are missing in your sampleMetadata: ko16" />
139 </assert_stderr> 70 </assert_stderr>
140 </test> 71 </test>-->
141 </tests> 72 </tests>
142 73
143 <help><![CDATA[ 74 <help><![CDATA[
144 75
145 @HELP_AUTHORS@ 76 @HELP_AUTHORS@
146 77
147 =================== 78 ==========================
148 Xcms.xcmsSet Merger 79 xcms findChromPeaks Merger
149 =================== 80 ==========================
150 81
151 ----------- 82 -----------
152 Description 83 Description
153 ----------- 84 -----------
154 85
155 This tool will allow you to run one xcms.xcmsSet process per sample in parallel and then to merge all RData images in one. 86 This tool will allow you to run one xcms findChromPeaks process per sample in parallel and then to merge all RData images in one.
156 The result is then suitable for xcms.group. 87 The result is then suitable for xcms groupChromPeaks.
157 88
158 You can provide a sampleMetadata table to attribute phenotypic value to your samples. 89 You can provide a sampleMetadata table to attribute phenotypic value to your samples.
159 90
160 91
161 ----------------- 92 -----------------
228 --------------------------------------------------- 159 ---------------------------------------------------
229 160
230 Changelog/News 161 Changelog/News
231 -------------- 162 --------------
232 163
233 **Version 1.0.1 - 13/02/2017** 164 **Version 3.0.0.0 - 14/02/2018**
234 165
235 - IMPROVMENT: the tool will now raise an error if a sample isn't describe in the sampleMetadata file 166 - UPGRADE: upgrade the xcms version from 1.46.0 to 3.0.0. So refactoring of a lot of underlining codes and methods
236
237 167
238 **Version 1.0.0 - 03/02/2017** 168 **Version 1.0.0 - 03/02/2017**
239 169
240 - NEW: a new tool to merge individual xcmsSet outputs to be used by xcms.group 170 - NEW: a new tool to merge individual xcmsSet outputs to be used by xcms.group
241 171