view abims_xcms_fillPeaks.xml @ 11:de0d85537ee3 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit a6f5f18b3d6130f7d7fbb9f2df856838c6217797
author lecorguille
date Fri, 07 Apr 2017 07:37:05 -0400
parents ee29f0a6e361
children dcb9041cb9ea
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  |
+---------------------------+------------------+-----------------------+

The output file **xset.fillpeaks** is a RData file. You can continue your analysis using it in **CAMERA.annotate** or **xcms.summary** tool as a following step of your workflow.


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


Get a Peak List
---------------

If 'true', the module generates two additional files corresponding to the peak list:
- the variable metadata file (corresponding to information about extracted ions such as mass or retention time)
- the data matrix (corresponding to related intensities)

**decimal places for [mass or retention time] values in identifiers**

    | Ions' identifiers are constructed as MxxxTyyy where 'xxx' is the ion median mass and 'yyy' the ion median retention time.
    | Two parameters are used to adjust the number of decimal places wanted in identifiers for mass and retention time respectively.
    | Theses parameters do not affect decimal places in columns other than the identifier one.

**Reported intensity values**

    | This parameter determines which values should be reported as intensities in the dataMatrix table; it correspond to xcms 'intval' parameter:
    | - into: integrated area of original (raw) peak
    | - maxo: maximum intensity of original (raw) peak
    | - intb: baseline corrected integrated peak area (only available if peak detection was done by ‘findPeaks.centWave’)

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

xset.variableMetadata.tsv : tabular format

    | Table containing information about ions; can be used as one input of **Quality_Metrics** or **Generic_filter* modules.

xset.dataMatrix.tsv : tabular format

    | Table containing ions' intensities; can be used as one input of **Quality_Metrics** or **Generic_filter* modules.

------

.. class:: infomark

The output file is a xset.fillPeaks.RData file. You can continue your analysis using it in **CAMERA.annotate** or **xcms.summary** tool.


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

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

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

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

Parameters
----------

    | method -> **chrom**
    | Get a Peak List -> **false**


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

    | **xset.fillPeaks.RData: RData file**


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

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>