view aplcms_hybrid.xml @ 1:30b1888f985a draft

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/aplcms commit 5305d1a60fe5bf5f1abfec332d432b9d362f1f83"
author recetox
date Thu, 24 Sep 2020 00:16:24 +0000
parents 2bb3c7ae9777
children bb4ffaeba411
line wrap: on
line source

<tool id="recetox_aplcms_hybrid" name="apLCMS - Hybrid" version="@TOOL_VERSION@+galaxy0">
    <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 'x <- apLCMS::hybrid(
                    files = c("$file_str"),
                    known_table = rhdf5::h5read("$known_table", "aplcms_known_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,
                    match_tol_ppm = $history_db.match_tol_ppm,
                    new_feature_min_count = $history_db.new_feature_min_count,
                    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 'rhdf5::h5write(x\$final_peaks, "$peaks", "peaks")'
            -e 'rhdf5::h5write(x\$aligned_peaks, "$peaks", "aligned_peaks")'
            -e 'rhdf5::h5write(x\$corrected_features, "$peaks", "corrected_features")'
            -e 'rhdf5::h5write(x\$extracted_features, "$peaks", "extracted_features")'
            -e 'rhdf5::h5write(x\$aligned_mz_tolerance, "$peaks", "aligned_mz_tolerance")'
            -e 'rhdf5::h5write(x\$aligned_rt_tolerance, "$peaks", "aligned_rt_tolerance")'
            -e 'rhdf5::h5write(x\$updated_known_table, "$updated_known_table", "aplcms_known_table")'
    ]]></command>

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

    <outputs>
        <data name="peaks" format="h5" />
        <data name="updated_known_table" format="h5" />
    </outputs>

    <help>
        This is the Hybrid version of apLCMS which is incorporating the knowledge of known metabolites and historically
        detected features on the same machinery to help detect and quantify lower-intensity peaks.

        CAUTION: To use such knowledge, especially historical data, you must keep using (1) the same chromatography
        system (otherwise the retention time will not match), and (2) the same type of samples with similar extraction
        technique, such as human serum.

        @GENERAL_HELP@
    </help>

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