view xcms_merge.xml @ 8:6b5504f877ff draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 7b226c3ba91a3cf654ec1c14b3ef85090968bb0f
author lecorguille
date Mon, 05 Mar 2018 04:16:12 -0500
parents dca722aecb67
children 47e953d9da82
line wrap: on
line source

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

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

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

    <command><![CDATA[
        @COMMAND_XCMS_SCRIPT@/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.raw,rdata" label="xset RData / xcms.xcmsSet file" help="output file from another xcms.xcmsSet" 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.raw" 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>
        <data name="ticsRawPdf" format="pdf" label="xset.merged.xset.TICs_raw.pdf" from_work_dir="TICs.pdf"  />
        <data name="bpcsRawPdf" format="pdf" label="xset.merged.xset.BPCs_raw.pdf" from_work_dir="BICs.pdf" />
    </outputs>

    <tests>
        <!-- DISABLE FOR TRAVIS
        <test>
            <param name="images" value="ko15-xset.RData,ko16-xset.RData,wt15-xset.RData,wt16-xset.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" />
            <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" />
            <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 will allow you to run one xcms findChromPeaks process per sample in parallel and then to merge all RData images in one.
The result is then suitable for xcms groupChromPeaks.

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


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

**Upstream tools**

========================= ================= =================== ==========
Name                      output file       format              parameter
========================= ================= =================== ==========
xcms.xcmsSet              xset.RData        rdata.xcms.raw      RData file
------------------------- ----------------- ------------------- ----------
xcms.xcmsSet              xset.RData        rdata.xcms.raw      RData file
------------------------- ----------------- ------------------- ----------
xcms.xcmsSet              xset.RData        rdata.xcms.raw      RData file
------------------------- ----------------- ------------------- ----------
...                       ...               ...                 ...
========================= ================= =================== ==========


**Downstream tools**

+---------------------------+--------------------+-----------------+
| Name                      | Output file        | Format          |
+===========================+====================+=================+
|xcms.group                 | xset.RData         | rdata.xcms.raw  |
+---------------------------+--------------------+-----------------+

.. image:: xcms_merge_workflow.png

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

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

Example of a sampleMetadata:

+---------------------------+------------+
|HU_neg_028                 |   bio      |
+---------------------------+------------+
|HU_neg_034                 |   bio      |
+---------------------------+------------+
|Blanc04                    |   blank    |
+---------------------------+------------+
|Blanc06                    |   blank    |
+---------------------------+------------+
|Blanc09                    |   blank    |
+---------------------------+------------+

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

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

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

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

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

**Version 3.0.0.0 - 14/02/2018**

- UPGRADE: upgrade the xcms version from 1.46.0 to 3.0.0. So refactoring of a lot of underlining codes and methods

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