Mercurial > repos > lecorguille > xcms_xcmsset
comparison abims_xcms_xcmsSet.xml @ 35:7f636ad1162b draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f01148783819c37e474790dbd56619862960448a
author | lecorguille |
---|---|
date | Tue, 03 Apr 2018 11:37:02 -0400 |
parents | efd23113d5f4 |
children | d39b9aff9cf7 |
comparison
equal
deleted
inserted
replaced
34:efd23113d5f4 | 35:7f636ad1162b |
---|---|
1 <tool id="abims_xcms_xcmsSet" name="xcms findChromPeaks (xcmsSet)" version="@WRAPPER_VERSION@.0"> | 1 <tool id="abims_xcms_xcmsSet" name="xcms findChromPeaks (xcmsSet)" version="@WRAPPER_VERSION@.0"> |
2 <description>Chromatographic peak detection</description> | 2 <description>Chromatographic peak detection</description> |
3 | 3 |
4 <macros> | 4 <macros> |
5 <import>macros.xml</import> | 5 <import>macros.xml</import> |
6 <import>macros_xcms.xml</import> | |
6 </macros> | 7 </macros> |
7 | 8 |
8 <expand macro="requirements"/> | 9 <expand macro="requirements"/> |
9 <expand macro="stdio"/> | 10 <expand macro="stdio"/> |
10 | 11 |
11 <command><![CDATA[ | 12 <command><![CDATA[ |
12 @COMMAND_XCMS_SCRIPT@/xcms_xcmsSet.r | 13 @COMMAND_RSCRIPT@/xcms_xcmsSet.r |
13 | 14 |
14 #if $input.is_of_type("mzxml") or $input.is_of_type("mzml") or $input.is_of_type("mzdata") or $input.is_of_type("netcdf"): | 15 image '$image' |
15 singlefile_galaxyPath '$input' singlefile_sampleName '$input.name' | |
16 #else | |
17 zipfile '$input' | |
18 #end if | |
19 | 16 |
20 BPPARAM \${GALAXY_SLOTS:-1} | 17 BPPARAM \${GALAXY_SLOTS:-1} |
21 | 18 |
22 #if $filterSection.filterAcquisitionNum != "": | 19 #if $filterSection.filterAcquisitionNum != "": |
23 filterAcquisitionNum "c($filterSection.filterAcquisitionNum)" | 20 filterAcquisitionNum "c($filterSection.filterAcquisitionNum)" |
30 #end if | 27 #end if |
31 | 28 |
32 method $methods.method | 29 method $methods.method |
33 | 30 |
34 #if $methods.method == "CentWave": | 31 #if $methods.method == "CentWave": |
35 ppm $methods.ppm | 32 @COMMAND_CENTWAVE@ |
36 peakwidth "c($methods.peakwidth)" | 33 ## List of regions-of-interest (ROI) |
37 ## Advanced | 34 #set $sectionROI = $methods.CentWaveAdv.CentWaveAdvROI |
38 snthresh $methods.CentWaveAdv.snthresh | 35 @COMMAND_CENTWAVEADVROI@ |
39 prefilter "c($methods.CentWaveAdv.prefilter)" | 36 #elif $methods.method == "CentWavePredIso": |
40 mzCenterFun $methods.CentWaveAdv.mzCenterFun | 37 @COMMAND_CENTWAVE@ |
41 integrate $methods.CentWaveAdv.integrate | 38 ## List of regions-of-interest (ROI) |
42 mzdiff $methods.CentWaveAdv.mzdiff | 39 #set $sectionROI = $methods.CentWaveAdvROI |
43 fitgauss $methods.CentWaveAdv.fitgauss | 40 @COMMAND_CENTWAVEADVROI@ |
44 noise $methods.CentWaveAdv.noise | 41 snthreshIsoROIs $sectionROI.snthreshIsoROIs |
45 verboseColumns $methods.CentWaveAdv.verboseColumns | 42 maxCharge $sectionROI.maxCharge |
43 maxIso $sectionROI.maxIso | |
44 mzIntervalExtension $sectionROI.mzIntervalExtension | |
45 polarity $sectionROI.polarity | |
46 #elif $methods.method == "MatchedFilter": | 46 #elif $methods.method == "MatchedFilter": |
47 fwhm $methods.fwhm | 47 fwhm $methods.fwhm |
48 binSize $methods.binSize | 48 binSize $methods.binSize |
49 impute $methods.impute_cond.impute | 49 impute $methods.impute_cond.impute |
50 #if $methods.impute_cond.impute == "linbase": | 50 #if $methods.impute_cond.impute == "linbase": |
66 verboseColumns $methods.verboseColumns | 66 verboseColumns $methods.verboseColumns |
67 scales "c($methods.scales)" | 67 scales "c($methods.scales)" |
68 nearbyPeak $methods.nearbyPeak | 68 nearbyPeak $methods.nearbyPeak |
69 ampTh $methods.ampTh | 69 ampTh $methods.ampTh |
70 #end if | 70 #end if |
71 | |
72 @COMMAND_FILE_LOAD@ | |
73 | |
71 @COMMAND_LOG_EXIT@ | 74 @COMMAND_LOG_EXIT@ |
72 ]]></command> | 75 ]]></command> |
73 | 76 |
74 <inputs> | 77 <inputs> |
75 | 78 |
76 <param name="input" type="data" format="mzxml,mzml,mzdata,netcdf,no_unzip.zip,zip" label="File(s) from your history containing your chromatograms" help="Single file mode for the format: mzxml, mzml, mzdata and netcdf. Zip file mode for the format: no_unzip.zip, zip. See the help section below." /> | 79 <param name="image" type="data" format="rdata.msnbase.raw,rdata" label="@INPUT_IMAGE_LABEL@" help="@INPUT_IMAGE_HELP@ from MSnbase readMSData" /> |
77 | 80 |
78 <section name="filterSection" title="Spectra Filters" expanded="False"> | 81 <section name="filterSection" title="Spectra Filters" expanded="False"> |
79 <param argument="filterAcquisitionNum" type="text" value="" optional="true" label="Filter on Acquisition Numbers" help="min,max"> | 82 <param argument="filterAcquisitionNum" type="text" value="" optional="true" label="Filter on Acquisition Numbers" help="min,max"> |
80 <expand macro="input_validator_range_integer"/> | 83 <expand macro="input_validator_range_integer"/> |
81 </param> | 84 </param> |
89 | 92 |
90 <conditional name="methods"> | 93 <conditional name="methods"> |
91 <param name="method" type="select" label="Extraction method for peaks detection" help="See the help section below"> | 94 <param name="method" type="select" label="Extraction method for peaks detection" help="See the help section below"> |
92 <option value="MatchedFilter" selected="true">MatchedFilter - peak detection in chromatographic space</option> | 95 <option value="MatchedFilter" selected="true">MatchedFilter - peak detection in chromatographic space</option> |
93 <option value="CentWave">CentWave - chromatographic peak detection using the centWave method</option> | 96 <option value="CentWave">CentWave - chromatographic peak detection using the centWave method</option> |
97 <option value="CentWavePredIso">CentWaveWithPredIsoROIs - performs a two-step centWave-based chromatographic peak detection</option> | |
94 <option value="MSW">MSW - single-spectrum non-chromatography MS data peak detection</option> | 98 <option value="MSW">MSW - single-spectrum non-chromatography MS data peak detection</option> |
95 </param> | 99 </param> |
96 | 100 |
97 <!-- centWave Filter options --> | 101 <!-- CentWave --> |
98 <when value="CentWave"> | 102 <when value="CentWave"> |
99 <param argument="ppm" type="integer" value="25" label="Max tolerated ppm m/z deviation in consecutive scans in ppm" help="for the initial ROI definition." /> | 103 <expand macro="input_centwave"/> |
100 <param argument="peakwidth" type="text" value="20,50" label="Min,Max peak width in seconds" help="with the expected approximate peak width in chromatographic space."> | |
101 <expand macro="input_validator_range_float"/> | |
102 </param> | |
103 | |
104 <section name="CentWaveAdv" title="Advanced Options" expanded="False"> | 104 <section name="CentWaveAdv" title="Advanced Options" expanded="False"> |
105 <param argument="snthresh" type="integer" value="10" label="Signal to Noise ratio cutoff" /> | 105 <expand macro="input_centwaveAdv"/> |
106 <param argument="prefilter" type="text" value="3,100" label="Prefilter step for for the first analysis step (ROI detection)" help="Separate by coma k, I. Mass traces are only retained if they contain at least ‘k‘ peaks with intensity ‘>= I‘."> | 106 <section name="CentWaveAdvROI" title="List of regions-of-interest (ROI)" expanded="False"> |
107 <expand macro="input_validator_range_integer"/> | 107 <expand macro="input_centwaveAdvROI" optional="true"/> |
108 </param> | 108 </section> |
109 <param argument="mzCenterFun" type="select" label="Name of the function to calculate the m/z center of the chromatographic peak" > | |
110 <option value="wMean">intensity weighted mean of the peak's m/z values</option> | |
111 <option value="mean">mean of the peak's m/z values</option> | |
112 <option value="apex">use the m/z value at the peak apex</option> | |
113 <option value="wMeanApex3">ntensity weighted mean of the m/z value at the peak apex and the m/z values left and right of it</option> | |
114 <option value="meanApex3">mean of the m/z value of the peak apex and the m/z values left and right of it</option> | |
115 </param> | |
116 <param argument="integrate" type="select" label="Integration method" > | |
117 <option value="1">peak limits are found through descent on the mexican hat filtered data (more robust, but less exact)</option> | |
118 <option value="2">peak limits based on real data (more accurate but prone to noise)</option> | |
119 </param> | |
120 <param argument="mzdiff" type="float" value="-0.001" label="Minimum difference in m/z for peaks with overlapping retention times" help="can be negative to allow overlap" /> | |
121 <param argument="fitgauss" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="fitgauss" help="whether or not a Gaussian should be fitted to each peak" /> | |
122 <param argument="noise" type="integer" value="0" label="Noise filter" help="allowing to set a minimum intensity required for centroids to be considered in the first analysis step (centroids with intensity lower than ‘noise’ are omitted from ROI detection)." /> | |
123 <param argument="verboseColumns" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="verbose Columns" help="whether additional peak meta data columns should be returned" /> | |
124 <!-- roiList --> | |
125 <!-- firstBaselineCheck --> | |
126 <!-- roiScales --> | |
127 </section> | 109 </section> |
128 </when> | 110 </when> |
129 | 111 |
130 <!-- matched Filter options --> | 112 <!-- MatchedFilter --> |
131 <when value="MatchedFilter"> | 113 <when value="MatchedFilter"> |
132 <param argument="fwhm" type="integer" value="30" label="Full width at half maximum of matched filtration gaussian model peak" help="Only used to calculate the actual sigma" /> | 114 <param argument="fwhm" type="integer" value="30" label="Full width at half maximum of matched filtration gaussian model peak" help="Only used to calculate the actual sigma" /> |
133 <param argument="binSize" type="float" value="0.1" label="Step size to use for profile generation" help="The peak detection algorithm creates extracted ion base peak chromatograms (EIBPC) on a fixed step size. (Previously step)" /> | 115 <param argument="binSize" type="float" value="0.1" label="Step size to use for profile generation" help="The peak detection algorithm creates extracted ion base peak chromatograms (EIBPC) on a fixed step size. (Previously step)" /> |
134 <conditional name="impute_cond"> | 116 <conditional name="impute_cond"> |
135 <param argument="impute" type="select" label="Method to be used for missing value imputation" help="(previously profmethod)"> | 117 <param argument="impute" type="select" label="Method to be used for missing value imputation" help="(previously profmethod)"> |
154 <param argument="mzdiff" type="float" value="0.6" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="By default: 0.8-step*steps " /> | 136 <param argument="mzdiff" type="float" value="0.6" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="By default: 0.8-step*steps " /> |
155 <!-- index --> | 137 <!-- index --> |
156 </section> | 138 </section> |
157 </when> | 139 </when> |
158 | 140 |
159 <!-- MSW Filter options --> | 141 <!-- CentWaveWithPredIsoROIs --> |
142 <when value="CentWavePredIso"> | |
143 <expand macro="input_centwave"/> | |
144 <section name="CentWaveAdv" title="Advanced Options" expanded="False"> | |
145 <expand macro="input_centwaveAdv"/> | |
146 </section> | |
147 <section name="CentWaveAdvROI" title="List of regions-of-interest (ROI)" expanded="True"> | |
148 <expand macro="input_centwaveAdvROI" optional="false" /> | |
149 <param argument="snthreshIsoROIs" type="float" value="6.25" label="Signal to noise ratio cutoff" help="used in the second centWave run to identify peaks for predicted isotope ROIs." /> | |
150 <param argument="maxCharge" type="integer" value="3" label="Maximal isotope charge" help="Isotopes will be defined for charges ‘1:maxCharge’." /> | |
151 <param argument="maxIso" type="integer" value="5" label="Number of isotope peaks that should be predicted for each peak identified in the first centWave run" /> | |
152 <param argument="mzIntervalExtension" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="Is the mz range for the predicted isotope ROIs should be extended to increase detection of low intensity peaks" /> | |
153 <param argument="polarity" type="select" label="Polarity of the data"> | |
154 <option value="unknown">unknown</option> | |
155 <option value="positive">positive</option> | |
156 <option value="negative">negative</option> | |
157 </param> | |
158 </section> | |
159 </when> | |
160 | |
161 <!-- MSW --> | |
160 <when value="MSW"> | 162 <when value="MSW"> |
161 <!---@TODO <param argument="winSize_noise" type="integer" value="500" label="The local window size to estimate the noise level" help="[winSize.noise]" />--> | 163 <!---@TODO <param argument="winSize_noise" type="integer" value="500" label="The local window size to estimate the noise level" help="[winSize.noise]" />--> |
162 <param argument="snthresh" type="integer" value="3" label="Signal to Noise ratio cutoff" help="" /> | 164 <param argument="snthresh" type="integer" value="3" label="Signal to Noise ratio cutoff" help="" /> |
163 <param argument="verboseColumns" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="verbose Columns" help="whether additional peak meta data columns should be returned" /> | 165 <param argument="verboseColumns" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="verbose Columns" help="whether additional peak meta data columns should be returned" /> |
164 <param argument="scales" type="text" value="1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64" label="Scales of the Continuous Wavelet Transform (CWT)" help="Scales are linked to the width of the peaks that are to be detected." > | 166 <param argument="scales" type="text" value="1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64" label="Scales of the Continuous Wavelet Transform (CWT)" help="Scales are linked to the width of the peaks that are to be detected." > |
172 <!-- peakThr --> | 174 <!-- peakThr --> |
173 <!-- tuneIn --> | 175 <!-- tuneIn --> |
174 <!---@TODO <param argument="SNR_method" type="text" value="data.mean" label="SNR (Signal to Noise Ratio) method" help="[SNR.method] Method to estimate noise level. Currently, only 95 percentage quantile is supported." />--> | 176 <!---@TODO <param argument="SNR_method" type="text" value="data.mean" label="SNR (Signal to Noise Ratio) method" help="[SNR.method] Method to estimate noise level. Currently, only 95 percentage quantile is supported." />--> |
175 </when> | 177 </when> |
176 </conditional> | 178 </conditional> |
179 | |
180 <expand macro="input_file_load"/> | |
177 </inputs> | 181 </inputs> |
178 | 182 |
179 <outputs> | 183 <outputs> |
180 <data name="xsetRData" format="rdata.xcms.raw" label="${input.name.rsplit('.',1)[0]}.xset.RData" from_work_dir="xcmsSet.RData" /> | 184 <data name="xsetRData" format="rdata.xcms.findchrompeaks" label="${image.name.rsplit('.',1)[0]}.xset.RData" from_work_dir="xcmsSet.RData" /> |
181 <data name="sampleMetadata" format="tabular" label="${input.name.rsplit('.',1)[0]}.sampleMetadata.tsv" from_work_dir="sampleMetadata.tsv" > | 185 <data name="log" format="txt" label="${image.name.rsplit('.',1)[0]}.xset.log.txt" from_work_dir="log.txt" /> |
182 <filter>input.extension not in ["mzxml","mzml","mzdata","netcdf"]</filter> | |
183 </data> | |
184 <data name="log" format="txt" label="${input.name.rsplit('.',1)[0]}.xset.log.txt" from_work_dir="log.txt" /> | |
185 </outputs> | 186 </outputs> |
186 | 187 |
187 <tests> | 188 <tests> |
188 | 189 |
189 <test> | 190 <!--<test> |
190 <param name="input" value="faahKO_reduce.zip" ftype="zip" /> | 191 <param name="image" value="faahKO.raw.Rdata" ftype="rdata" /> |
191 <section name="filterSection"> | 192 <section name="filterSection"> |
192 <param name="filterAcquisitionNum" value="100,5000" /> | 193 <param name="filterAcquisitionNum" value="100,5000" /> |
193 <param name="filterRt" value="3000,4000" /> | 194 <param name="filterRt" value="3000,4000" /> |
194 <param name="filterMz" value="300,400" /> | 195 <param name="filterMz" value="300,400" /> |
195 </section> | 196 </section> |
196 <conditional name="methods"> | 197 <conditional name="methods"> |
197 <param name="method" value="CentWave" /> | 198 <param name="method" value="CentWave" /> |
198 <param name="ppm" value="25" /> | 199 <param name="ppm" value="25" /> |
199 <param name="peakwidth" value="20,50" /> | 200 <param name="peakwidth" value="20,50" />--> |
200 </conditional> | 201 <!-- DISABLE: just for testing the arguments |
202 <section name="CentWaveAdv"> | |
203 <section name="CentWaveAdvROI"> | |
204 <param name="roiList" value="roiList.txt" ftype="tabular" /> | |
205 </section> | |
206 </section>--> | |
207 <!--</conditional> | |
208 <expand macro="test_file_load_zip"/> | |
201 <assert_stdout> | 209 <assert_stdout> |
202 <has_text text="ppm: 25" /> | 210 <has_text text="ppm: 25" /> |
203 <has_text text="peakwidth: 20, 50" /> | 211 <has_text text="peakwidth: 20, 50" /> |
204 <has_text text="object with 4 samples" /> | 212 <has_text text="object with 4 samples" /> |
205 <has_text text="Time range: 3006.9-3978.7 seconds (50.1-66.3 minutes)" /> | 213 <has_text text="Time range: 3006.9-3978.7 seconds (50.1-66.3 minutes)" /> |
206 <has_text text="Mass range: 300-400 m/z" /> | 214 <has_text text="Mass range: 300-400 m/z" /> |
207 <has_text text="Peaks: 1311 (about 328 per sample)" /> | 215 <has_text text="Peaks: 1311 (about 328 per sample)" /> |
208 <has_text text="Peak Groups: 0" /> | 216 <has_text text="Peak Groups: 0" /> |
209 <has_text text="Sample classes: KO, WT" /> | 217 <has_text text="Sample classes: KO, WT" /> |
210 </assert_stdout> | 218 </assert_stdout> |
211 </test> | 219 </test>--> |
212 <test> | 220 <test> |
213 <param name="input" value="MM14.mzML" ftype="mzxml" /> | 221 <param name="image" value="ko15-raw.Rdata" ftype="rdata" /> |
214 <conditional name="methods"> | |
215 <param name="method" value="CentWave" /> | |
216 <param name="ppm" value="56" /> | |
217 <param name="peakwidth" value="5.275,13.5" /> | |
218 </conditional> | |
219 <assert_stdout> | |
220 <has_text text="ppm: 56" /> | |
221 <has_text text="peakwidth: 5.275, 13.5" /> | |
222 <has_text text="object with 1 samples" /> | |
223 <has_text text="Time range: 271-307.3 seconds (4.5-5.1 minutes)" /> | |
224 <has_text text="Mass range: 117.0357-936.7059 m/z" /> | |
225 <has_text text="Peaks: 222 (about 222 per sample)" /> | |
226 <has_text text="Peak Groups: 0" /> | |
227 <has_text text="Sample classes: ." /> | |
228 </assert_stdout> | |
229 </test> | |
230 <!-- DISABLE FOR TRAVIS | |
231 Useful to generate test-data for the further steps | |
232 <test> | |
233 <param name="input" value="ko15.CDF" ftype="netcdf" /> | |
234 <conditional name="methods"> | 222 <conditional name="methods"> |
235 <param name="method" value="CentWave" /> | 223 <param name="method" value="CentWave" /> |
236 <param name="ppm" value="25" /> | 224 <param name="ppm" value="25" /> |
237 <param name="peakwidth" value="20,50" /> | 225 <param name="peakwidth" value="20,50" /> |
238 </conditional> | 226 </conditional> |
239 <assert_stdout> | 227 <expand macro="test_file_load_single_ko15"/> |
228 <assert_stdout> | |
229 <has_text text="ppm: 25" /> | |
230 <has_text text="peakwidth: 20, 50" /> | |
240 <has_text text="object with 1 samples" /> | 231 <has_text text="object with 1 samples" /> |
241 <has_text text="Time range: 2506.1-4471.7 seconds (41.8-74.5 minutes)" /> | 232 <has_text text="Time range: 2506.1-4471.7 seconds (41.8-74.5 minutes)" /> |
242 <has_text text="Mass range: 200.2-600 m/z" /> | 233 <has_text text="Mass range: 200.2-600 m/z" /> |
243 <has_text text="Peaks: 2262 (about 2262 per sample)" /> | 234 <has_text text="Peaks: 2262 (about 2262 per sample)" /> |
244 <has_text text="Peak Groups: 0" /> | 235 <has_text text="Peak Groups: 0" /> |
245 <has_text text="Sample classes: ." /> | 236 <has_text text="Sample classes: ." /> |
246 </assert_stdout> | 237 </assert_stdout> |
247 </test> | 238 </test> |
248 <test> | 239 <!-- DISABLE FOR TRAVIS |
249 <param name="input" value="ko16.CDF" ftype="netcdf" /> | 240 Useful to generate test-data for the further steps |
241 <test> | |
242 <param name="image" value="ko16-raw.Rdata" ftype="rdata" /> | |
250 <conditional name="methods"> | 243 <conditional name="methods"> |
251 <param name="method" value="CentWave" /> | 244 <param name="method" value="CentWave" /> |
252 <param name="ppm" value="25" /> | 245 <param name="ppm" value="25" /> |
253 <param name="peakwidth" value="20,50" /> | 246 <param name="peakwidth" value="20,50" /> |
254 </conditional> | 247 </conditional> |
260 <has_text text="Peak Groups: 0" /> | 253 <has_text text="Peak Groups: 0" /> |
261 <has_text text="Sample classes: ." /> | 254 <has_text text="Sample classes: ." /> |
262 </assert_stdout> | 255 </assert_stdout> |
263 </test> | 256 </test> |
264 <test> | 257 <test> |
265 <param name="input" value="wt15.CDF" ftype="netcdf" /> | 258 <param name="image" value="wt15-raw.Rdata" ftype="rdata" /> |
266 <conditional name="methods"> | 259 <conditional name="methods"> |
267 <param name="method" value="CentWave" /> | 260 <param name="method" value="CentWave" /> |
268 <param name="ppm" value="25" /> | 261 <param name="ppm" value="25" /> |
269 <param name="peakwidth" value="20,50" /> | 262 <param name="peakwidth" value="20,50" /> |
270 </conditional> | 263 </conditional> |
276 <has_text text="Peak Groups: 0" /> | 269 <has_text text="Peak Groups: 0" /> |
277 <has_text text="Sample classes: ." /> | 270 <has_text text="Sample classes: ." /> |
278 </assert_stdout> | 271 </assert_stdout> |
279 </test> | 272 </test> |
280 <test> | 273 <test> |
281 <param name="input" value="wt16.CDF" ftype="netcdf" /> | 274 <param name="image" value="wt16-raw.Rdata" ftype="rdata" /> |
282 <conditional name="methods"> | 275 <conditional name="methods"> |
283 <param name="method" value="CentWave" /> | 276 <param name="method" value="CentWave" /> |
284 <param name="ppm" value="25" /> | 277 <param name="ppm" value="25" /> |
285 <param name="peakwidth" value="20,50" /> | 278 <param name="peakwidth" value="20,50" /> |
286 </conditional> | 279 </conditional> |
295 </test> | 288 </test> |
296 --> | 289 --> |
297 <!-- DISABLE FOR TRAVIS | 290 <!-- DISABLE FOR TRAVIS |
298 Test to test the different methods parameters | 291 Test to test the different methods parameters |
299 <test> | 292 <test> |
300 <param name="input" value="MM8.mzML" ftype="mzxml" /> | 293 <param name="image" value="ko15-raw.Rdata" ftype="rdata" /> |
301 <conditional name="methods"> | 294 <conditional name="methods"> |
302 <param name="method" value="MatchedFilter" /> | 295 <param name="method" value="MatchedFilter" /> |
303 <param name="fwhm" value="35" /> | 296 <param name="fwhm" value="35" /> |
304 <conditional name="impute_cond"> | 297 <conditional name="impute_cond"> |
305 <param name="impute" value="linbase" /> | 298 <param name="impute" value="linbase" /> |
313 <has_text text="baseValue: 0.1" /> | 306 <has_text text="baseValue: 0.1" /> |
314 <has_text text="distance: 1" /> | 307 <has_text text="distance: 1" /> |
315 </assert_stdout> | 308 </assert_stdout> |
316 </test> | 309 </test> |
317 <test> | 310 <test> |
318 <param name="input" value="MM8.mzML" ftype="mzxml" /> | 311 <param name="image" value="ko15-raw.Rdata" ftype="rdata" /> |
312 <conditional name="methods"> | |
313 <param name="method" value="CentWavePredIso" /> | |
314 <param name="ppm" value="56" /> | |
315 <param name="peakwidth" value="5.275,13.5" /> | |
316 <section name="CentWaveAdvROI"> | |
317 <param name="roiList" value="roiList.txt" ftype="tabular" /> | |
318 </section> | |
319 </conditional> | |
320 <assert_stdout> | |
321 <has_text text=" scmin scmax mzmin mzmax length intensity" /> | |
322 <has_text text="1 200 300 300 350 100 5000" /> | |
323 </assert_stdout> | |
324 </test> | |
325 <test> | |
326 <param name="image" value="ko15-raw.Rdata" ftype="rdata" /> | |
319 <conditional name="methods"> | 327 <conditional name="methods"> |
320 <param name="method" value="MSW" /> | 328 <param name="method" value="MSW" /> |
321 <param name="snthresh" value="4" /> | 329 <param name="snthresh" value="4" /> |
322 <param name="verboseColumns" value="true" /> | 330 <param name="verboseColumns" value="true" /> |
323 </conditional> | 331 </conditional> |
328 </test> | 336 </test> |
329 --> | 337 --> |
330 <!-- DISABLE FOR TRAVIS | 338 <!-- DISABLE FOR TRAVIS |
331 No more test-data/sacuri_dir_root.zip | 339 No more test-data/sacuri_dir_root.zip |
332 <test> | 340 <test> |
333 <param name="input" value="sacuri_dir_root.zip" ftype="zip" /> | 341 <param name="image" value="sacuri_dir_root.zip" ftype="zip" /> |
334 <conditional name="methods"> | 342 <conditional name="methods"> |
335 <param name="method" value="MatchedFilter" /> | 343 <param name="method" value="MatchedFilter" /> |
336 <param name="step" value="0.01" /> | 344 <param name="step" value="0.01" /> |
337 <param name="fwhm" value="4" /> | 345 <param name="fwhm" value="4" /> |
338 <conditional name="options_m"> | 346 <conditional name="options_m"> |
353 </test> | 361 </test> |
354 --> | 362 --> |
355 <!-- DISABLE FOR TRAVIS | 363 <!-- DISABLE FOR TRAVIS |
356 No more test-data/sacuri_current_root.zip | 364 No more test-data/sacuri_current_root.zip |
357 <test> | 365 <test> |
358 <param name="input" value="sacuri_current_root.zip" ftype="zip" /> | 366 <param name="image" value="sacuri_current_root.zip" ftype="zip" /> |
359 <conditional name="methods"> | 367 <conditional name="methods"> |
360 <param name="method" value="CentWave" /> | 368 <param name="method" value="CentWave" /> |
361 <param name="ppm" value="25" /> | 369 <param name="ppm" value="25" /> |
362 <param name="peakwidth" value="20,50" /> | 370 <param name="peakwidth" value="20,50" /> |
363 </conditional> | 371 </conditional> |
396 Workflow position | 404 Workflow position |
397 ----------------- | 405 ----------------- |
398 | 406 |
399 **Upstream tools** | 407 **Upstream tools** |
400 | 408 |
401 ========================= ================= ======= ========= | 409 ========================= ================= ============================== ========== |
402 Name output file format parameter | 410 Name output file format parameter |
403 ========================= ================= ======= ========= | 411 ========================= ================= ============================== ========== |
404 NA NA zip NA | 412 MSnbase readMSData raw.RData rdata.msnbase.raw RData file |
405 ========================= ================= ======= ========= | 413 ========================= ================= ============================== ========== |
406 | 414 |
407 | 415 |
408 **Downstream tools** | 416 **Downstream tools** |
409 | 417 |
410 +---------------------------+--------------------+-----------------+ | 418 =========================== ==================== ================= |
411 | Name | Output file | Format | | 419 Name Output file Format |
412 +===========================+====================+=================+ | 420 =========================== ==================== ================= |
413 |xcms.group | xset.RData | rdata.xcms.raw | | 421 xcms.group xset.RData rdata.xcms.raw |
414 +---------------------------+--------------------+-----------------+ | 422 --------------------------- -------------------- ----------------- |
415 |PCA ellipsoid by factors | sampleMetadata.tsv | Tabular | | 423 PCA ellipsoid by factors sampleMetadata.tsv Tabular |
416 +---------------------------+--------------------+-----------------+ | 424 --------------------------- -------------------- ----------------- |
417 |Anova | sampleMetadata.tsv | Tabular | | 425 Anova sampleMetadata.tsv Tabular |
418 +---------------------------+--------------------+-----------------+ | 426 =========================== ==================== ================= |
419 | 427 |
420 | 428 |
421 **Example of a metabolomic workflow** | 429 **Example of a metabolomic workflow** |
422 | 430 |
423 .. image:: xcms_xcmsset_workflow.png | 431 .. image:: xcms_xcmsset_workflow.png |
424 | 432 |
425 | |
426 ------ | |
427 | |
428 .. class:: infomark | |
429 | |
430 The output file is an xset.RData file. You can continue your analysis using it in **xcms.group** tool. | |
431 | |
432 --------------------------------------------------- | 433 --------------------------------------------------- |
433 | |
434 | |
435 | |
436 ----------- | |
437 Input files | |
438 ----------- | |
439 | |
440 +---------------------------+----------------------------------+ | |
441 | Parameter : num + label | Format | | |
442 +===========================+==================================+ | |
443 | OR : Zip file | zip | | |
444 +---------------------------+----------------------------------+ | |
445 | OR : Single file | mzXML, mzML, mzData, netCDF | | |
446 +---------------------------+----------------------------------+ | |
447 | |
448 **Choose your inputs** | |
449 | |
450 You have two methods for your inputs: | |
451 | |
452 | Single file (recommended): You can put a single file as input. That way, you will be able to launch several xcmsSet in parallel and use "xcms.xcmsSet Merger" before "xcms.group" | |
453 | Zip file: You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories). | |
454 | |
455 Zip file: Steps for creating the zip file | |
456 ----------------------------------------- | |
457 | |
458 **Step1: Creating your directory and hierarchize the subdirectories** | |
459 | |
460 | |
461 VERY IMPORTANT: If you zip your files under Windows, you must use the 7Zip_ software, otherwise your zip will not be well unzipped on the platform W4M (zip corrupted bug). | |
462 | |
463 .. _7Zip: http://www.7-zip.org/ | |
464 | |
465 Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild): | |
466 arabidopsis/wild/01.raw | |
467 arabidopsis/mutant/01.raw | |
468 | |
469 **Step2: Creating a zip file** | |
470 | |
471 Create your zip file (e.g.: arabidopsis.zip). | |
472 | |
473 **Step 3 : Uploading it to our Galaxy server** | |
474 | |
475 If your zip file is less than 2Gb, you get use the Get Data tool to upload it. | |
476 | |
477 Otherwise if your zip file is larger than 2Gb, please refer to the HOWTO_ on workflow4metabolomics.org. | |
478 | |
479 .. _HOWTO: http://application.sb-roscoff.fr/download/w4m/howto/galaxy_upload_up_2Go.pdf | |
480 | |
481 For more informations, don't hesitate to send us an email at supportATworkflow4metabolomics.org). | |
482 | |
483 Advices for converting your files for the XCMS input | |
484 ---------------------------------------------------- | |
485 | |
486 We recommend you to convert your raw files to **mzXML** in centroid mode (smaller files) and the files will be compatible with the xmcs centWave method. | |
487 | |
488 **We recommend you the following parameters:** | |
489 | |
490 Use Filtering: **True** | |
491 | |
492 Use Peak Picking: **True** | |
493 | |
494 Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode | |
495 | |
496 Use zlib: **64** | |
497 | |
498 Binary Encoding: **64** | |
499 | |
500 m/z Encoding: **64** | |
501 | |
502 Intensity Encoding: **64** | |
503 | |
504 | 434 |
505 ---------- | 435 ---------- |
506 Parameters | 436 Parameters |
507 ---------- | 437 ---------- |
508 | 438 |
509 Extraction method for peaks detection | 439 Extraction method for peaks detection |
510 ------------------------------------- | 440 ------------------------------------- |
441 | |
442 **MatchedFilter** | |
443 | |
444 | The matchedFilter algorithm identifies peaks in the chromatographic time domain as described in [Smith 2006]. The intensity values are binned by cutting The LC/MS data into slices (bins) of a mass unit (‘binSize’ m/z) wide. Within each bin the maximal intensity is selected. The chromatographic peak detection is then performed in each bin by extending it based on the ‘steps’ parameter to generate slices comprising bins ‘current_bin - steps +1’ to ‘current_bin + steps - 1’. Each of these slices is then filtered with matched filtration using a second-derative Gaussian as the model peak shape. After filtration peaks are detected using a signal-to-ratio cut-off. For more details and illustrations see [Smith 2006]. | |
445 | See the MatchedFilter_manual_ | |
511 | 446 |
512 **CentWave** | 447 **CentWave** |
513 | 448 |
514 | The centWave algorithm perform peak density and wavelet based chromatographic peak detection for high resolution LC/MS data in centroid mode [Tautenhahn 2008]. | 449 | The centWave algorithm perform peak density and wavelet based chromatographic peak detection for high resolution LC/MS data in centroid mode [Tautenhahn 2008]. |
515 | Due to the fact that peak centroids are used, a binning step is not necessary. | 450 | Due to the fact that peak centroids are used, a binning step is not necessary. |
516 | The method is capable of detecting close-by-peaks and also overlapping peaks. Some efforts are made to detect the exact peak boundaries to get precise peak integrals. | 451 | The method is capable of detecting close-by-peaks and also overlapping peaks. Some efforts are made to detect the exact peak boundaries to get precise peak integrals. |
517 | See the CentWave_manual_ | 452 | See the CentWave_manual_ |
518 | 453 |
519 **MatchedFilter** | 454 **CentWaveWithPredIsoROIs** |
520 | 455 |
521 | The _matchedFilter_ algorithm identifies peaks in the chromatographic time domain as described in [Smith 2006]. The intensity values are binned by cutting The LC/MS data into slices (bins) of a mass unit (‘binSize’ m/z) wide. Within each bin the maximal intensity is selected. The chromatographic peak detection is then performed in each bin by extending it based on the ‘steps’ parameter to generate slices comprising bins ‘current_bin - steps +1’ to ‘current_bin + steps - 1’. Each of these slices is then filtered with matched filtration using a second-derative Gaussian as the model peak shape. After filtration peaks are detected using a signal-to-ratio cut-off. For more details and illustrations see [Smith 2006]. | 456 | This method performs a two-step centWave-based chromatographic peak detection: in a first centWave run peaks are identified for which then the location of their potential isotopes in the mz-retention time is predicted. A second centWave run is then performed on these regions of interest (ROIs). The final list of chromatographic peaks comprises all non-overlapping peaks from both centWave runs. |
522 | See the MatchedFilter_manual_ | 457 | See the CentWaveWithPredIsoROIs_manual_ |
523 | 458 |
524 **MSW** | 459 **MSW** |
525 | 460 |
526 | Wavelet based, used for direct infusion data. Continuous wavelet transform (CWT) can be used to locate chromatographic peaks on different scales. | 461 | Wavelet based, used for direct infusion data. Continuous wavelet transform (CWT) can be used to locate chromatographic peaks on different scales. |
527 | See the MSW_manual_ | 462 | See the MSW_manual_ |
528 | 463 |
464 .. _MatchedFilter_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-matchedFilter.html#heading-2 | |
529 .. _CentWave_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-centWave.html#heading-2 | 465 .. _CentWave_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-centWave.html#heading-2 |
530 .. _MatchedFilter_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-matchedFilter.html#heading-2 | 466 .. _CentWaveWithPredIsoROIs_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-centWaveWithPredIsoROIs.html#heading-2 |
531 .. _MSW_manual: https://rdrr.io/bioc/xcms/man/findPeaks-MSW.html#heading-2 | 467 .. _MSW_manual: https://rdrr.io/bioc/xcms/man/findPeaks-MSW.html#heading-2 |
532 | 468 |
533 @HELP_XCMS_MANUAL@ | 469 @HELP_XCMS_MANUAL@ |
534 | 470 |
535 ------------ | 471 ------------ |
536 Output files | 472 Output files |
537 ------------ | 473 ------------ |
538 | 474 |
539 xset.TICs_raw.pdf | |
540 | |
541 | "Total Ion Chromatograms" graph in pdf format. | |
542 | |
543 xset.BPCs_raw.pdf | |
544 | |
545 | "Base Peak Chromatograms" graph in pdf format with each class samples opposed. | |
546 | |
547 sampleMetadata.tsv | 475 sampleMetadata.tsv |
548 | 476 |
549 | Tabular file that contains for each sample, it's associated class and polarity (positive,negative and mixed). | 477 | Tabular file that contains for each sample, it's associated class and polarity (positive,negative and mixed). |
550 | This file is necessary in the Anova and PCA step of the workflow. | 478 | This file is necessary in the Anova and PCA step of the workflow. |
551 | 479 |
552 xset.RData: rdata.xcms.raw format | 480 xset.RData: rdata.xcms.findchrompeaks format |
553 | 481 |
554 | Rdata file that is necessary in the second step of the workflow "xcms.group". | 482 | Rdata file that is necessary in the second step of the workflow "xcms.group". |
555 | |
556 ------ | |
557 | |
558 .. class:: infomark | |
559 | |
560 The output file is an xset.RData file. You can continue your analysis using it in **xcms.group** tool. | |
561 | |
562 --------------------------------------------------- | |
563 | |
564 --------------- | |
565 Working example | |
566 --------------- | |
567 | |
568 Input files | |
569 ----------- | |
570 | |
571 | zip_file -> **sacuri.zip** | |
572 | |
573 Parameters | |
574 ---------- | |
575 | |
576 | Method -> **matchedFilter** | |
577 | step -> **0.01** | |
578 | fwhm -> **4** | |
579 | Advanced option -> **show** | |
580 | max: -> **50** | |
581 | snthresh -> **1** | |
582 | steps -> **2** | |
583 | |
584 | |
585 Output files | |
586 ------------ | |
587 | |
588 | **1) xset.RData: RData file** | |
589 | |
590 | **2) Example of a sampleMetadata.tsv :** | |
591 | |
592 | |
593 +---------------------------+------------+---------+ | |
594 | sampleMetadata | class | polarity| | |
595 +===========================+============+=========+ | |
596 |HU_neg_017 | bio |negative | | |
597 +---------------------------+------------+---------+ | |
598 |HU_neg_028 | bio |negative | | |
599 +---------------------------+------------+---------+ | |
600 |HU_neg_034 | bio |negative | | |
601 +---------------------------+------------+---------+ | |
602 |Blanc04 | blank |negative | | |
603 +---------------------------+------------+---------+ | |
604 |Blanc06 | blank |negative | | |
605 +---------------------------+------------+---------+ | |
606 |Blanc09 | blank |negative | | |
607 +---------------------------+------------+---------+ | |
608 | |
609 | |
610 | |
611 | **3) Example of xset.TICs_raw.pdf (Total Ion Chromatograms) :** | |
612 | |
613 .. image:: xcms_tics.png | |
614 | |
615 | 483 |
616 --------------------------------------------------- | 484 --------------------------------------------------- |
617 | 485 |
618 Changelog/News | 486 Changelog/News |
619 -------------- | 487 -------------- |
620 | 488 |
489 | |
621 **Version 3.0.0.0 - 08/03/2018** | 490 **Version 3.0.0.0 - 08/03/2018** |
622 | 491 |
623 - UPGRADE: upgrade the xcms version from 1.46.0 to 3.0.0. So refactoring of a lot of underlying codes and methods. Some parameters may have been renamed. | 492 - UPGRADE: upgrade the xcms version from 1.46.0 to 3.0.0. So refactoring of a lot of underlying codes and methods. Some parameters may have been renamed. |
624 | 493 |
494 - CHANGE: xcms.findChromPeaks no longer read the raw data. You have to run MSnbase readMSData first. | |
495 | |
625 - NEW: a bunch of new options: Spectra Filters (previously scanrange), CentWave.(mzCenterFun, fitgauss, verboseColumns), MatchedFilter.(sigma, impute, baseValue, max), MSW.(verboseColumns), ... | 496 - NEW: a bunch of new options: Spectra Filters (previously scanrange), CentWave.(mzCenterFun, fitgauss, verboseColumns), MatchedFilter.(sigma, impute, baseValue, max), MSW.(verboseColumns), ... |
497 | |
498 - NEW: new Filters for Spectra | |
499 | |
500 - NEW: new methods: CentWaveWithPredIsoROIs | |
626 | 501 |
627 - UPDATE: since xcms 3.0.0, some options are no more available: scanrange (replace by filters), profmethod, MatchedFilter.step, MatchedFilter.sigma, MSW.winSize.noise, MSW.SNR.method | 502 - UPDATE: since xcms 3.0.0, some options are no more available: scanrange (replace by filters), profmethod, MatchedFilter.step, MatchedFilter.sigma, MSW.winSize.noise, MSW.SNR.method |
628 | 503 |
629 - IMPROVEMENT: the advanced options are now in sections. It will allow you to access to all the parameters and to know their default values. | 504 - IMPROVEMENT: the advanced options are now in sections. It will allow you to access to all the parameters and to know their default values. |
630 | 505 |