view recetox_aplcms_unsupervised.xml @ 7:dc730394dac8 draft

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 311863e9322de3e309361c51bcd1122212c8c050"
author recetox
date Mon, 09 Aug 2021 15:29:13 +0000
parents d06ec5e6721c
children 6925295ae5c3
line wrap: on
line source

<tool id="recetox_aplcms_unsupervised" name="apLCMS Unsupervised" version="@TOOL_VERSION@+galaxy1">
    <description>generate a feature table from LC/MS spectra</description>
    <macros>
        <import>recetox_aplcms_macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <command detect_errors="aggressive"><![CDATA[
        sh ${symlink_inputs} &&
        Rscript  -e 'source("${__tool_directory__}/main.R")' -e 'source("${run_script}")'
    ]]></command>

    <configfiles>
        <configfile name="symlink_inputs">
            #for $infile in $files
                ln -s '${infile}' '${infile.element_identifier}'
            #end for
        </configfile>
        <configfile name="run_script"><![CDATA[
            #set filenames_str = str("', '").join([str($f.element_identifier) for $f in $files])

            unsupervised_main(
                sample_files = c('$filenames_str'),
                aligned_file = '${aligned_feature_sample_table}',
                recovered_file = '${recovered_feature_sample_table}',
                min_exp = $noise_filtering.min_exp,
                min_pres = $noise_filtering.min_pres,
                min_run = $noise_filtering.min_run,
                mz_tol = $noise_filtering.mz_tol,
                baseline_correct = $noise_filtering.baseline_correct,
                baseline_correct_noise_percentile = $noise_filtering.baseline_correct_noise_percentile,
                intensity_weighted = $noise_filtering.intensity_weighted,
                shape_model = '$feature_detection.shape_model',
                BIC_factor = $feature_detection.BIC_factor,
                peak_estim_method = '$feature_detection.peak_estim_method',
                min_bandwidth = $feature_detection.min_bandwidth,
                max_bandwidth = $feature_detection.max_bandwidth,
                sd_cut = c($feature_detection.sd_cut_min, $feature_detection.sd_cut_max),
                sigma_ratio_lim = c($feature_detection.sigma_ratio_lim_min, $feature_detection.sigma_ratio_lim_max),
                component_eliminate = $feature_detection.component_eliminate,
                moment_power = $feature_detection.moment_power,
                align_chr_tol = $peak_alignment.align_chr_tol,
                align_mz_tol = $peak_alignment.align_mz_tol,
                max_align_mz_diff = $peak_alignment.max_align_mz_diff,
                recover_mz_range = $weak_signal_recovery.recover_mz_range,
                recover_chr_range = $weak_signal_recovery.recover_chr_range,
                use_observed_range = $weak_signal_recovery.use_observed_range,
                recover_min_count = $weak_signal_recovery.recover_min_count,
                cluster = as.integer(Sys.getenv('GALAXY_SLOTS', unset = 1))
            )
        ]]></configfile>
    </configfiles>

    <expand macro="inputs">
        <expand macro="noise_filtering" />
        <expand macro="feature_detection" />
        <expand macro="peak_alignment" />
        <expand macro="weak_signal_recovery" />
    </expand>

    <outputs>
        <expand macro="unsupervised_outputs" />
    </outputs>

    <tests>
        <test>
            <param name="files" value="mbr_test0.mzml,mbr_test1.mzml,mbr_test2.mzml" ftype="mzml" />
            <output name="recovered_feature_sample_table" file="unsupervised_recovered_feature_sample_table.parquet" ftype="parquet" compare="sim_size" delta="150" />
        </test>
    </tests>

    <help>
        This is the Unsupervised version of apLCMS which is not relying on any existing knowledge about metabolites or
        any historically detected features. For such functionality please use the Hybrid version of apLCMS.

        @GENERAL_HELP@
    </help>

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