view abims_xcms_fillPeaks.xml @ 27:ec9aebabc1d2 draft default tip

planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit eca29d4347fe2f4802091c4a06715232a6fd9253
author workflow4metabolomics
date Mon, 15 Jul 2024 15:58:27 +0000
parents bb9ee352fce0
children
line wrap: on
line source

<tool id="abims_xcms_fillPeaks" name="xcms fillChromPeaks (fillPeaks)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">

    <description>Integrate areas of missing peaks</description>

    <macros>
        <import>macros.xml</import>
        <import>macros_xcms.xml</import>
    </macros>

    <expand macro="requirements"/>
    <expand macro="stdio"/>

    <command><![CDATA[
        @COMMAND_RSCRIPT@/xcms_fillpeaks.r

        image '$image'

        ## Advanced
        expandMz $Adv.expandMz
        expandRt $Adv.expandRt
        ppm $Adv.ppm

        @COMMAND_PEAKLIST@

        @COMMAND_FILE_LOAD@

        @COMMAND_LOG_EXIT@

    ]]></command>

    <inputs>
        <param name="image" type="data" format="rdata.xcms.group,rdata" label="@INPUT_IMAGE_LABEL@" help="@INPUT_IMAGE_HELP@ from groupChromPeaks" />

        <section name="Adv" title="Advanced Options" expanded="False">
            <param argument="expandMz" type="integer" value="0" label="Value by which the mz width of peaks should be expanded" help="Each peak is expanded in mz direction by ‘expandMz *’ their original mz width. A value of ‘0’ means no expansion, a value of ‘1’ grows each peak by 1 * the mz width of the peak resulting in peakswith twice their original size in mz direction (expansion by half mz width to both sides)." />
            <param argument="expandRt" type="integer" value="0" label="Value by which the RT width of peaks should be expanded" help="Each peak is expanded in RT direction by ‘expandRt *’ their original RT width. A value of ‘0’ means no expansion, a value of ‘1’ grows each peak by 1 * the RT width of the peak resulting in peakswith twice their original size in RT direction (expansion by half RT width to both sides)."/>
            <param argument="ppm" type="integer" value="0" label="Specifying a ppm by which the mz width of the peak region should be expanded" help="For peaks with an mz width smaller than ‘mean(c(mzmin, mzmax)) * ppm / 1e6’, the ‘mzmin’ will be replaced by ‘mean(c(mzmin, mzmax)) - (mean(c(mzmin, mzmax)) * ppm / 2 / 1e6)’ and ‘mzmax’ by ‘mean(c(mzmin, mzmax)) + (mean(c(mzmin, mzmax)) * ppm / 2 / 1e6)’. This is applied before eventually expanding the mz width using the ‘expandMz’ parameter." />
        </section>

        <expand macro="input_peaklist_section"/>

        <expand macro="input_file_load"/>

    </inputs>

    <outputs>
        <data name="xsetRData" format="rdata.xcms.fillpeaks" label="${image.name[:-6]}.fillChromPeaks.RData" from_work_dir="fillpeaks.RData" />
        <expand macro="output_peaklist" function="fillpeaks" />
    </outputs>

    <tests>
        <!--<test>
            <param name="image" value="xset.group.retcor.group.RData" ftype="rdata"/>
            <param name="method" value="chrom"/>
            <param name="zip_file" value="sacuri_dir_root.zip"  ftype="zip" />
            <assert_stdout>
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 0.2-1140.1 seconds (0-19 minutes)" />
                <has_text text="Mass range: 50.0021-999.9863 m/z" />
                <has_text text="Peaks: 199718 (about 49930 per sample)" />
                <has_text text="Peak Groups: 48958" />
                <has_text text="Sample classes: bio, blank" />
            </assert_stdout>
        </test>-->
        <!-- Issue with fillpeaks because it seems that there are too many NA
        <test>
            <param name="image" value="faahKO.xset.group.retcor.group.RData" ftype="rdata"/>
            <param name="method" value="chrom"/>
            <conditional name="peaklist">
                <param name="peaklistBool" value="true" />
                <param name="convertRTMinute" value="false" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
            </conditional>
            <expand macro="test_file_load_zip"/>
            <assert_stdout>
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2509.2-4480.3 seconds (41.8-74.7 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 32720 (about 8180 per sample)" />
                <has_text text="Peak Groups: 8209" />
                <has_text text="Sample classes: KO, WT" />
            </assert_stdout>
            <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.variableMetadata.tsv" />
            <output name="dataMatrix" file="faahKO.xset.group.retcor.group.fillPeaks.dataMatrix.tsv" />
        </test>
        <test>
            <param name="image" value="faahKO-single.xset.merged.group.retcor.group.RData" ftype="rdata"/>
            <param name="method" value="chrom"/>
            <conditional name="peaklist">
                <param name="peaklistBool" value="true" />
                <param name="convertRTMinute" value="false" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
            </conditional>
            <expand macro="test_file_load_single"/>
            <assert_stdout>
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2509.2-4480.3 seconds (41.8-74.7 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 32720 (about 8180 per sample)" />
                <has_text text="Peak Groups: 8209" />
                <has_text text="Sample classes: KO, WT" />
            </assert_stdout>
            <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.variableMetadata.tsv" />
            <output name="dataMatrix" file="faahKO.xset.group.retcor.group.fillPeaks.dataMatrix.tsv" />
        </test>-->
        <!--<test>
            <param name="image" value="faahKO-single.xset.merged.group2.retcor2.group2.RData" ftype="rdata"/>
            <conditional name="peaklist">
                <param name="peaklistBool" value="true" />
                <param name="convertRTMinute" value="false" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
                <param name="naTOzero" value="false" />
            </conditional>
            <expand macro="test_file_load_single"/>
            <assert_stdout>
                <has_text text="expandMz: 0" />
                <has_text text="expandRt: 0" />
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2499.4-4473.6 seconds (41.7-74.6 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 15230 (about 3808 per sample)" />
                <has_text text="Peak Groups: 6332" />
                <has_text text="Sample classes: KO, WT" />
            </assert_stdout>
            <output name="variableMetadata" file="faahKO.xset.group2.retcor2.group2.fillPeaks2.variableMetadata.tsv" />
            <output name="dataMatrix" file="faahKO.xset.group2.retcor2.group2.fillPeaks2.dataMatrix.tsv" />
        </test>-->
        <test expect_num_outputs="3">
            <param name="image" value="faahKO-single-class.xset.merged.group.retcor.group.RData" ftype="rdata"/>
            <section name="peaklist">
                <param name="peaklistBool" value="true" />
                <param name="convertRTMinute" value="false" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
            </section>
            <expand macro="test_file_load_single"/>
            <assert_stdout>
                <has_text text="expandMz: 0" />
                <has_text text="expandRt: 0" />
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2507.6-4481.8 seconds (41.8-74.7 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 18995 (about 4749 per sample)" />
                <has_text text="Peak Groups: 8209" />
                <has_text text="Sample classes: KO, WT" />
            </assert_stdout>
            <output name="variableMetadata" file="faahKO-single-class.xset.group.retcor.group.fillPeaks.variableMetadata.tsv" />
            <output name="dataMatrix" file="faahKO-single-class.xset.group.retcor.group.fillPeaks.dataMatrix.NAless.tsv" />
        </test>
    </tests>

    <help><![CDATA[

@HELP_AUTHORS@

===================
xcms fillChromPeaks
===================

-----------
Description
-----------

**Integrate areas of missing peaks**
For each sample, identify peak groups where that sample is not
represented. For each of those peak groups, integrate the signal
in the region of that peak group and create a new peak.



-----------------
Workflow position
-----------------


**Upstream tools**

========================= ============================ ==================
Name                      Output file                  Format
========================= ============================ ==================
xcms.groupChromPeaks      ``*``.groupChromPeaks.RData  rdata.xcms.group
========================= ============================ ==================


**Downstream tools**

=========================== =========================== =======================
Name                        Output file                 Format
=========================== =========================== =======================
CAMERA.annotate             ``*``.fillChromPeaks.RData  rdata.xcms.fillpeaks
--------------------------- --------------------------- -----------------------
xcms.process_history        ``*``.fillChromPeaks.RData  rdata.xcms.fillpeaks
=========================== =========================== =======================


**General schema of the metabolomic workflow**

.. image:: xcms_fillpeaks_workflow.png

---------------------------------------------------

----------
Parameters
----------

| See the fillChromPeaks_manual_

.. _fillChromPeaks_manual: https://rdrr.io/bioc/xcms/man/fillChromPeaks.html

@HELP_XCMS_MANUAL@

@HELP_PEAKLIST@

------------
Output files
------------

xset.fillPeaks.RData : rdata.xcms.fillpeaks format

    | Rdata file that will be used in the **CAMERA.annotate** or **xcms.process_history** step of the workflow.

@HELP_PEAKLIST_OUTPUT@


---------------------------------------------------

Changelog/News
--------------

@HELP_XCMS_NEWVERSION_31200@

@HELP_XCMS_NEWVERSION_3610@

@HELP_XCMS_NEWVERSION_3440@

- BUGFIX: issue with Inf values in the exported DataMatrix: https://github.com/sneumann/xcms/issues/323#issuecomment-433044378

**Version 3.0.0.2 - 09/11/2018**

- BUGFIX: issue when the vector at peakidx is too long and is written in a new line during the export of the peaklist


**Version 3.0.0.1 - 09/10/2018**

- IMPROVEMENT: the export of the PeakList is now mandatory


**Version 3.0.0.0 - 08/03/2018**

- 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.

- UPDATE: since xcms 3.0.0, the selection of a method is no more needed (chrom or MSW). xcms will detect from the data the peak picking method used in findChromPeaks

- UPDATE: since xcms 3.0.0, new parameters are available: expandMz, expandRt and ppm


**Version 2.1.1 - 29/11/2017**

- BUGFIX: To avoid issues with accented letter in the parentFile tag of the mzXML files, we changed a hidden mechanim to LC_ALL=C


**Version 2.1.0 - 07/02/2017**

- IMPROVEMENT: change the management of the peaklist ids. The main ids remain the same as xcms generated. The export setiings now only add custom names in the variableMetadata tab (namecustom)

- IMPROVEMENT: xcms.fillpeaks can deal with merged individual data


**Version 2.0.8 - 22/12/2016**

- IMPROVEMENT: Add an option to export the peak list at this step without having to wait for CAMERA.annotate


**Version 2.0.7 - 06/07/2016**

- UPGRADE: upgrate the xcms version from 1.44.0 to 1.46.0


**Version 2.0.6 - 04/04/2016**

- TEST: refactoring to pass planemo test using conda dependencies


**Version 2.0.5 - 10/02/2016**

- BUGFIX: better management of errors. Datasets remained green although the process failed

- UPDATE: refactoring of internal management of inputs/outputs

- UPDATE: refactoring to feed the new report tool


**Version 2.0.2 - 02/06/2015**

- 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.

- IMPROVEMENT: parameter labels have changed to facilitate their reading.


    ]]></help>


    <expand macro="citation" />


</tool>