Mercurial > repos > lecorguille > ipo
diff ipo4retgroup.xml @ 9:364756ea5f42 draft
"planemo upload for repository https://github.com/rietho/IPO commit 5083f3b5800bdd8515519f2f6398046b41e1df97"
| author | workflow4metabolomics |
|---|---|
| date | Mon, 16 Dec 2019 10:26:13 +0000 |
| parents | dd0a593dded1 |
| children |
line wrap: on
line diff
--- a/ipo4retgroup.xml Thu Aug 03 05:56:58 2017 -0400 +++ b/ipo4retgroup.xml Mon Dec 16 10:26:13 2019 +0000 @@ -1,24 +1,15 @@ -<tool id="ipo4retgroup" name="IPO for group and retcor" version="0.0.1"> +<tool id="ipo4retgroup" name="IPO for group and retcor" version="@TOOL_VERSION@+galaxy0"> - <description>IPO optimization process for xcms.group and xcms.retcor</description> + <description>IPO optimization process for xcms.groupChromPeaks and xcms.adjustRtime</description> <macros> <import>macros.xml</import> - - <macro name="group_density_bw_fixed"> - <param name="bw" type="integer" value="30" label="Bandwidth" help="[bw] bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel to apply to the peak density chromatogram" /> - </macro> - - <macro name="group_density_mzwid_fixed"> - <param name="mzwid" type="float" value="0.25" label="Width of overlapping m/z slices" help="[mzwid] to use for creating peak density chromatograms and grouping peaks across samples " /> - </macro> </macros> <expand macro="requirements"/> - <expand macro="stdio"/> - <command><![CDATA[ - LANG=C Rscript $__tool_directory__/ipo4retgroup.r + <command detect_errors="exit_code"><![CDATA[ + LANG=C Rscript '$__tool_directory__/ipo4retgroup.r' image '$image' @@ -31,19 +22,19 @@ ## group methods sleep 0.001 - #if $group.methods.method == "density": - bw "c($group.methods.section_group_density_optiomizable.conditional_parameter.bw)" - mzwid "c($group.methods.section_group_density_optiomizable.conditional_parameter.mzwid)" + #if $group.method == "density": + bw "c($group.section_group_density_optiomizable.bw)" + mzwid "c($group.section_group_density_optiomizable.mzwid)" - minfrac $group.methods.section_group_density_non_optimizable.minfrac - max $group.methods.section_group_density_non_optimizable.max + minfrac $group.section_group_density_non_optimizable.minfrac + max $group.section_group_density_non_optimizable.max #end if ## retcor methods #if $retcor.methods.method == "obiwarp": retcorMethod obiwarp - profStep $methods.section_retcor_obiwarp_non_optimizable.profStep + profStep $retcor.methods.section_retcor_obiwarp_non_optimizable.profStep #elif $retcor.methods.method == "peakgroups": retcorMethod loess @@ -58,74 +49,58 @@ #end if @COMMAND_FILE_LOAD@ - - @COMMAND_LOG_EXIT@ ]]></command> <inputs> <param name="image" type="data" format="rdata.xcms.raw,rdata.xcms.group,rdata.xcms.retcor,rdata" label="xset RData file" help="output file from another function xcms (xcmsSet, retcor etc.)" /> - <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" /> + <param name="samplebyclass" type="integer" value="2" min="0" 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" /> - <section name="group" title="Group Options" expanded="True"> - <conditional name="methods"> - <param name="method" type="select" label="Method to use for grouping" help="[method] See the help section below. Only the density method is available so far"> - <option value="density" selected="true">density</option> + <section name="group" title="groupChromPeaks Options" expanded="True"> + <param argument="method" type="select" label="Method to use for grouping" help="See the help section below. Only the density method is available so far"> + <option value="density" selected="true">density</option> + </param> + <section name="section_group_density_optiomizable" title="Optimizable parameters" expanded="True"> + <param argument="bw" type="text" value="22,38" label="Range or a fixed value for Bandwidth" help="bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel to apply to the peak density chromatogram (ex: 22,38)"> + <expand macro="input_validator_range_integer"/> </param> - <when value="density"> - <section name="section_group_density_optiomizable" title="Optimizable parameters" expanded="True"> - <conditional name="conditional_parameter"> - <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"> - <option value="bw">Bandwidth [bw]</option> - <option value="mzwid">Width of overlapping m/z slices [mzwid]</option> - </param> - <when value="bw"> - <param name="bw" type="text" value="22,38" label="Range for Bandwidth" help="[bw] bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel to apply to the peak density chromatogram (ex: 22,38)"> - <validator type="regex" message="Should be this format XX,YY">[0-9]+,[0-9]+</validator> - </param> - <expand macro="group_density_mzwid_fixed" /> - </when> - <when value="mzwid"> - <param name="mzwid" type="text" value="0.015,0.035" label="Range for Width of overlapping m/z slices" help="[mzwid] to use for creating peak density chromatograms and grouping peaks across samples (ex: 0.015,0.035)" > - <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> - </param> - <expand macro="group_density_bw_fixed" /> - </when> - </conditional> - </section> - <section name="section_group_density_non_optimizable" title="Non optimizable parameters" expanded="True"> - <param name="minfrac" type="float" value="0.5" label="Minimum fraction of samples necessary" help="[minfrac] in at least one of the sample groups for it to be a valid group" /> - <param name="max" type="integer" value="50" label="Maximum number of groups to identify in a single m/z slice" help="[max]" /> - </section> - </when> - </conditional> + <param argument="mzwid" type="text" value="0.015,0.035" label="Range or a fixed value for Width of overlapping m/z slices" help="to use for creating peak density chromatograms and grouping peaks across samples (ex: 0.015,0.035)" > + <expand macro="input_validator_range_float_neg"/> + </param> + </section> + <section name="section_group_density_non_optimizable" title="Non optimizable parameters" expanded="True"> + <param argument="minfrac" type="float" value="0.5" label="Minimum fraction of samples necessary" help="in at least one of the sample groups for it to be a valid group" /> + <param argument="max" type="integer" value="50" label="Maximum number of groups to identify in a single m/z slice" /> + </section> </section> - <section name="retcor" title="Retcor Options" expanded="True"> + <section name="retcor" title="adjustRtime Options" expanded="True"> <conditional name="methods"> - <param name="method" type="select" label="Method to use for retention time correction" help="[method] See the help section below" > + <param argument="method" type="select" label="Method to use for retention time correction" help="See the help section below" > <option value="obiwarp">obiwarp</option> <option value="peakgroups">peakgroups</option> </param> <when value="obiwarp"> <section name="section_retcor_obiwarp_non_optimizable" title="Non optimizable parameters" expanded="True"> - <param name="profStep" type="text" value="0.7,1.0" label="Range for Step size (in m/z)" help="[profStep] to use for profile generation from the raw data files (ex: 1 or 0.7 1.0)" /> + <param argument="profStep" type="text" value="0.7,1.0" label="Range or a fixed value for Step size (in m/z)" help="to use for profile generation from the raw data files (ex: 1 or 0.7 1.0)" > + <expand macro="input_validator_range_float_neg"/> + </param> </section> </when> <when value="peakgroups"> <section name="section_retcor_peakgroups_non_optimizable" title="Non optimizable parameters" expanded="True"> - <param name="smooth" type="select" label="Smooth method" help="[smooth] only the 'loess’ for non-linear alignment is available so far" > + <param argument="smooth" type="select" label="Smooth method" help="only the 'loess’ for non-linear alignment is available so far" > <option value="loess">loess</option> </param> - <param name="extra" type="integer" value="1" label="Number of extra peaks to allow in retention time correction correction groups" help="[extra]" /> - <param name="missing" type="integer" value="1" label="Number of missing samples to allow in retention time correction groups" help="[missing]" /> - <param name="span" type="float" value="0.2" label="Degree of smoothing for local polynomial regression fitting" help="[span]"/> - <param name="family" type="select" label="Family" help="[family] if gaussian fitting is by least-squares with no outlier removal, and if symmetric a re descending M estimator is used with Tukey's biweight function, allowing outlier removal"> + <param argument="extra" type="integer" value="1" min="0" label="Number of extra peaks to allow in retention time correction correction groups" /> + <param argument="missing" type="integer" value="1" min="0" label="Number of missing samples to allow in retention time correction groups" /> + <param argument="span" type="float" value="0.2" min="0" label="Degree of smoothing for local polynomial regression fitting" /> + <param argument="family" type="select" label="Family" help="if gaussian fitting is by least-squares with no outlier removal, and if symmetric a re descending M estimator is used with Tukey's biweight function, allowing outlier removal"> <option value="gaussian" selected="true">gaussian</option> <option value="symmetric">symmetric</option> </param> - <param name="plottype" type="select" help="[plottype] if deviation plot retention time deviation points and regression fit, and if mdevden also plot peak overall peak density and retention time correction peak density"> + <param argument="plottype" type="select" help="if deviation plot retention time deviation points and regression fit, and if mdevden also plot peak overall peak density and retention time correction peak density"> <option value="none" selected="true">none</option> <option value="deviation">deviation</option> <option value="mdevden">mdevden</option> @@ -141,41 +116,22 @@ </inputs> <outputs> - <data name="parametersOutput" format="tabular" label="IPO_parameters4xcmsSet.tsv" /> - <data name="log" format="txt" label="ipo4xcmsSet.log.txt" /> + <data name="parametersOutput" format="tabular" label="IPO_parameters4xcmsSet.tsv" from_work_dir="IPO_parameters4xcmsSet.tsv"/> </outputs> <tests> - <!-- TOO LONG <test> - <param name="image" value="faahKO.xset.RData"/> - <param name="group|methods|method" value="density"/> - <param name="group|methods|bw" value="28,32"/> - <param name="group|methods|minfrac" value="1"/> - <param name="group|methods|mzwid" value="0.15,0.35"/> - <param name="retcor|methods|method" value="peakgroups"/> - <param name="retcor|methods|smooth" value="loess"/> - <param name="retcor|methods|extra" value="1"/> - <param name="retcor|methods|missing" value="1"/> - <expand macro="test_file_load_zip"/> - <output name="parametersOutput" file="faahKO_IPO_parameters4retgroup.tsv" /> - </test>--> - - <test> - <param name="image" value="faahKO.xset.RData"/> + <param name="image" value="faahKO.xset_single.RData"/> + <param name="samplebyclass" value="0"/> <section name="group"> - <conditional name="methods"> - <param name="method" value="density"/> - <section name="section_group_density_optiomizable"> - <conditional name="conditional_parameter"> - <param name="bw" value="28,32"/> - <param name="mzwid" value="0.25"/> - </conditional> - </section> - <section name="section_group_density_non_optimizable"> - <param name="minfrac" value="1"/> - </section> - </conditional> + <param name="method" value="density"/> + <section name="section_group_density_optiomizable"> + <param name="bw" value="5,6"/> + <param name="mzwid" value="0.01,0.02"/> + </section> + <section name="section_group_density_non_optimizable"> + <param name="minfrac" value="1"/> + </section> </section> <section name="retcor"> <conditional name="methods"> @@ -187,38 +143,9 @@ </section> </conditional> </section> - <expand macro="test_file_load_zip"/> + <expand macro="test_file_load_single"/> <output name="parametersOutput" file="faahKO_IPO_parameters4retgroup_bw.tsv" /> </test> - - <!--<test> - <param name="image" value="faahKO.xset.RData"/> - <param name="group|methods|method" value="density"/> - <param name="group|methods|bw" value="30"/> - <param name="group|methods|minfrac" value="1"/> - <param name="group|methods|mzwid" value="0.15,0.35"/> - <param name="retcor|methods|method" value="peakgroups"/> - <param name="retcor|methods|smooth" value="loess"/> - <param name="retcor|methods|extra" value="1"/> - <param name="retcor|methods|missing" value="1"/> - <expand macro="test_file_load_zip"/> - <output name="parametersOutput" file="faahKO_IPO_parameters4retgroup_mzmid.tsv" /> - </test>--> - - <!--<test> - <param name="image" value="MM-xset-merge.RData"/> - <param name="group|methods|method" value="density"/> - <param name="group|methods|bw" value="22,38"/> - <param name="group|methods|minfrac" value="1"/> - <param name="group|methods|mzwid" value="0.015,0.035"/> - <param name="retcor|methods|method" value="peakgroups"/> - <param name="retcor|methods|smooth" value="loess"/> - <param name="retcor|methods|extra" value="1"/> - <param name="retcor|methods|missing" value="1"/> - <param name="file_load_conditional|file_load_select" value="yes" /> - <expand macro="test_file_load_single"/> - <output name="parametersOutput" file="MM_IPO_parameters4retgroup.tsv" /> - </test>--> </tests> <help><![CDATA[ @@ -242,11 +169,13 @@ **Upstream tools** -========================= ================= ======= ========= -Name output file format parameter -========================= ================= ======= ========= -NA NA zip NA -========================= ================= ======= ========= +==================================== ======================== ============================== +Name Output file Format +==================================== ======================== ============================== +xcms.findChromPeaks Merger (single) xset.merged.RData rdata.xcms.findchrompeaks +------------------------------------ ------------------------ ------------------------------ +xcms.adjustRtime ``*``.adjustRtime.RData rdata.xcms.retcor +==================================== ======================== ============================== **Downstream tools** @@ -254,109 +183,48 @@ +---------------------------+----------------------+-----------------+ | Name | Output file | Format | +===========================+======================+=================+ -|xcms.xcmsSet | parametersOutput.tsv | Tabular | +|xcms.groupChromPeaks | parametersOutput.tsv | Tabular | +---------------------------+--------------------+-------------------+ - ------------ -Input files ------------ - -+---------------------------+------------+ -| Parameter : num + label | Format | -+===========================+============+ -| 1 : Choose your inputs | zip | -+---------------------------+------------+ - -**Choose your inputs** - -You have two methods for your inputs: - - | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories). - | 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. - -Steps for creating the zip file -------------------------------- - -**Step1: Creating your directory and hierarchize the subdirectories** - - -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). - -Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild): -arabidopsis/wild/01.raw -arabidopsis/mutant/01.raw - -**Step2: Creating a zip file** - -Create your zip file (e.g.: arabidopsis.zip). - -**Step 3 : Uploading it to our Galaxy server** - -If your zip file is less than 2Gb, you get use the Get Data tool to upload it. - -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). - -For more informations, don't hesitate to send us an email at supportATworkflow4metabolomics.org). - -Advices for converting your files for the XCMS input ----------------------------------------------------- - -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. - -**We recommend you the following parameters:** - -Use Filtering: **True** - -Use Peak Picking: **True** - -Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode - -Use zlib: **64** - -Binary Encoding: **64** - -m/z Encoding: **64** - -Intensity Encoding: **64** - - ---------- Parameters ---------- -Extraction method for peaks detection -------------------------------------- +Method to use for groupChromPeaks +--------------------------------- + +**PeakDensity** -**Matched Filter** + | This method performs performs correspondence (chromatographic peak grouping) based on the density (distribution) of identified peaks along the retention time axis within slices of overlapping mz ranges. All peaks (from the same or from different samples) being close on the retention time axis are grouped into a feature (peak group). + | See the PeakDensity_manual_ - | One parameter to consider is the Gaussian model peak width used for matched filtration,an integral part of the peak detection algorithm. - | For a discussion of how model peak width affects the signal to noise ratio, see Danielsson et al. (2002). + +.. _PeakDensity_manual: https://rdrr.io/bioc/xcms/man/groupChromPeaks-density.html#heading-2 -**cent Wave** +Method to use for adjustRtime +------------------------------------------- - | This algorithm is most suitable for high resolution LC/{TOF,OrbiTrap,FTICR}-MS data in centroid mode. - | Due to the fact that peak centroids are used, a binning step is not necessary. - | 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. +**PeakGroups** + | This method performs retention time adjustment based on the alignment of chromatographic peak groups present in all/most samples (hence corresponding to house keeping compounds). First the retention time deviation of these peak groups is described by fitting either a polynomial (‘smooth = "loess"’) or a linear ( ‘smooth = "linear"’) model to the data points. These models are subsequently used to adjust the retention time of each spectrum in each sample. + | See the PeakGroups_manual_ ------------- -Output files ------------- +**Obiwarp** -IPO_parameters4xcmsSet.tsv + | This method performs retention time adjustment using the Obiwarp method [Prince 2006]. It is based on the code at http://obi-warp.sourceforge.net but supports alignment of multiple samples by aligning each against a _center_ sample. The alignment is performed directly on the ‘profile-matrix’ and can hence be performed independently of the peak detection or peak grouping. + | See the Obiwarp_manual_ - | Optimal parameters for xcmsSet - +.. _PeakGroups_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-peakGroups.html#heading-2 +.. _Obiwarp_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-obiwarp.html --------------------------------------------------- Changelog/News -------------- - +@HELP_NEWVERSION_1_10_0_0@ ]]></help>
