view recetox_aplcms_two_step_hybrid.xml @ 1:87b669bdb51a draft default tip

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 19de0924a65bc65cbbf7c1fc17e9b5348305f95c
author recetox
date Fri, 10 Jun 2022 10:15:47 +0000
parents c67f0eb6a909
children
line wrap: on
line source

<tool id="recetox_aplcms_two_step_hybrid" name="RECETOX apLCMS Two-Step Hybrid" version="@TOOL_VERSION@+galaxy0">
    <description>generate a feature table from LC/MS spectra of multi-batch experiments</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="creator"/>

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

            two_step_hybrid_main(
                sample_files = c('$filenames_str'),
                known_table_file = '${known_table}',
                updated_known_table_file = '${updated_known_table}',
                recovered_file = '${recovered_feature_sample_table}',
                aligned_file = '${aligned_feature_sample_table}',
                out_format = '$output_format.out_format',
                metadata = '${metadata}',
                cluster = as.integer(Sys.getenv('GALAXY_SLOTS', unset = 1)),
                min.within.batch.prop.detect = $multibatch_processing.min_within_batch_prop_detect,
                min.within.batch.prop.report = $multibatch_processing.min_within_batch_prop_detect,
                min.batch.prop = $multibatch_processing.min_batch_prop,
                batch.align.mz.tol = $multibatch_processing.batch_align_mz_tol,
                batch.align.chr.tol = $multibatch_processing.batch_align_chr_tol,
                min.pres = $noise_filtering.min_pres,
                min.run = $noise_filtering.min_run,
                mz.tol = $noise_filtering.mz_tol,
                baseline.correct.noise.percentile = $noise_filtering.baseline_correct_noise_percentile,
                baseline.correct = $noise_filtering.baseline_correct,
                intensity.weighted = $noise_filtering.intensity_weighted,
                shape.model = '$feature_detection.shape_model',
                peak.estim.method = '$feature_detection.peak_estim_method',
                BIC.factor = $feature_detection.BIC_factor,
                min.bw = $feature_detection.min_bandwidth,
                max.bw = $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.mz.tol = $peak_alignment.align_mz_tol,
                align.chr.tol = $peak_alignment.align_chr_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,
                match.tol.ppm = $history_db.match_tol_ppm,
                new.feature.min.count = $history_db.new_feature_min_count
            )
        ]]></configfile>
    </configfiles>

    <expand macro="inputs">
        <param name="metadata" type="data" format="csv" label="metadata" help="A csv table with two columns, where the first column contains sample names and the second batch labels for each sample."/>
        <expand macro="history_db"/>
        <expand macro="noise_filtering" />
        <expand macro="feature_detection"/>
        <expand macro="peak_alignment"/>
        <expand macro="weak_signal_recovery"/>
        <expand macro="multibatch_processing"/>
        <expand macro="output_format"/>
    </expand>

    <outputs>
        <expand macro="unsupervised_outputs">
            <data name="updated_known_table" format="parquet" label="${tool.name} updated_known_table on ${on_string}"/>
        </expand>
    </outputs>

    <tests>
        <test>
            <param name="known_table" value="known_table.parquet" ftype="parquet"/>
            <param name="files" value="mbr_test0.mzml,mbr_test1.mzml,mbr_test2.mzml,mbr_test0_copy.mzml" ftype="mzml"/>
            <param name="metadata" value="two_step_hybrid_info.csv" ftype="csv"/>
            <param name="moment_power" value="2"/>
            <param name="sd_cut_max" value="100"/>
            <param name="sd_cut_min" value="0.1"/>
            <param name="sigma_ratio_lim_max" value="20"/>
            <param name="sigma_ratio_lim_min" value="0.05"/>
            <section name="output_format">
                <param name="out_format" value="recetox"/>
            </section>
            <output name="recovered_feature_sample_table" file="two_step_hybrid.recetox.parquet" ftype="parquet"/>
        </test>
    </tests>

    <help>
        <![CDATA[
            @HELP_two-step-hybrid@
        ]]>
    </help>

    <expand macro="citations">
        <citation type="doi">10.1038/s41598-020-70850-0</citation>
    </expand>
</tool>