view xcms_merge.xml @ 3:f439ed7a8f03 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
author lecorguille
date Tue, 18 Sep 2018 16:09:25 -0400
parents 3a5204f14fff
children a26679f68d4d
line wrap: on
line source

<tool id="xcms_merge" name="xcms findChromPeaks Merger" version="@WRAPPER_VERSION@.0">
    <description>Merge xcms findChromPeaks RData into a unique file to be used by group</description>

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

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

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

        images 'c("${"\",\"".join(map(str, $images))}")'

        #if str($sampleMetadata) != 'None':
            sampleMetadata '$sampleMetadata'
        #end if

        @COMMAND_FILE_LOAD@
    ]]></command>

    <inputs>
        <param name="images" type="data" format="rdata.xcms.findchrompeaks,rdata" label="@INPUT_IMAGE_LABEL@" help="@INPUT_IMAGE_HELP@ from multiple findChromPeaks" multiple="true" />
        <param name="sampleMetadata" label="Sample metadata file " format="tabular" type="data" optional="true" help="must contain at least one column with the sample id and one column with the sample class"/>

        <expand macro="input_file_load"/>
    </inputs>

    <outputs>
        <data name="xsetRData" format="rdata.xcms.findchrompeaks" label="xset.merged.RData" from_work_dir="merged.RData" />
        <data name="sampleMetadataOutput" format="tabular" label="xset.merged.sampleMetadata.tsv" from_work_dir="sampleMetadata.tsv">
            <filter>not sampleMetadata</filter>
        </data>
    </outputs>

    <tests>
        <!-- DISABLE FOR TRAVIS
        <test>
            <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" ftype="rdata"/>
            <expand macro="test_file_load_single"/>
            <assert_stdout>
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 9251 (about 2313 per sample)" />
                <has_text text="Peak Groups: 0" />
                <has_text text="Sample classes: ." />
            </assert_stdout>
            <output name="sampleMetadataOutput" file="noclass.merged.sampleMetadata.tsv" />
        </test>
        -->
        <test>
            <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" ftype="rdata"/>
            <expand macro="test_file_load_single"/>
            <param name="sampleMetadata" value="sampleMetadata.tab" />
            <assert_stdout>
                <has_text_matching expression="ko15\s+KO" />
                <has_text_matching expression="ko16\s+KO" />
                <has_text_matching expression="wt15\s+WT" />
                <has_text_matching expression="wt16\s+WT" />
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2506.1-4477.9 seconds (41.8-74.6 minutes)" />
                <has_text text="Mass range: 200.1-600 m/z" />
                <has_text text="Peaks: 9251 (about 2313 per sample)" />
                <has_text text="Peak Groups: 0" />
                <has_text text="Sample classes: KO, WT" />
            </assert_stdout>
        </test>
        <!--<test expect_failure="True">
            <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.RData" ftype="rdata"/>
            <param name="sampleMetadata" value="sampleMetadata_missing.tab" />
            <expand macro="test_file_load_single"/>
            <assert_stderr>
                <has_text text="Those samples are missing in your sampleMetadata: ko16" />
            </assert_stderr>
        </test>-->
    </tests>

    <help><![CDATA[

@HELP_AUTHORS@

==========================
xcms findChromPeaks Merger
==========================

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

This tool allows you to run one xcms findChromPeaks process per sample in parallel and then to merge all RData images into one.
The result is then suitable for xcms groupChromPeaks.

You can provide a sampleMetadata table to attribute phenotypic values to your samples.


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

**Upstream tools**

========================= ===================== ==============================
Name                      Output file           Format
========================= ===================== ==============================
xcms.findChromPeaks       ``*``.raw.xset.RData  rdata.xcms.findchrompeaks
------------------------- --------------------- ------------------------------
xcms.findChromPeaks       ``*``.raw.xset.RData  rdata.xcms.findchrompeaks
------------------------- --------------------- ------------------------------
xcms.findChromPeaks       ``*``.raw.xset.RData  rdata.xcms.findchrompeaks
------------------------- --------------------- ------------------------------
...                       ...                   ...
------------------------- --------------------- ------------------------------
Upload file [optional]    sampleMetadata        tabular
========================= ===================== ==============================


**Downstream tools**

=========================== ==================== ============================
Name                        Output file          Format
=========================== ==================== ============================
xcms.groupChromPeaks        xset.merged.RData    rdata.xcms.findchrompeaks
=========================== ==================== ============================

.. image:: xcms_merge_workflow.png

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

=========================== ==================================
Parameter : num + label     Format
=========================== ==================================
1 : RData file              rdata.xcms.findchrompeaks
--------------------------- ----------------------------------
2 : RData file              rdata.xcms.findchrompeaks
--------------------------- ----------------------------------
N : RData file              rdata.xcms.findchrompeaks
--------------------------- ----------------------------------
Optional : sampleMetadata   tsv or csv
=========================== ==================================

Example of a sampleMetadata:

=========================== ============
Samples                     class
=========================== ============
HU_neg_028                  bio
--------------------------- ------------
HU_neg_034                  bio
--------------------------- ------------
Blanc04                     blank
--------------------------- ------------
Blanc06                     blank
--------------------------- ------------
Blanc09                     blank
=========================== ============


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

xset.merged.RData: rdata.xcms.findchrompeaks format

    | Rdata file that is necessary in the next step of the workflow "xcms.groupChromPeaks".

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

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

**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 underlining codes and methods

- IMPROVMENT: a new dedicated tool "xcms plot chromatogram" will allow you to get TIC and BPI of your raw data.

- IMPROVMENT: the tool will now generate a sampleMetadata file if any was provided. It will be useful to add some further information for the normalization and statistics steps.

**Version 1.0.1 - 13/02/2017**

- IMPROVMENT: the tool will now raise an error if a sample isn't describe in the sampleMetadata file

**Version 1.0.0 - 03/02/2017**

- NEW: a new tool to merge individual xcmsSet outputs to be used by xcms.group

    ]]></help>

    <expand macro="citation" />
</tool>