Mercurial > repos > lecorguille > xcms_merge
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 |