view aplcms_unsupervised.xml @ 0:bfe186af3dca draft

"planemo upload commit 40818fd30d8cf43485c215e7ce10c16757024957-dirty"
author recetox
date Tue, 25 Aug 2020 09:08:24 +0000
parents
children 52cec2e123fa
line wrap: on
line source

<tool id="recetox_aplcms_unsupervised" name="apLCMS - Unsupervised" version="@VERSION@">
    <macros>
        <import>aplcms_macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <command detect_errors="aggressive"><![CDATA[
        #set file_str = str('", "').join([str($f) for $f in $files])

        Rscript
            -e 'result <- apLCMS::unsupervised(
                    files = c("$file_str"),
                    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
                )'
            -e 'arrow::write_feather(result\$final_times, "$times")'
            -e 'arrow::write_feather(result\$final_features, "$features")'
            -e 'arrow::write_feather(result\$aligned_times, "$aligned_times")'
            -e 'arrow::write_feather(result\$aligned_features, "$aligned_features")'
            -e 'arrow::write_feather(result\$corrected_features, "$corrected_features")'
            -e 'arrow::write_feather(result\$extracted_features, "$extracted_features")'
    ]]></command>

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

    <outputs>
        <data name="times" format="time_table.feather" />
        <data name="features" format="peak_table.feather" />
        <data name="aligned_times" format="time_table.feather" hidden="true" />
        <data name="aligned_features" format="peak_table.feather" hidden="true" />
        <data name="corrected_features" format="peak_table.feather" hidden="true" />
        <data name="extracted_features" format="peak_table.feather" hidden="true" />
    </outputs>

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