Mercurial > repos > lecorguille > ipo
comparison ipo4xcmsSet.xml @ 0:ac5f2936575b draft
planemo upload commit 131562ad89c33a2f87754936ce3c8fe6899484c0
| author | lecorguille |
|---|---|
| date | Thu, 03 Aug 2017 06:00:00 -0400 |
| parents | |
| children | ae8de756dfcf |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:ac5f2936575b |
|---|---|
| 1 <tool id="ipo4xcmsSet" name="IPO for xcmsSet" version="0.0.3"> | |
| 2 | |
| 3 <description>IPO optimization process for xcms.xcmsSet</description> | |
| 4 | |
| 5 <macros> | |
| 6 <import>macros.xml</import> | |
| 7 | |
| 8 <macro name="centwave_ppm_fixed"> | |
| 9 <param name="ppm" type="integer" value="25" label="Max tolerated ppm m/z deviation in consecutive scans in ppm" help="[ppm]" /> | |
| 10 </macro> | |
| 11 <macro name="centwave_peakwidth_fixed"> | |
| 12 <param name="min_peakwidth" type="float" value="20" label="Min peak width range in seconds" optional="true" help="[min_peakwidth]" /> | |
| 13 <param name="max_peakwidth" type="float" value="50" label="Max peak width range in seconds" optional="true" help="[max_peakwidth]" /> | |
| 14 </macro> | |
| 15 <macro name="centwave_mzdiff_fixed"> | |
| 16 <param name="mzdiff" type="float" value="-0.001" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] Can be negative to allow overlap" /> | |
| 17 </macro> | |
| 18 | |
| 19 <macro name="matchedfilter_fwhm_fixed"> | |
| 20 <param name="fwhm" type="integer" value="30" label="Full width at half maximum of matched filtration gaussian model peak" help="[fwhm] Only used to calculate the actual sigma" /> | |
| 21 </macro> | |
| 22 <macro name="matchedfilter_mzdiff_fixed"> | |
| 23 <param name="mzdiff" type="float" value="0.6" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] By default: 0.8-step*steps " /> | |
| 24 </macro> | |
| 25 </macros> | |
| 26 | |
| 27 <expand macro="requirements"/> | |
| 28 <expand macro="stdio"/> | |
| 29 | |
| 30 <command><![CDATA[ | |
| 31 LANG=C Rscript $__tool_directory__/ipo4xcmsSet.r | |
| 32 | |
| 33 #if $input.is_of_type("mzxml") or $input.is_of_type("mzml") or $input.is_of_type("mzdata") or $input.is_of_type("netcdf"): | |
| 34 singlefile_galaxyPath '$input' singlefile_sampleName '$input.name' | |
| 35 #else | |
| 36 zipfile '$input' | |
| 37 #end if | |
| 38 | |
| 39 parametersOutput $parametersOutput | |
| 40 xsetRdataOutput $xsetRData | |
| 41 | |
| 42 samplebyclass $samplebyclass | |
| 43 | |
| 44 ## profmethod $profmethod | |
| 45 @COMMAND_NSLAVES@ | |
| 46 method $methods.method | |
| 47 #if $methods.method == "centWave": | |
| 48 ppm "c($methods.section_centwave_optiomizable.conditional_parameter.ppm)" | |
| 49 min_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.min_peakwidth)" | |
| 50 max_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.max_peakwidth)" | |
| 51 mzdiff "c($methods.section_centwave_optiomizable.conditional_parameter.mzdiff)" | |
| 52 | |
| 53 snthresh $methods.section_centwave_non_optiomizable.snthresh | |
| 54 integrate $methods.section_centwave_non_optiomizable.integrate | |
| 55 noise $methods.section_centwave_non_optiomizable.noise | |
| 56 prefilter "c($methods.section_centwave_non_optiomizable.prefilter)" | |
| 57 | |
| 58 #elif $methods.method == "matchedFilter": | |
| 59 fwhm "c($methods.section_matchedfilter_optiomizable.conditional_parameter.fwhm)" | |
| 60 mzdiff "c($methods.section_matchedfilter_optiomizable.conditional_parameter.mzdiff)" | |
| 61 | |
| 62 step $methods.section_matchedfilter_non_optimizable.step | |
| 63 steps $methods.section_matchedfilter_non_optimizable.steps | |
| 64 max $methods.section_matchedfilter_non_optimizable.max | |
| 65 snthresh $methods.section_matchedfilter_non_optimizable.snthresh | |
| 66 #end if | |
| 67 | |
| 68 @COMMAND_LOG_EXIT@ | |
| 69 ]]></command> | |
| 70 | |
| 71 <inputs> | |
| 72 | |
| 73 <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." /> | |
| 74 | |
| 75 <param name="samplebyclass" type="integer" value="2" label="Number of samples used per class to estimate the best parameters" help="Set to 0 to use the whole dataset. To save time, reduce this number" /> | |
| 76 | |
| 77 <conditional name="methods"> | |
| 78 <param name="method" type="select" label="Extraction method for peaks detection" help="[method] See the help section below"> | |
| 79 <option value="centWave" >centWave</option> | |
| 80 <option value="matchedFilter" selected="true">matchedFilter</option> | |
| 81 </param> | |
| 82 | |
| 83 <!-- centWave Filter options --> | |
| 84 <when value="centWave"> | |
| 85 <section name="section_centwave_optiomizable" title="Optimizable parameters" expanded="True"> | |
| 86 <conditional name="conditional_parameter"> | |
| 87 <param name="select_parameter" type="select" label="Which parameter do you want to optimize?" help="Only one paramter can be optimized at once. The other will require fixed values"> | |
| 88 <option value="ppm">Max tolerated ppm m/z deviation in consecutive scans in ppm [ppm]</option> | |
| 89 <option value="peakwidth">Min,Max peak width in seconds [peakwidth]</option> | |
| 90 <option value="mzdiff">Minimum difference in m/z for peaks with overlapping Retention Times [mzdiff]</option> | |
| 91 </param> | |
| 92 <when value="ppm"> | |
| 93 <param name="ppm" type="text" value="17,32" label="Range for Max tolerated ppm m/z deviation in consecutive scans in ppm" optional="false" help="[ppm] (ex: 25 or 17,32)"> | |
| 94 <validator type="regex" message="Should be this format XX,YY">[0-9]+,[0-9]+</validator> | |
| 95 </param> | |
| 96 <expand macro="centwave_peakwidth_fixed" /> | |
| 97 <expand macro="centwave_mzdiff_fixed" /> | |
| 98 </when> | |
| 99 <when value="peakwidth"> | |
| 100 <param name="min_peakwidth" type="text" value="12,18" label="Range for Min peak width range in seconds" optional="true" help="[min_peakwidth] (ex: 12,18)"> | |
| 101 <validator type="regex" message="Should be one combinaison of those format: XX,YY or XX.XX,YY.YY">[0-9]+[\.]?[0-9]*,[0-9]+[\.]?[0-9]*</validator> | |
| 102 </param> | |
| 103 <param name="max_peakwidth" type="text" value="35,65" label="Range for Max peak width range in seconds" optional="true" help="[max_peakwidth] (ex: 35,65)"> | |
| 104 <validator type="regex" message="Should be one combinaison of those format: XX,YY or XX.XX,YY.YY">[0-9]+[\.]?[0-9]*,[0-9]+[\.]?[0-9]*</validator> | |
| 105 </param> | |
| 106 <expand macro="centwave_ppm_fixed" /> | |
| 107 <expand macro="centwave_mzdiff_fixed" /> | |
| 108 </when> | |
| 109 <when value="mzdiff"> | |
| 110 <param name="mzdiff" type="text" value="-0.001,0.010" label="Range for Minimum difference in m/z for peaks with overlapping retention times" help="[mzdiff] Can be negative to allow overlap (ex: -0.001,0.010)"> | |
| 111 <validator type="regex" message="Should be one combinaison of those format: XX,YY or -XX,YY or XX.XX,YY.YY">[\-]?[0-9]+[\.]?[0-9]*,[\-]?[0-9]+[\.]?[0-9]*</validator> | |
| 112 </param> | |
| 113 <expand macro="centwave_ppm_fixed" /> | |
| 114 <expand macro="centwave_peakwidth_fixed" /> | |
| 115 </when> | |
| 116 </conditional> | |
| 117 </section> | |
| 118 | |
| 119 <section name="section_centwave_non_optiomizable" title="Non optimizable parameters" expanded="True"> | |
| 120 <param name="snthresh" type="integer" value="10" label="Signal/Noise threshold" help="[snthresh] Signal to noise ratio cutoff" /> | |
| 121 <param name="integrate" type="select" label="Peak limits method" help="[integrate]" > | |
| 122 <option value="1">peak limits based on smoothed 2nd derivative (less precise)</option> | |
| 123 <option value="2">peak limits based on real data (more sensitive to noise)</option> | |
| 124 </param> | |
| 125 <param name="prefilter" type="text" value="3,100" label="Prefilter step for the first phase" help="[prefilter] Separate by coma k,I. Mass traces are only retained if they contain at least ‘k’ peaks with intensity >= ‘I’"/> | |
| 126 <param name="noise" type="integer" value="0" label="Noise filter" help="[noise] optional argument which is useful for data that was centroided without any intensity threshold, centroids with intensity smaller than ‘noise’ are omitted from ROI detection"/> | |
| 127 </section> | |
| 128 </when> | |
| 129 | |
| 130 <!-- matched Filter options --> | |
| 131 <when value="matchedFilter"> | |
| 132 <section name="section_matchedfilter_optiomizable" title="Optimizable parameters" expanded="True"> | |
| 133 <conditional name="conditional_parameter"> | |
| 134 <param name="select_parameter" type="select" label="Which parameter do you want to optimize?" help="Only one paramter can be optimized at once. The other will require fixed values"> | |
| 135 <option value="fwhm">Full width at half maximum of matched filtration gaussian model peak [fwhm]</option> | |
| 136 <option value="mzdiff">Minimum difference in m/z for peaks with overlapping Retention Times [mzdiff]</option> | |
| 137 </param> | |
| 138 <when value="fwhm"> | |
| 139 <param name="fwhm" type="text" value="25,35" label="Range for Full width at half maximum of matched filtration gaussian model peak" optional="true" help="[fwhm] Only used to calculate the actual sigma (ex: 25,35)"> | |
| 140 <validator type="regex" message="Should be this format: XX,YY">[0-9]+,[0-9]+</validator> | |
| 141 </param> | |
| 142 <expand macro="matchedfilter_mzdiff_fixed" /> | |
| 143 </when> | |
| 144 <when value="mzdiff"> | |
| 145 <param name="mzdiff" type="text" value="0.4,0.7" label="Range for Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] By default: 0.8-step*steps (ex: 0.4,0.7)"> | |
| 146 <validator type="regex" message="Should be one combinaison of those format: XX,YY or -XX,YY or XX.XX,YY.YY">[\-]?[0-9]+[\.]?[0-9]*,[\-]?[0-9]+[\.]?[0-9]*</validator> | |
| 147 </param> | |
| 148 <expand macro="matchedfilter_fwhm_fixed" /> | |
| 149 </when> | |
| 150 </conditional> | |
| 151 </section> | |
| 152 | |
| 153 <section name="section_matchedfilter_non_optimizable" title="Non optimizable parameters" expanded="True"> | |
| 154 <param name="step" type="float" value="0.1" label="Step size to use for profile generation" help="[step] The peak detection algorithm creates extracted ion base peak chromatograms (EIBPC) on a fixed step size" /> | |
| 155 <param name="steps" type="integer" value="2" label="Number of steps to merge prior to filtration" help="[steps] The peak identification algorithm combines a given number of EIBPCs prior to filtration and peak detection, as defined by the steps argument" /> | |
| 156 <param name="max" type="integer" value="5" label="Maximum number of peaks per extracted ion chromatogram" help="[max]" /> | |
| 157 <param name="snthresh" type="integer" value="10" label="Signal to noise ratio cutoff" help="[snthresh]" /> | |
| 158 </section> | |
| 159 </when> | |
| 160 </conditional> | |
| 161 | |
| 162 | |
| 163 </inputs> | |
| 164 | |
| 165 <outputs> | |
| 166 <data name="xsetRData" format="rdata.xcms.raw" label="xset.RData" /> | |
| 167 <data name="parametersOutput" format="tabular" label="IPO_parameters4xcmsSet.tsv" /> | |
| 168 <data name="log" format="txt" label="ipo4xcmsSet.log.txt" /> | |
| 169 </outputs> | |
| 170 | |
| 171 <tests> | |
| 172 <test> | |
| 173 <param name="input" value="MM14.mzML" ftype="mzxml" /> | |
| 174 <param name="samplebyclass" value="0" /> | |
| 175 <conditional name="methods"> | |
| 176 <param name="method" value="centWave" /> | |
| 177 <section name="section_centwave_optiomizable" > | |
| 178 <conditional name="conditional_parameter"> | |
| 179 <param name="select_parameter" value="peakwidth" /> | |
| 180 <param name="min_peakwidth" value="3,9.5" /> | |
| 181 <param name="max_peakwidth" value="10,20" /> | |
| 182 <param name="ppm" value="56" /> | |
| 183 <param name="mzdiff" value="-0.001" /> | |
| 184 </conditional> | |
| 185 </section> | |
| 186 </conditional> | |
| 187 <output name="parametersOutput" file="MM14_IPO_parameters4xcmsSet_peakwidth.tsv" /> | |
| 188 </test> | |
| 189 <test> | |
| 190 <param name="input" value="MM14.mzML" ftype="mzxml" /> | |
| 191 <param name="samplebyclass" value="0" /> | |
| 192 <conditional name="methods"> | |
| 193 <param name="method" value="centWave" /> | |
| 194 <section name="section_centwave_optiomizable" > | |
| 195 <conditional name="conditional_parameter"> | |
| 196 <param name="select_parameter" value="ppm" /> | |
| 197 <param name="ppm" value="50,60" /> | |
| 198 <param name="min_peakwidth" value="3.325" /> | |
| 199 <param name="max_peakwidth" value="11" /> | |
| 200 <param name="mzdiff" value="-0.001" /> | |
| 201 </conditional> | |
| 202 </section> | |
| 203 </conditional> | |
| 204 <output name="parametersOutput" file="MM14_IPO_parameters4xcmsSet_ppm.tsv" /> | |
| 205 </test> | |
| 206 <!-- Too long for Travis CI --> | |
| 207 <!--<test> | |
| 208 <param name="inputs|input" value="zip_file" /> | |
| 209 <param name="inputs|zip_file" value="sacuri_2files.zip" ftype="zip" /> | |
| 210 <param name="samplebyclass" value="1" /> | |
| 211 <param name="methods|method" value="centWave" /> | |
| 212 <param name="methods|ppm" value="25" /> | |
| 213 <param name="methods|min_peakwidth" value="20,30" /> | |
| 214 <param name="methods|max_peakwidth" value="45,55" /> | |
| 215 <output name="parametersOutput" file="sacuri_2files_centWave_IPO_parameters4xcmsSet.tsv" /> | |
| 216 </test>--> | |
| 217 <!-- Too long for Travis CI --> | |
| 218 <!--<test> | |
| 219 <param name="inputs|input" value="zip_file" /> | |
| 220 <param name="inputs|zip_file" value="sacuri_2files.zip" ftype="zip" /> | |
| 221 <param name="samplebyclass" value="1" /> | |
| 222 <param name="methods|method" value="matchedFilter" /> | |
| 223 <param name="methods|step" value="0.05,0.15" /> | |
| 224 <param name="methods|fwhm" value="25,35" /> | |
| 225 <output name="parametersOutput" file="sacuri_2files_matchedFilter_IPO_parameters4xcmsSet.tsv" /> | |
| 226 </test>--> | |
| 227 <!--Failed: | |
| 228 Error in resultIncreased(history) : | |
| 229 No isotopes have been detected, peak picking not optimizable by IPO!--> | |
| 230 <!--<test> | |
| 231 <param name="inputs|input" value="zip_file" /> | |
| 232 <param name="inputs|zip_file" value="faahKO_reduce.zip" ftype="zip" /> | |
| 233 <param name="methods|method" value="centWave" /> | |
| 234 <param name="methods|ppm" value="25" /> | |
| 235 <param name="methods|min_peakwidth" value="15,25" /> | |
| 236 <param name="methods|min_peakwidth" value="20,30" /> | |
| 237 <param name="methods|max_peakwidth" value="45,55" /> | |
| 238 <output name="parametersOutput" file="faahKO_IPO_parameters4xcmsSet.tsv" /> | |
| 239 </test>--> | |
| 240 </tests> | |
| 241 | |
| 242 <help><![CDATA[ | |
| 243 | |
| 244 @HELP_AUTHORS@ | |
| 245 | |
| 246 =============== | |
| 247 IPO.ipo4xcmsSet | |
| 248 =============== | |
| 249 | |
| 250 ----------- | |
| 251 Description | |
| 252 ----------- | |
| 253 | |
| 254 A Tool for automated Optimization of XCMS Parameters | |
| 255 | |
| 256 | |
| 257 ----------------- | |
| 258 Workflow position | |
| 259 ----------------- | |
| 260 | |
| 261 **Upstream tools** | |
| 262 | |
| 263 ========================= ================= ======= ========= | |
| 264 Name output file format parameter | |
| 265 ========================= ================= ======= ========= | |
| 266 NA NA zip NA | |
| 267 ========================= ================= ======= ========= | |
| 268 | |
| 269 | |
| 270 **Downstream tools** | |
| 271 | |
| 272 +---------------------------+----------------------+-----------------+ | |
| 273 | Name | Output file | Format | | |
| 274 +===========================+======================+=================+ | |
| 275 |xcms.xcmsSet | parametersOutput.tsv | Tabular | | |
| 276 +---------------------------+--------------------+-------------------+ | |
| 277 | |
| 278 | |
| 279 | |
| 280 ----------- | |
| 281 Input files | |
| 282 ----------- | |
| 283 | |
| 284 +---------------------------+------------+ | |
| 285 | Parameter : num + label | Format | | |
| 286 +===========================+============+ | |
| 287 | 1 : Choose your inputs | zip | | |
| 288 +---------------------------+------------+ | |
| 289 | |
| 290 **Choose your inputs** | |
| 291 | |
| 292 You have two methods for your inputs: | |
| 293 | |
| 294 | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories). | |
| 295 | library folder: You must specify the name of your "library" (folder) created within your space project (for example: /projet/externe/institut/login/galaxylibrary/yourlibrary). Your library must contain all your conditions as sub-directories. | |
| 296 | |
| 297 Steps for creating the zip file | |
| 298 ------------------------------- | |
| 299 | |
| 300 **Step1: Creating your directory and hierarchize the subdirectories** | |
| 301 | |
| 302 | |
| 303 VERY IMPORTANT: If you zip your files under Windows, you must use the 7Zip software (http://www.7-zip.org/), otherwise your zip will not be well unzipped on the platform W4M (zip corrupted bug). | |
| 304 | |
| 305 Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild): | |
| 306 arabidopsis/wild/01.raw | |
| 307 arabidopsis/mutant/01.raw | |
| 308 | |
| 309 **Step2: Creating a zip file** | |
| 310 | |
| 311 Create your zip file (e.g.: arabidopsis.zip). | |
| 312 | |
| 313 **Step 3 : Uploading it to our Galaxy server** | |
| 314 | |
| 315 If your zip file is less than 2Gb, you get use the Get Data tool to upload it. | |
| 316 | |
| 317 Otherwise if your zip file is larger than 2Gb, please refer to the HOWTO on workflow4metabolomics.org (http://application.sb-roscoff.fr/download/w4m/howto/galaxy_upload_up_2Go.pdf). | |
| 318 | |
| 319 For more informations, don't hesitate to send us an email at supportATworkflow4metabolomics.org). | |
| 320 | |
| 321 Advices for converting your files for the XCMS input | |
| 322 ---------------------------------------------------- | |
| 323 | |
| 324 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. | |
| 325 | |
| 326 **We recommend you the following parameters:** | |
| 327 | |
| 328 Use Filtering: **True** | |
| 329 | |
| 330 Use Peak Picking: **True** | |
| 331 | |
| 332 Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode | |
| 333 | |
| 334 Use zlib: **64** | |
| 335 | |
| 336 Binary Encoding: **64** | |
| 337 | |
| 338 m/z Encoding: **64** | |
| 339 | |
| 340 Intensity Encoding: **64** | |
| 341 | |
| 342 | |
| 343 ---------- | |
| 344 Parameters | |
| 345 ---------- | |
| 346 | |
| 347 Extraction method for peaks detection | |
| 348 ------------------------------------- | |
| 349 | |
| 350 **Matched Filter** | |
| 351 | |
| 352 | One parameter to consider is the Gaussian model peak width used for matched filtration,an integral part of the peak detection algorithm. | |
| 353 | For a discussion of how model peak width affects the signal to noise ratio, see Danielsson et al. (2002). | |
| 354 | |
| 355 | |
| 356 **cent Wave** | |
| 357 | |
| 358 | This algorithm is most suitable for high resolution LC/{TOF,OrbiTrap,FTICR}-MS data in centroid mode. | |
| 359 | Due to the fact that peak centroids are used, a binning step is not necessary. | |
| 360 | 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. | |
| 361 | |
| 362 | |
| 363 ------------ | |
| 364 Output files | |
| 365 ------------ | |
| 366 | |
| 367 IPO_parameters4xcmsSet.tsv | |
| 368 | |
| 369 | Optimal parameters for xcmsSet | |
| 370 | |
| 371 | |
| 372 --------------------------------------------------- | |
| 373 | |
| 374 Changelog/News | |
| 375 -------------- | |
| 376 | |
| 377 | |
| 378 | |
| 379 ]]></help> | |
| 380 | |
| 381 <expand macro="citation" /> | |
| 382 </tool> |
