view ramclustr.xml @ 2:eac0e6feb850 draft

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit d4a601c637b18f18a5cda9111208559e72d12657"
author recetox
date Mon, 17 Jan 2022 16:28:54 +0000
parents 15e173c5762c
children 211cd88b5148
line wrap: on
line source

<tool id="ramclustr" name="RAMClustR" version="@TOOL_VERSION@+galaxy0">
    <macros>
        <import>ramclustr_macros.xml</import>
    </macros>
    <creator>
        <organization
            url="https://www.recetox.muni.cz/"
            name="RECETOX MUNI" />
    </creator>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">r-ramclustr</requirement>
        <requirement type="package" version="3.14.0">bioconductor-xcms</requirement>
    </requirements>
    <command detect_errors="aggressive"><![CDATA[
        Rscript
            -e 'source("${__tool_directory__}/ramclustr_wrapper.R")'
            -e 'source("${ramclustr_method}")'
    ]]>
    </command>
    <configfiles>
        <configfile name="ramclustr_method">
            store_output(
                #if $filetype.type_choice == "xcms":
                ramclustr_xcms(
                    input_xcms = "$filetype.input_xcms",
                #else:
                ramclustr_csv(
                    ms="$filetype.ms_csv.ms",
                    idmsms="$filetype.ms_csv.idmsms",
                    feature_delimiter="$filetype.ms_csv.feature_delimiter",
                    sample_name_column = $filetype.ms_csv.sample_name_column,
                    retention_time_column= $filetype.ms_csv.retention_time_column,
                #end if
                    sr = $filetype.required.sr,
                    deep_split = $filetype.required.deepSplit,
                    block_size = $filetype.required.blocksize,
                    mult = $filetype.required.mult,
                    hmax = $filetype.required.hmax,
                    collapse = $filetype.required.collapse,
                    use_pheno = $filetype.required.usePheno,
                    qc_inj_range = $filetype.required.qc_inj_range,
                    normalize = "$filetype.required.normalize",
                    min_module_size = $filetype.required.minModuleSize,
                    linkage = "$filetype.required.linkage",
                    mzdec = $filetype.required.mzdec,
                    cor_method = "$filetype.required.cor_method",
                    rt_only_low_n = $filetype.required.rt_only_low_n,
                    replace_zeros = $filetype.required.replace_zeros,
                #if $filetype.type_choice == "xcms":
                    #if $filetype.optional.st
                        st = $filetype.optional.st,
                    #end if
                #else:
                    st = $filetype.ms_csv.st,
                #end if
                    #if $filetype.optional.maxt
                        maxt = $filetype.optional.maxt,
                    #end if
                    #if $filetype.optional.fftempdir
                        fftempdir = $filetype.optional.fftempdir,
                    #end if
                    #if $filetype.metadata.batch_order_qc
                        metadata_file = "${filetype.metadata.batch_order_qc}",
                    #end if
                ),
            "$result", "$method_metadata", $filetype.required.merge_msp, "$spec_abundance")
        </configfile>
    </configfiles>
    <inputs>
        <conditional name="filetype">
            <param name="type_choice" type="select" label="Choose input format:">
                <option value="xcms" selected="true">XCMS</option>
                <option value="csv">CSV</option>
            </param>
            <when value="xcms">
                <param name="input_xcms" label="input_xcms" type="data" format="rdata.xcms.fillpeaks" help=": containing grouped feature data for clustering by ramclustR" />
                <expand macro="parameters_required" />
                <expand macro="parameters_optional_xcms" />
                <expand macro="parameters_optional_metadata" />
            </when>
            <when value="csv">
                <expand macro="parameters_csv" />
                <expand macro="parameters_required" />
                <expand macro="parameters_optional_csv" />
                <expand macro="parameters_optional_metadata" />
            </when>
        </conditional>
    </inputs>

    <outputs>
        <data label="${tool.name} on ${on_string}" name="result" format="RData" />
        <data label="Spec Abundance of ${on_string}" name="spec_abundance" format="csv" />
        <data label="Metadata for ${tool.name} on ${on_string}" name="method_metadata" format="txt"/>
        <expand macro="output_msp"/>
    </outputs>

    <tests>
        <test><!-- TEST 1 -->
            <param name="type_choice" value="xcms"/>
            <param name="input_xcms" value="test1_xcmsObj_1.rdata.xcms.fillpeaks" ftype="rdata.xcms.fillpeaks"/>
            <output name="result" file="test1_ramclustObj_xcms_1.rdata" ftype="RData" compare="sim_size" delta="200"/>
            <output_collection name="mass_spectra" type="list">
                <element name="fill" file="test1_fill_xcms_1.msp" ftype="msp"/>
            </output_collection>
            <output name="method_metadata" file="test1_metadata_xcms_1.txt" ftype="txt"/>
            <output name="spec_abundance" file="test1_spec_abundance_xcms_1.csv" ftype="csv" compare="sim_size" delta="100"/>
        </test>
        <test><!-- TEST 2 -->
            <param name="type_choice" value="xcms"/>
            <param name="input_xcms" value="test2_xcmsObj_2.rdata.xcms.fillpeaks" ftype="rdata.xcms.fillpeaks"/>
            <param name="batch_order_qc" value="test2_sample_metadata_xcms_2.csv" ftype="csv" />
            <output name="result" file="test2_ramclustObj_xcms_2.rdata" ftype="RData" compare="sim_size" delta="200"/>
            <output_collection name="mass_spectra" type="list">
                <element name="fill" file="test2_fill_xcms_2.msp" ftype="msp" compare="diff" lines_diff="10"/>
            </output_collection>
            <output name="method_metadata" file="test2_metadata_xcms_2.txt" ftype="txt"/>
            <output name="spec_abundance" file="test2_spec_abundance_xcms_2.csv" ftype="csv" compare="sim_size" delta="100"/>
        </test>
        <test><!-- TEST 3 -->
            <param name="type_choice" value="csv"/>
            <param name="ms" value="test3_csv_test-input_1_2.csv" ftype="csv"/>
            <param name="st" value="5.0"/>
            <param name="blocksize" value="1000"/>
            <param name="mult" value="1"/>
            <param name="maxt" value="1"/>
            <output name="result" file="test3_ramclustObj_csv_1.rdata" ftype="RData" compare="sim_size" delta="200"/>
            <output name="spec_abundance" file="test3_spec_abundance_csv_1.csv" ftype="csv"/>
            <output name="method_metadata" file="test3_metadata_csv_1.txt" ftype="txt"/>
            <output_collection name="mass_spectra" type="list">
                <element name="fill" file="test3_spectra_csv_1.msp" ftype="msp"/>
            </output_collection>
        </test>
        <test><!-- TEST 4 -->
            <param name="type_choice" value="csv"/>
            <param name="ms" value="test3_csv_test-input_1_2.csv" ftype="csv"/>
            <param name="batch_order_qc" value="test4_sample_metadata_csv_2.csv" ftype="csv" />
            <output name="result" file="test4_ramclustObj_csv_2.rdata" ftype="RData" compare="sim_size" delta="200"/>
            <output name="spec_abundance" file="test4_spec_abundance_csv_2.csv" ftype="csv"/>
            <output name="method_metadata" file="test4_metadata_csv_2.txt" ftype="txt"/>
            <output_collection name="mass_spectra" type="list">
                <element name="fill" file="test4_spectra_csv_2.msp" ftype="msp" lines_diff="10"/>
            </output_collection>
        </test>
    </tests>

    <help>
    Documentation
        For documentation on the tool see https://github.com/cbroeckl/RAMClustR/blob/master/vignettes/RAMClustR.Rmd

    Upstream Tools
        +-------+----------------------+----------------------+------------+
        | Name  | Output File          | Format               | Parameter  |
        +=======+======================+======================+============+
        | xcms  | xset.fillPeaks.RData | rdata.xcms.fillpeaks | xcmsObj    |
        +-------+----------------------+----------------------+------------+

        The tool takes an **xcmsSet** object as input and extracts all relevant information.

        +-------+------------------------+--------+------------+
        | Name  | Output File            | Format | Parameter  |
        +=======+========================+========+============+
        | ???   | Feature Table with MS1 | csv    | ms         |
        +-------+------------------------+--------+------------+
        | ???   | Feature Table with MS2 | csv    | idmsms     |
        +-------+------------------------+--------+------------+

        Alternatively, the tool takes a **csv** table as input which has to fulfill the following requirements

        (1) no more than one sample (or file) name column and one feature name row;
        (2) feature names that contain the mass and retention times, separated by a constant delimiter; and
        (3) features in columns and samples in rows.

    Downstream Tools
        +---------+--------------+----------------------+
        | Name    | Output File  | Format               |
        +=========+==============+======================+
        | matchMS | Mass Spectra | collection (tgz/msp) |
        +---------+--------------+----------------------+

    @GENERAL_HELP@
    </help>

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