view macros.xml @ 27:30410a052ab3 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit bff1445c9b00ccdbe05ee3dc6ed24221033384b9
author lecorguille
date Tue, 24 Oct 2017 11:47:49 -0400
parents dcca50c5e1cb
children c013ed353a2f
line wrap: on
line source

<?xml version="1.0"?>
<macros>
    <xml name="requirements">
        <requirements>
            <requirement type="package" version="0.4_1">r-snow</requirement>
            <requirement type="package" version="1.46.0">bioconductor-xcms</requirement>
            <requirement type="package" version="1.1_4">r-batch</requirement>
        </requirements>
    </xml>
    <xml name="requirements_light">
        <requirements>
            <requirement type="package" version="1.46.0">bioconductor-xcms</requirement>
        </requirements>
    </xml>

    <xml name="stdio">
        <stdio>
            <exit_code range="1" level="fatal" />
        </stdio>
    </xml>

    <token name="@COMMAND_XCMS_SCRIPT@">
        LANG=C Rscript $__tool_directory__/xcms.r
    </token>

    <token name="@COMMAND_LOG_EXIT@">
        ;
        return=\$?;
        mv log.txt '$log';
        cat '$log';
        sh -c "exit \$return"
    </token>

    <!-- zipfile load for planemo test -->

    <token name="@COMMAND_FILE_LOAD@">
        #if $file_load_section.file_load_conditional.file_load_select == "yes":
            #if $file_load_section.file_load_conditional.input[0].is_of_type("mzxml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzdata") or $file_load_section.file_load_conditional.input[0].is_of_type("netcdf"):
                #set singlefile_galaxyPath = ','.join( [ str( $single_file ) for $single_file in $file_load_section.file_load_conditional.input ] )
                #set singlefile_sampleName = ','.join( [ str( $single_file.name ) for $single_file in $file_load_section.file_load_conditional.input ] )

                singlefile_galaxyPath '$singlefile_galaxyPath' singlefile_sampleName '$singlefile_sampleName'
            #else
                zipfile '$file_load_section.file_load_conditional.input'
            #end if
        #end if
    </token>

    <xml name="input_file_load">
        <section name="file_load_section" title="Resubmit your raw dataset or your zip file">
            <conditional name="file_load_conditional">
                <param name="file_load_select" type="select" label="Resubmit your dataset or your zip file" help="Use only if you get a message which say that your original dataset or zip file have been deleted on the server." >
                    <option value="no" >no need</option>
                    <option value="yes" >yes</option>
                </param>
                <when value="no">
                </when>
                <when value="yes">
                    <param name="input" type="data" format="mzxml,mzml,mzdata,netcdf,no_unzip.zip,zip" multiple="true" label="File(s) from your history containing your chromatograms" help="Single file mode for the format: mzxml, mzml, mzdata and netcdf. Zip file mode for the format: no_unzip.zip, zip. See the help section below." />
                </when>
            </conditional>
        </section>
    </xml>

    <xml name="test_file_load_zip">
        <section name="file_load_section">
            <conditional name="file_load_conditional">
                <param name="file_load_select" value="yes" />
                <param name="input" value="faahKO_reduce.zip" ftype="zip" />
            </conditional>
        </section>
    </xml>

    <xml name="test_file_load_single">
        <section name="file_load_section">
            <conditional name="file_load_conditional">
                <param name="file_load_select" value="yes" />
                <param name="input" value="wt15.CDF,ko16.CDF,ko15.CDF,wt16.CDF" ftype="netcdf" />
            </conditional>
        </section>
    </xml>

    <token name="@COMMAND_PEAKLIST@">
        #if $peaklist.peaklistBool
            variableMetadataOutput '$variableMetadata'
            dataMatrixOutput '$dataMatrix'
            convertRTMinute $peaklist.convertRTMinute
            numDigitsMZ $peaklist.numDigitsMZ
            numDigitsRT $peaklist.numDigitsRT
            intval $peaklist.intval
        #end if
    </token>

    <xml name="input_peaklist">
        <conditional name="peaklist">
            <param name="peaklistBool" type="boolean" label="Get a Peak List" />
            <when value="true">
              <param name="convertRTMinute" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Convert retention time (seconds) into minutes" help="Convert the columns rtmed, rtmin and rtmax into minutes"/>
              <param name="numDigitsMZ" type="integer" value="4" label="Number of decimal places for mass values reported in ions' identifiers." help="A minimum of 4 decimal places is recommended. Useful to avoid duplicates within identifiers" />
              <param name="numDigitsRT" type="integer" value="0" label="Number of decimal places for retention time values reported in ions' identifiers." help="Useful to avoid duplicates within identifiers" />
              <param name="intval" type="select" label="Reported intensity values" help="[intval] See the help section below">
                  <option value="into" selected="true">into</option>
                  <option value="maxo">maxo</option>
                  <option value="intb">intb</option>
              </param>
            </when>
            <when value="false" />
        </conditional>
    </xml>

    <xml name="output_peaklist"  token_function="">
        <data name="variableMetadata" format="tabular" label="${image.name[:-6]}.@FUNCTION@.variableMetadata.tsv">
            <filter>(peaklist['peaklistBool'])</filter>
        </data>
        <data name="dataMatrix" format="tabular" label="${image.name[:-6]}.@FUNCTION@.dataMatrix.tsv" >
            <filter>(peaklist['peaklistBool'])</filter>
        </data>
    </xml>

    <xml name="input_tic_bpc_pdf">
        <param name="tic_bpc_pdf" type="boolean" checked="False" label="Do you want TIC and BCP in PDF Format" help="Whatever, you will be able to use MultiQC tools on the tabular files" />
    </xml>

    <xml name="test_retcor_param">
        <param name="methods|method" value="peakgroups"/>
        <param name="methods|smooth" value="loess"/>
        <param name="methods|extra" value="1"/>
        <param name="methods|missing" value="1"/>
        <param name="methods|options|option" value="show"/>
        <param name="methods|options|span" value="0.2"/>
        <param name="methods|options|family" value="gaussian"/>
        <param name="methods|options|plottype" value="deviation"/>
    </xml>

    <xml name="test_retcor_output" token_raworcorrected="">
        <output name="log">
            <assert_contents>
                <has_text text="object with 4 samples" />
                <has_text text="Time range: 2507.7-4481.7 seconds (41.8-74.7 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_contents>
        </output>
        <output_collection name="ticsCorrectedTabCollection" type="list">
            <element name="ko15" value="ko15-TIC@RAWORCORRECTED@_mqc.out" />
            <element name="ko16" value="ko16-TIC@RAWORCORRECTED@_mqc.out" />
            <element name="wt15" value="wt15-TIC@RAWORCORRECTED@_mqc.out" />
            <element name="wt16" value="wt16-TIC@RAWORCORRECTED@_mqc.out" />
        </output_collection>
        <output_collection name="bpcsCorrectedTabCollection" type="list">
            <element name="ko15" value="ko15-BPC@RAWORCORRECTED@_mqc.out" />
            <element name="ko16" value="ko16-BPC@RAWORCORRECTED@_mqc.out" />
            <element name="wt15" value="wt15-BPC@RAWORCORRECTED@_mqc.out" />
            <element name="wt16" value="wt16-BPC@RAWORCORRECTED@_mqc.out" />
        </output_collection>
    </xml>

    <token name="@HELP_AUTHORS@">

.. class:: infomark

**Authors**  Colin A. Smith csmith@scripps.edu, Ralf Tautenhahn rtautenh@gmail.com, Steffen Neumann sneumann@ipb-halle.de, Paul Benton hpaul.benton08@imperial.ac.uk and Christopher Conley cjconley@ucdavis.edu

.. class:: infomark

**Galaxy integration** ABiMS TEAM - UPMC/CNRS - Station Biologique de Roscoff and Yann Guitton yann.guitton@oniris-nantes.fr - part of Workflow4Metabolomics.org [W4M]

 | Contact support@workflow4metabolomics.org for any questions or concerns about the Galaxy implementation of this tool.

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

    </token>

    <token name="@HELP_BCP_TIC@">

BPCs and TICs: tabular

    | "Base Peak Chromatograms" and "Total Ion Chromatograms" graphs
    | Import BPC and TIC from xcmsSet and retcor [at once] within MultiQC_ (in or outside Galaxy) to display and navigate in the graphs.
    | - In MultiQC: as tool, use the Custom Content

.. _MultiQC: http://multiqc.info/

BPCs and TICs: pdf [if using zip]

    | "Base Peak Chromatograms" and "Total Ion Chromatograms" graphs in pdf format.

    </token>

    <token name="@HELP_GET_PEAK_LIST@">

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’)

    </token>

    <token name="@HELP_GET_PEAK_LIST_OUTPUTS@">

xset.variableMetadata.tsv : tabular format [If Get a Peak List == Yes]

    | Table containing information about ions - Can be used in **Normalisation/Generic_filter** and **Statitics** tools.

xset.dataMatrix.tsv : tabular format

    | Table containing ions' intensities - Can be used **Normalisation/Generic_filter** and **Statitics** tools.

    </token>

    <xml name="citation">
        <citations>
            <citation type="doi">10.1021/ac051437y</citation>
            <citation type="doi">10.1093/bioinformatics/btu813</citation>
        </citations>
    </xml>
</macros>