view recetox_aplcms_unsupervised.xml @ 4:1b9140057e5a draft

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit accce68183c78552905b4446a8cab581911275ef"
author recetox
date Fri, 18 Jun 2021 13:53:19 +0000
parents
children d06ec5e6721c
line wrap: on
line source

<tool id="recetox_aplcms_unsupervised" name="apLCMS Unsupervised" version="@TOOL_VERSION@+galaxy0">
    <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="1000" />
        </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>