view abims_xcms_fillPeaks.xml @ 29:f6d3e6be4ea3 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
author lecorguille
date Tue, 24 Oct 2017 11:48:31 -0400
parents 0544bc5967ed
children 6b5ed508f81f
line wrap: on
line source

<tool id="abims_xcms_fillPeaks" name="xcms.fillPeaks" version="2.1.0">

    <description>Integrate a sample's signal in regions where peak groups are not represented to create new peaks in missing areas</description>

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

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

    <command><![CDATA[
        @COMMAND_XCMS_SCRIPT@
        xfunction fillPeaks
        image '$image'

        xsetRdataOutput '$xsetRData'

        method $method

        @COMMAND_PEAKLIST@

        @COMMAND_FILE_LOAD@

        @COMMAND_LOG_EXIT@

    ]]></command>

    <inputs>
        <param name="image" type="data" format="rdata.xcms.group,rdata" label="xset RData file" help="output file from another xcms function (group)" />
        <param name="method" type="select" label="Filling method" help="[method] See the help section below">
            <option value="chrom" selected="true">chrom</option>
            <option value="MSW" >MSW</option>
        </param>

        <expand macro="input_peaklist"/>

        <expand macro="input_file_load"/>

    </inputs>

    <outputs>
        <data name="xsetRData" format="rdata.xcms.fillpeaks" label="${image.name[:-6]}.fillPeaks.RData" />
        <expand macro="output_peaklist" function="fillpeaks" />
        <data name="log" format="txt" label="xset.log.txt"  hidden="true" />
    </outputs>

    <tests>
        <!--<test>
            <param name="image" value="xset.group.retcor.group.RData"/>
            <param name="method" value="chrom"/>
            <param name="zip_file" value="sacuri_dir_root.zip"  ftype="zip" />
            <output name="log">
                <assert_contents>
                    <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_contents>
            </output>
        </test>-->
        <test>
            <param name="image" value="faahKO.xset.group.retcor.group.RData"/>
            <param name="method" value="chrom"/>
            <conditional name="peaklist">
                <param name="convertRTMinute" value="false" />
                <param name="peaklistBool" value="true" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
            </conditional>
            <expand macro="test_file_load_zip"/>
            <output name="log">
                <assert_contents>
                    <has_text text="object with 4 samples" />
                    <has_text text="Time range: 2506-4484 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: 8157" />
                    <has_text text="Sample classes: KO, WT" />
                </assert_contents>
            </output>
            <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"/>
            <param name="method" value="chrom"/>
            <conditional name="peaklist">
                <param name="convertRTMinute" value="false" />
                <param name="peaklistBool" value="true" />
                <param name="numDigitsMZ" value="4" />
                <param name="numDigitsRT" value="1" />
            </conditional>
            <expand macro="test_file_load_single"/>
            <output name="log">
                <assert_contents>
                    <has_text text="object with 4 samples" />
                    <has_text text="Time range: 2506-4484 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: 8157" />
                    <has_text text="Sample classes: KO, WT" />
                </assert_contents>
            </output>
            <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>
    </tests>

    <help><![CDATA[

@HELP_AUTHORS@

==============
Xcms.fillPeaks
==============

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.

According to the type of raw-data there are 2
different methods available. for filling gcms/lcms data the method
"chrom" integrates raw-data in the chromatographic domain, whereas
"MSW" is used for peaklists without retention-time information
like those from direct-infusion spectra.



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


**Upstream tools**

+------------------------+------------------+--------------------+------------+
| Name                   | output file      | format             | parameter  |
+========================+==================+====================+============+
| xcms.group             | xset.group.RData | rdata.xcms.group   | RData file |
+------------------------+------------------+--------------------+------------+


**Downstream tools**

+---------------------------+------------------+-----------------------+
| Name                      | Output file      | Format                |
+===========================+==================+=======================+
|CAMERA.annotate            | xset.retcor.RData| rdata.xcms.fillpeaks  |
+---------------------------+------------------+-----------------------+
|xcms.summary               | xset.retcor.RData| rdata.xcms.fillpeaks  |
+---------------------------+------------------+-----------------------+

**General schema of the metabolomic workflow**

.. image:: xcms_fillpeaks_workflow.png

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

-----------
Input files
-----------

+---------------------------+-----------------------+
| Parameter : num + label   |   Format              |
+===========================+=======================+
| 1 : RData file            |   rdata.xcms.group    |
+---------------------------+-----------------------+


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


Method
------

**chrom**

    | This method produces intensity values for those missing samples by integrating raw data in peak group region. In a given group, the start and ending retention time points for integration are defined by the median start and end points of the other detected peaks. The start and end m/z values are similarly determined. Intensities can be still be zero, which is a rather unusual intensity for a peak.  This is the case if e.g. the raw data was threshholded, and the integration area contains no actual raw intensities, or if one sample is miscalibrated, such the raw data points are (just) outside the integration area.
    | Importantly, if retention time correction data is available, the alignment information is used to more precisely integrate the propper region of the raw data. If the corrected retention time is beyond the end of the raw data, the value will be not-a-number (NaN).

**MSW**

    | "MSW" is used for peaklists without retention-time information like those from direct-infusion spectra.

@HELP_GET_PEAK_LIST@

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

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

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

@HELP_GET_PEAK_LIST_OUTPUTS@


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

---------------
Working example
---------------

Input files
-----------

    | RData file -> **xset.retcor.RData**

Parameters
----------

    | **method**: chrom


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

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

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