view aplcms_hybrid.xml @ 3:2877bbac4c82 draft default tip

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/aplcms commit ffadabe63b4a1428918cb80dc1f8598f41a458bd"
author recetox
date Mon, 17 May 2021 09:08:39 +0000
parents a1439454fe7f
children
line wrap: on
line source

<tool id="aplcms_hybrid" name="apLCMS - Hybrid" version="@TOOL_VERSION@+galaxy3">
    <macros>
        <import>aplcms_macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <command detect_errors="aggressive"><![CDATA[
        Rscript ${run_script}
    ]]></command>

    <configfiles>
        <configfile name="run_script"><![CDATA[
            #set file_str = str("', '").join([str($f) for $f in $files])

            x <- apLCMS::hybrid(
                files = c('$file_str'),
                known_table = apLCMS::load_known_table_from_hdf('$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,
                cluster = as.integer(Sys.getenv('GALAXY_SLOTS', unset = 1))
            )

            apLCMS::save_peaks_to_hdf('$peaks', x)
            apLCMS::save_known_table_to_hdf('$updated_known_table', x\$updated_known_table) ## NOTE the \ because we want cheetah to ignore the $ character
        ]]></configfile>
    </configfiles>

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

    <tests>
        <test>
            <param name="files" value="mbr_test0.mzml,mbr_test1.mzml,mbr_test2.mzml" ftype="mzml"/>
            <param name="known_table" value="known_table.h5" ftype="h5"/>
            <output name="peaks" file="peaks_hybrid.h5" ftype="h5" compare="sim_size" delta="1000"/>
        </test>
    </tests>

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