Repository 'xcms_retcor'
hg clone https://toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_retcor

Changeset 27:8242376d9f35 (2024-03-14)
Previous changeset 26:36480435e92b (2023-09-11) Next changeset 28:d2b82d89f848 (2024-07-15)
Commit message:
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit cc13a2654ccf6f9e55bc0120ea5518df3b045712
added:
abims_xcms_retcor.xml
xcms_retcor.r
removed:
abims_xcms_refine.xml
xcms_refine.r
b
diff -r 36480435e92b -r 8242376d9f35 abims_xcms_refine.xml
--- a/abims_xcms_refine.xml Mon Sep 11 09:21:15 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,264 +0,0 @@\n-<tool id="abims_xcms_refine" name="xcms refineChromPeaks (refine)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n-\n-    <description>Remove or merge chromatographic peaks based on specific criteria.</description>\n-\n-    <macros>\n-        <import>macros.xml</import>\n-        <import>macros_xcms.xml</import>\n-    </macros>\n-\n-    <expand macro="requirements"/>\n-\n-    <expand macro="stdio"/>\n-\n-    <command><![CDATA[\n-        @COMMAND_RSCRIPT@/xcms_refine.r\n-        image \'$image\'\n-\n-        method $methods.method\n-        #if $methods.method == "CleanPeaks":\n-            maxPeakwidth $methods.maxPeakwidth\n-        #elif $methods.method == "FilterIntensity":\n-            threshold $methods.threshold\n-            nValues $methods.nValues\n-            value $methods.value\n-        #else:\n-            expandRt $methods.expandRt\n-            expandMz $methods.expandMz\n-            ppm $methods.ppm\n-            minProp $methods.minProp\n-        #end if\n-\n-        msLevel $msLevel\n-\n-        @COMMAND_FILE_LOAD@\n-\n-        @COMMAND_LOG_EXIT@\n-   ]]></command>\n-\n-    <inputs>\n-        <param name="image" type="data" format="rdata.xcms.findchrompeaks" label="@INPUT_IMAGE_LABEL@" help="@INPUT_IMAGE_HELP@ from: findChromPeaks" />\n-        <conditional name="methods">\n-            <param name="method" type="select" label="Method for peak refinement" help="See the help section below">\n-                <option value="CleanPeaks" selected="true">CleanPeaks - remove peaks that are too wide</option>\n-                <option value="FilterIntensity">FilterIntensity - remove peaks with too low intensity</option>\n-                <option value="MergeNeighboringPeaks">MergeNeighboringPeaks - combine peaks that are too close together</option>\n-            </param>\n-            <when value="CleanPeaks">\n-                <param argument="maxPeakwidth" type="float" value="10" label="MaxPeakWidth" help="maximum peak width in seconds.  See CleanPeaks manual (linked in help below)." />\n-            </when>\n-            <when value="FilterIntensity">\n-                <param argument="threshold" type="float" value="0" label="minimal required intensity" help="minimal required intensity for a peak to be retained.  Defaults to 0.0." />\n-                <param argument="nValues" type="integer" value="1" label="minimum number of data points per peak" help="number of data points (per chromatographic peak) that have to be >= threshold. Defaults to 1." />\n-                <param name="value" type="select" label="Definition of peak intensity" help="See the FilterIntensity manual (linked in help below). \'intb\' requires centWave processed data">\n-                    <option value="maxo" selected="true">maxo - use maximum peak intensities</option>\n-                    <option value="into">into - use integrated peak intensities</option>\n-                    <option value="intb">intb - use baseline-corrected integrated peak intensities</option>\n-                </param>\n-            </when>\n-            <when value="MergeNeighboringPeaks">\n-                <param argument="expandRt" type="float" value="2" label="rt expansion (seconds)" help="seconds of expansion of retention time window (on both sides) to check for overlapping peaks. Defaults to 2." />\n-                <param argument="expandMz" type="float" value="0" label="m/z expansion (m/z units)" help="\'m/z units\' of expansion of m/z window (on both sides) to check for overlapping peaks. Defaults to 0." />\n-                <param argument="ppm" type="float" value="10" label="ppm expansion (ppm units)" help="\'relative \'m/z units\' (in parts per million) of expansion of m/z window (on both sides) to check for overlapping peaks. Defaults to 10." />\n-                <param argument="minProp" type="float" value="0.75" label="minimum proportion at midpoint" help="See MergeNeighboringPeaks manual (linked in help below).  Minimum proportion midway between peaks relative to the smaller '..b': infomark\n-\n-**Authors**  Johannes Rainer Johannes.Rainer@eurac.edu and Mar Garcia-Aloy mar.garcia@fmach.it\n-\n-@HELP_AUTHORS_WRAPPERS@\n-\n----------------------------------------------------\n-\n-\n-=====================\n-xcms refineChromPeaks\n-=====================\n-\n------------\n-Description\n------------\n-\n-After peak identification with xcms findChromPeaks (xcmsSet), this tool refines those peaks.\n-It either removes peaks that are too wide or removes peaks with too low intensity or combines peaks that are too close together.\n-\n-Note well that refineChromPeaks methods will always remove feature definitions,\n-because a call to this method can change or remove identified chromatographic peaks, which may be part of features.\n-Therefore it must only be run immediately after findChromPeaks (xcmsSet).\n-\n------------------\n-Workflow position\n------------------\n-\n-**Upstream tools**\n-\n-==================================== ======================== ==============================\n-Name                                 Output file              Format\n-==================================== ======================== ==============================\n-xcms.findChromPeaks Merger (single)  xset.merged.RData        rdata.xcms.findchrompeaks\n------------------------------------- ------------------------ ------------------------------\n-xcms.findChromPeaks (zip)            ``*``.raw.xset.RData     rdata.xcms.findchrompeaks\n-==================================== ======================== ==============================\n-\n-\n-**Downstream tools**\n-\n-==================================== ======================== =========================\n-Name                                 Output file              Format\n-==================================== ======================== =========================\n-xcms.findChromPeaks Merger (single)  ``*``.raw.xset.RData     rdata.xcms.findchrompeaks\n------------------------------------- ------------------------ -------------------------\n-xcms.groupChromPeaks (zip)           ``*``.raw.xset.RData     rdata.xcms.findchrompeaks\n-==================================== ======================== =========================\n-\n-**General schema of the metabolomic workflow**\n-\n-This tool would appear between findChromPeaks and group, but only when the choice of peaks needs to be refined, e.g., to accommodate HILIC data.\n-\n----------------------------------------------------\n-\n-----------\n-Parameters\n-----------\n-\n-Method to use for refinement\n-----------------------------\n-\n-**CleanPeaks**\n-\n-    | Remove chromatographic peaks with too large rt width.\n-    | See the CleanPeaks_manual_\n-\n-**FilterIntensity**\n-\n-    | Remove chromatographic peaks based on intensity.\n-    | See the FilterIntensity_manual_\n-\n-**MergeNeighboringPeaks**\n-\n-    | Merge neighboring and overlapping chromatographic peaks.\n-    | See the MergeNeighboringPeaks_manual_\n-\n-.. _CleanPeaks_manual: https://rdrr.io/bioc/xcms/man/refineChromPeaks-clean.html\n-.. _FilterIntensity_manual: https://rdrr.io/bioc/xcms/man/refineChromPeaks-filter-intensity.html\n-.. _MergeNeighboringPeaks_manual: https://rdrr.io/bioc/xcms/man/refineChromPeaks-merge.html\n-\n-@HELP_XCMS_MANUAL@\n-\n-------------\n-Output files\n-------------\n-\n-xset.RData: rdata.xcms.findchrompeaks format\n-\n-    | (single) RData files that are necessary in the second step of the workflow "xcms.groupChromPeaks" - must be merged first using "xcms.findChromPeaks Merger"\n-    | (zip) RData file that is necessary in the second step of the workflow "xcms.groupChromPeaks".\n-\n-\n----------------------------------------------------\n-\n-Changelog/News\n---------------\n-\n-.. _news: https://bioconductor.org/packages/release/bioc/news/xcms/NEWS\n-\n-\n-**Version 3.6.1.0 - 08/02/2021**\n-\n-- NEW: first version of tool wrapper\n-\n-\n-    ]]></help>\n-\n-    <citations>\n-      <citation type="doi">10.5281/zenodo.3909299</citation>\n-      <expand macro="citation_w4m"/>\n-      <citation type="doi">10.1021/ac051437y</citation>\n-    </citations>\n-\n-\n-</tool>\n'
b
diff -r 36480435e92b -r 8242376d9f35 abims_xcms_retcor.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/abims_xcms_retcor.xml Thu Mar 14 15:35:44 2024 +0000
[
b'@@ -0,0 +1,383 @@\n+<tool id="abims_xcms_retcor" name="xcms adjustRtime (retcor)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n+\n+    <description>Retention Time Correction</description>\n+\n+    <macros>\n+        <import>macros.xml</import>\n+        <import>macros_xcms.xml</import>\n+    </macros>\n+\n+    <expand macro="requirements"/>\n+    <expand macro="stdio"/>\n+\n+    <command><![CDATA[\n+        @COMMAND_RSCRIPT@/xcms_retcor.r\n+        image \'$image\'\n+\n+        method $methods.method\n+        #if $methods.method == "PeakGroups":\n+            minFraction $methods.minFraction\n+            extraPeaks $methods.extraPeaks\n+            smooth $methods.smooth_cond.smooth\n+            ## PeakGroupsSmoothLoess Advanced\n+            span $methods.smooth_cond.PeakGroupsSmoothLoessAdv.span\n+            family $methods.smooth_cond.PeakGroupsSmoothLoessAdv.family\n+        #else\n+            binSize $methods.binSize\n+            ## Advanced\n+            #if $methods.ObiwarpAdv.centerSample != "":\n+                centerSample $methods.ObiwarpAdv.centerSample\n+            #end if\n+            response $methods.ObiwarpAdv.response\n+            distFun $methods.ObiwarpAdv.distFunCond.distFun\n+            gapInit $methods.ObiwarpAdv.distFunCond.gapInit\n+            gapExtend $methods.ObiwarpAdv.distFunCond.gapExtend\n+            factorDiag $methods.ObiwarpAdv.factorDiag\n+            factorGap $methods.ObiwarpAdv.factorGap\n+            localAlignment $methods.ObiwarpAdv.localAlignmentCond.localAlignment\n+            initPenalty $methods.ObiwarpAdv.localAlignmentCond.initPenalty\n+        #end if\n+\n+        @COMMAND_FILE_LOAD@\n+\n+        @COMMAND_LOG_EXIT@\n+    ]]></command>\n+\n+    <inputs>\n+        <param name="image" type="data" format="rdata.xcms.findchrompeaks,rdata.xcms.group,rdata" label="@INPUT_IMAGE_LABEL@" help="@INPUT_IMAGE_HELP@ from: findChromPeaks, groupChromPeaks" />\n+        <conditional name="methods">\n+            <param name="method" type="select" label="Method to use for retention time correction" help="See the help section below" >\n+                <option value="PeakGroups" selected="true">PeakGroups - retention time correction based on aligment of features (peak groups) present in most/all samples.</option>\n+                <option value="Obiwarp">Obiwarp - alignment based on the complete mz-rt data.</option>\n+            </param>\n+            <when value="PeakGroups">\n+                <param argument="minFraction" type="float" value="0.9" min="0" max="1" label="Minimum required fraction of samples in which peaks for the peak group were identified" help="(previously missing)"/>\n+                <param argument="extraPeaks" type="integer" value="1" label="Maximal number of additional peaks for all samples to be assigned to a peak group for retention time correction"  help="For a data set with 6 samples, \xe2\x80\x98extraPeaks = 1\xe2\x80\x99 uses all peak groups with a total peak count lower or equal to \xe2\x80\x986 + 1\xe2\x80\x99. The total peak count is the total number of peaks being assigned to a peak group and considers also multiple peaks within a sample being assigned to the group. (previously extra)" />\n+                <conditional name="smooth_cond">\n+                    <param argument="smooth" type="select" label="Smooth method" >\n+                        <option value="loess" selected="true">loess - non-linear alignment</option>\n+                        <option value="linear">linear - linear alignment</option>\n+                    </param>\n+                    <when value="loess">\n+                        <section name="PeakGroupsSmoothLoessAdv" title="Advanced Options" expanded="False">\n+                            <param argument="span" type="float" value="0.2" label="Degree of smoothing for the loess fitting" />\n+                            <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 T'..b'tention 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 (\xe2\x80\x98smooth = "loess"\xe2\x80\x99) or a linear ( \xe2\x80\x98smooth = "linear"\xe2\x80\x99) model to the data points. These models are subsequently used to adjust the retention time of each spectrum in each sample.\n+    | See the PeakGroups_manual_\n+\n+**Obiwarp**\n+\n+    | 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 \xe2\x80\x98profile-matrix\xe2\x80\x99 and can hence be performed independently of the peak detection or peak grouping.\n+    | See the Obiwarp_manual_\n+\n+.. _PeakGroups_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-peakGroups.html#heading-2\n+.. _Obiwarp_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-obiwarp.html\n+\n+WARNING: if a retention time ajustment have already been applied to your data.\n+The function applyAdjustedRtime will replace raw retention times with adjusted retention times and so alloww to cumulate the ajustments.\n+\n+@HELP_XCMS_MANUAL@\n+\n+------------\n+Output files\n+------------\n+\n+xset.groupChromPeaks.adjustRtime.RData: rdata.xcms.retcor format\n+\n+    | Rdata file that will be necessary in the **xcms.groupChromPeaks** step of the workflow.\n+\n+\n+---------------------------------------------------\n+\n+Changelog/News\n+--------------\n+\n+@HELP_XCMS_NEWVERSION_31200@\n+\n+**Version 3.6.1+galaxy1 - 13/02/2020**\n+\n+- NEW: if a retention time ajustment have already been applied to your data. The function applyAdjustedRtime will replace raw retention times with adjusted retention times and so alloww to cumulate the ajustments.\n+\n+@HELP_XCMS_NEWVERSION_3610@\n+\n+**Version 3.4.4.1 - 30/04/2019**\n+\n+- BUGFIX: remove the pre-compute of the chromatograms which was memory consuming. Now, only xcms plot chromatogram will generate the Chromatograms.\n+\n+@HELP_XCMS_NEWVERSION_3440@\n+\n+**Version 3.0.0.0 - 08/03/2018**\n+\n+- 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.\n+\n+- NEW: a bunch of new options: Obiwarp.(centerSample, response, distFun, gapInit, gapExtend, factorDiag, factorGap, localAlignment, initPenalty)\n+\n+- IMPROVEMENT: the advanced options are now in sections. It will allow you to access to all the parameters and to know their default values.\n+\n+- CHANGE: removing of the TIC and BPC plots. You can now use the dedicated tool "xcms plot chromatogram"\n+\n+\n+**Version 2.1.1 - 29/11/2017**\n+\n+- BUGFIX: To avoid issues with accented letter in the parentFile tag of the mzXML files, we changed a hidden mechanim to LC_ALL=C\n+\n+\n+**Version 2.1.0 - 03/02/2017**\n+\n+- IMPROVEMENT: xcms.retcor can deal with merged individual data\n+\n+\n+**Version 2.0.8 - 22/12/2016**\n+\n+- BUGFIX: when having only one group (i.e. one folder of raw data) the BPC and TIC pdf files do not contain any graph\n+\n+\n+@HELP_XCMS_NEWVERSION_2090@\n+\n+\n+**Version 2.0.6 - 04/04/2016**\n+\n+- TEST: refactoring to pass planemo test using conda dependencies\n+\n+\n+**Version 2.0.5 - 10/02/2016**\n+\n+- BUGFIX: better management of errors. Datasets remained green although the process failed\n+\n+- BUGFIX: some pdf remained empty even when the process succeed\n+\n+- UPDATE: refactoring of internal management of inputs/outputs\n+\n+- UPDATE: refactoring to feed the new report tool\n+\n+\n+**Version 2.0.2 - 02/06/2015**\n+\n+- IMPROVEMENT: new datatype/dataset formats (rdata.xcms.raw, rdata.xcms.group, rdata.xcms.retcor ...) will facilitate the sequence of tools and so avoid incompatibility errors.\n+\n+- IMPROVEMENT: parameter labels have changed to facilitate their reading.\n+\n+\n+    ]]></help>\n+\n+\n+    <expand macro="citation" />\n+\n+</tool>\n'
b
diff -r 36480435e92b -r 8242376d9f35 xcms_refine.r
--- a/xcms_refine.r Mon Sep 11 09:21:15 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,126 +0,0 @@
-#!/usr/bin/env Rscript
-
-# ----- LOG FILE -----
-log_file <- file("log.txt", open  =  "wt")
-sink(log_file)
-sink(log_file, type = "output")
-
-
-# ----- PACKAGE -----
-cat("\tSESSION INFO\n")
-
-#Import the different functions
-source_local <- function(fname) {
-  argv <- commandArgs(trailingOnly = FALSE)
-  base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
-  source(paste(base_dir, fname, sep = "/"))
-}
-source_local("lib.r")
-
-pkgs <- c("xcms", "batch", "RColorBrewer")
-loadAndDisplayPackages(pkgs)
-cat("\n\n")
-
-# ----- ARGUMENTS -----
-cat("\tARGUMENTS INFO\n")
-# interpretation of arguments given in command line as an R list of objects
-args <- parseCommandArgs(evaluate = FALSE)
-write.table(as.matrix(args), col.names = FALSE, quote = FALSE, sep = "\t")
-
-cat("\n\n")
-
-# ----- PROCESSING INFILE -----
-cat("\tARGUMENTS PROCESSING INFO\n")
-
-#saving the specific parameters
-args_method  <- args$method
-args_image   <- args$image
-args_msLevel <- args$msLevel
-param_args <- list()
-
-if (args_method == "CleanPeaks") {
-  param_args$maxPeakwidth <- args$maxPeakwidth
-} else if (args_method == "FilterIntensity") {
-  param_args$threshold <- args$threshold
-  param_args$value <- args$value
-  param_args$nValues <- args$nValues
-} else if (args_method == "MergeNeighboringPeaks") {
-  param_args$expandRt <- args$expandRt
-  param_args$expandMz <- args$expandMz
-  param_args$ppm      <- args$ppm
-  param_args$minProp  <- args$minProp
-}
-
-cat("\n\n")
-
-
-# ----- ARGUMENTS PROCESSING -----
-cat("\tINFILE PROCESSING INFO\n")
-
-#image is an .RData file necessary to use xset variable given by previous tools
-load(args_image)
-if (!exists("xdata")) stop("\n\nERROR: The RData doesn't contain any object called 'xdata'. Such RData as this might have been created by an old version of XMCS 2.*")
-
-# Handle infiles
-if (!exists("singlefile")) singlefile <- NULL
-if (!exists("zipfile")) zipfile <- NULL
-rawFilePath <- retrieveRawfileInTheWorkingDir(singlefile, zipfile, args)
-zipfile <- rawFilePath$zipfile
-singlefile <- rawFilePath$singlefile
-
-cat("\n\n")
-
-
-# ----- MAIN PROCESSING INFO -----
-cat("\tMAIN PROCESSING INFO\n")
-
-
-cat("\t\tPREPARE PARAMETERS\n\n")
-
-if (args_method == "CleanPeaks") {
-  refineChromPeaksParam <- CleanPeaksParam(maxPeakwidth = param_args$maxPeakwidth)
-} else if (args_method == "FilterIntensity") {
-  refineChromPeaksParam <- FilterIntensityParam(
-    threshold = param_args$threshold,
-    nValues = param_args$nValues,
-    value = param_args$value
-  )
-} else if (args_method == "MergeNeighboringPeaks") {
-  refineChromPeaksParam <- MergeNeighboringPeaksParam(
-    expandRt = param_args$expandRt,
-    expandMz = param_args$expandMz,
-    ppm = param_args$ppm,
-    minProp = param_args$minProp
-  )
-}
-
-cat(str(refineChromPeaksParam))
-
-cat("\n\n\t\tCOMPUTE\n")
-
-xdata <- updateObject(xdata)
-
-xdata <- refineChromPeaks(xdata, param = refineChromPeaksParam)
-
-cat("\n\n")
-
-# ----- EXPORT -----
-
-cat("\tXCMSnExp OBJECT INFO\n")
-print(xdata)
-cat("\n\n")
-
-cat("\txcmsSet OBJECT INFO\n")
-# Get the legacy xcmsSet object
-xset <- getxcmsSetObject(xdata)
-print(xset)
-cat("\n\n")
-
-#saving R data in .Rdata file to save the variables used in the present tool
-objects2save <- c("xdata", "zipfile", "singlefile", "md5sumList", "sampleNamesList")
-save(list = objects2save[objects2save %in% ls()], file = "xcmsSet.RData")
-
-cat("\n\n")
-
-
-cat("\tDONE\n")
b
diff -r 36480435e92b -r 8242376d9f35 xcms_retcor.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms_retcor.r Thu Mar 14 15:35:44 2024 +0000
[
@@ -0,0 +1,107 @@
+#!/usr/bin/env Rscript
+
+# ----- LOG FILE -----
+log_file <- file("log.txt", open = "wt")
+sink(log_file)
+sink(log_file, type = "output")
+
+
+# ----- PACKAGE -----
+cat("\tSESSION INFO\n")
+
+#Import the different functions
+source_local <- function(fname) {
+  argv <- commandArgs(trailingOnly = FALSE)
+  base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
+  source(paste(base_dir, fname, sep = "/"))
+}
+source_local("lib.r")
+
+pkgs <- c("xcms", "batch", "RColorBrewer")
+loadAndDisplayPackages(pkgs)
+cat("\n\n")
+
+
+# ----- ARGUMENTS -----
+cat("\tARGUMENTS INFO\n")
+args <- parseCommandArgs(evaluate = FALSE) #interpretation of arguments given in command line as an R list of objects
+write.table(as.matrix(args), col.names = FALSE, quote = FALSE, sep = "\t")
+
+cat("\n\n")
+
+# ----- PROCESSING INFILE -----
+cat("\tARGUMENTS PROCESSING INFO\n")
+
+#saving the specific parameters
+method <- args$method
+
+cat("\n\n")
+
+
+# ----- ARGUMENTS PROCESSING -----
+cat("\tINFILE PROCESSING INFO\n")
+
+#image is an .RData file necessary to use xset variable given by previous tools
+load(args$image)
+args$image <- NULL
+if (!exists("xdata")) stop("\n\nERROR: The RData doesn't contain any object called 'xdata'. This RData should have been created by an old version of XMCS 2.*")
+
+# Handle infiles
+if (!exists("singlefile")) singlefile <- NULL
+if (!exists("zipfile")) zipfile <- NULL
+rawFilePath <- retrieveRawfileInTheWorkingDir(singlefile, zipfile, args)
+zipfile <- rawFilePath$zipfile
+singlefile <- rawFilePath$singlefile
+
+cat("\n\n")
+
+
+# ----- MAIN PROCESSING INFO -----
+cat("\tMAIN PROCESSING INFO\n")
+
+
+cat("\t\tCOMPUTE\n")
+
+cat("\t\t\tAlignment/Retention Time correction\n")
+# clear the arguement list to remove unexpected key/value as singlefile_galaxyPath or method ...
+args <- args[names(args) %in% slotNames(do.call(paste0(method, "Param"), list()))]
+
+adjustRtimeParam <- do.call(paste0(method, "Param"), args)
+print(adjustRtimeParam)
+
+if (hasAdjustedRtime(xdata)) {
+  cat("WARNING: a retention time ajustment had already been applied to your data.\nThe function applyAdjustedRtime was processed to cumulate the ajustment")
+  cat("Replace raw retention times with adjusted retention times.\n")
+  xdata <- applyAdjustedRtime(xdata)
+}
+xdata <- adjustRtime(xdata, param = adjustRtimeParam)
+
+cat("\n\n")
+
+
+# -- TIC --
+cat("\t\tDRAW GRAPHICS\n")
+getPlotAdjustedRtime(xdata)
+
+cat("\n\n")
+
+# ----- EXPORT -----
+
+cat("\tXCMSnExp OBJECT INFO\n")
+print(xdata)
+cat("\n\n")
+
+cat("\txcmsSet OBJECT INFO\n")
+# Get the legacy xcmsSet object
+xset <- getxcmsSetObject(xdata)
+print(xset)
+cat("\n\n")
+
+#saving R data in .Rdata file to save the variables used in the present tool
+objects2save <- c("xdata", "zipfile", "singlefile", "md5sumList", "sampleNamesList")
+save(list = objects2save[objects2save %in% ls()], file = "retcor.RData")
+
+cat("\n\n")
+
+
+cat("\tDONE\n")