view recetox_aplcms_align_features.xml @ 12:79ad928a0dae draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit b88eaca14b030fc0023989f3c83479e4975d172a
author recetox
date Thu, 01 Aug 2024 10:58:51 +0000
parents 2b6bfa234d8b
children
line wrap: on
line source

<tool id="recetox_aplcms_align_features" name="recetox-aplcms - align features" version="@TOOL_VERSION@+galaxy0" profile="21.09">
    <description>align peaks across samples</description>
    <macros>
        <import>macros.xml</import>
        <import>help.xml</import>
    </macros>
    <expand macro="annotation"/>
    <edam_operations>
        <edam_operation>operation_2928</edam_operation>
    </edam_operations>
    <expand macro="refs"/>
    <expand macro="creator"/>
    <expand macro="requirements"/>


    <command detect_errors="aggressive"><![CDATA[
        Rscript -e "cluster <- \${GALAXY_SLOTS:-1}" -e 'source("${__tool_directory__}/utils.R")' -e 'source("${run_script}")' 
    ]]></command>
    <configfiles>
        <configfile name="run_script"><![CDATA[
             #set filenames = str("', '").join([str($f) for $f in $files])
             feature_tables <- load_parquet_collection(c('$filenames'))
             sample_names <- unlist(lapply(feature_tables, load_sample_name))

             validate_sample_names(sample_names)

             ordering <- order(sample_names)
             feature_tables <- feature_tables[ordering]
             sample_names <- sample_names[ordering]

             aligned_features <- create_aligned_feature_table(
                  features_table = dplyr::bind_rows(feature_tables),
                  min_occurrence = $min_occurrence,
                  sample_names = sample_names,
                  mz_tol_relative = $mz_tol_relative_ppm * 1e-06,
                  rt_tol_relative = $rt_tol,
                  cluster = cluster
             )

             save_aligned_features(aligned_features, '$metadata_file', '$rt_file', '$intensity_file')
        ]]></configfile>
    </configfiles>

    <inputs>
        <param name="files" type="data_collection" collection_type="list" format="parquet"
               label="Clustered features" help="List of tables containing clustered features." />
        <expand macro="tolerances"/>
        <param name="min_occurrence" type="integer" min="2" value="2" label="Minimal occurrence in samples"
               help="A feature has to show up in at least this number of profiles to be included in the final result." />
    </inputs>

    <outputs>
        <data name="metadata_file" format="parquet" label="${tool.name} on ${on_string} (metadata table)"/>
        <data name="rt_file" format="parquet" label="${tool.name} on ${on_string} (rt table)"/>
        <data name="intensity_file" format="parquet" label="${tool.name} on ${on_string} (intensity table)"/>
    </outputs>

    <tests>
        <test expect_failure="true" />
    </tests>

    <help>
        <![CDATA[
            @ALIGN_FEATURES_HELP@

            @GENERAL_HELP@
        ]]>
    </help>

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