view calibrator.xml @ 0:d386c9d1fae5 draft

planemo upload for repository https://github.com/brsynth/icfree-ml commit 89b220357cba84350590ce79306440e78df97be5-dirty
author tduigou
date Fri, 22 Nov 2024 11:37:49 +0000
parents
children 64294f757d70
line wrap: on
line source

<tool id="icfree_calibrator" name="iCFree calibrator" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" license="MIT">
    <description>Calculate yield based on fluorescence data and optionally apply calibration</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        cp '$initial_data_file' 'initial_data.csv' &&
        cp '$sampling_file' 'sampling.csv' &&
        cp '$ref_file' 'reference.csv' &&
        python -m icfree.learner.extractor
            --initial_data_file 'initial_data.csv'
            --sampling_file 'sampling.csv'
            --output_file 'extractor.csv'
            #if str($adv.num_samples) != ''
                --num_samples '$adv.num_samples'
            #end if
            #if str($adv.num_replicates) != ''
                --num_replicates '$adv.num_replicates'
            #end if
            &&
        python -m icfree.learner.calibrator
            --output 'calibrated.csv'
            --plot '$output_graph'
            --jove_plus '$jove_plus'
            --jove_minus '$jove_minus'
            --r2_limit '$adv.r2_limit'
            #if str($adv.num_control_points) != ''
                --num_control_points '$adv.num_control_points'
            #end if
            #if str($adv.num_samples) != ''
                --num '$adv.num_samples'
            #end if
            'extractor.csv' 'reference.csv' &&
        mv 'calibrated.csv' '$output_calibrated'
    ]]></command>
    <inputs>
        <param name="initial_data_file" type="data" format="csv" label="Initial file" help="Initial file"/>
        <param name="sampling_file" type="data" format="csv" label="Sampling file" help="Sampling file"/>
        <param name="ref_file" type="data" format="csv" label="Reference input file" help="Reference input file"/>
        <param argument="jove_plus" type="integer" label="Line number for Jove+ (1-based index)" help="Line number for Jove+ (1-based index)" />
        <param argument="jove_minus" type="integer" label="Line number for Jove- (1-based index)" help="Line number for Jove- (1-based index)" />
        <section name="adv" title="Advanced Options" expanded="false">
            <param argument="num_samples" type="integer" optional="true" label="Number of samples" help="Number of samples" />
            <!-- Extractor -->
            <param argument="num_replicates" type="integer" optional="true" label="Number of replicates" help="Number of replicates." />
            <!-- Calibrator -->
            <param argument="r2_limit" type="float" value="0.8" label="R-squared limit for the regression" help="R-squared limit for the regression" />
            <param argument="num_control_points" type="integer" optional="true" label="Number of control points to select" help="Number of control points to select" />
        </section>
    </inputs>
    <outputs>
        <data name="output_calibrated" format="csv" label="${tool.name} - Calibrated yields" />
        <data name="output_graph" format="png" label="${tool.name} - Graph" />
    </outputs>
    <tests>
        <test expect_num_outputs="2">
            <!-- python -m icfree.learner.extractor -initial_data_file calibrator.input.initial_data.csv -sampling_file calibrator.input.sampling.csv -output_file calibrator.extractor_output.1.csv -->
            <!-- python -m icfree.learner.calibrator -output calibrator.output.calibrated.1.csv -jove_plus 3 -jove_minus 2 -plot calibrator.output.1.png calibrator.output.extractor.1.csv calibrator.input.ref.csv -->
            <param name="initial_data_file" value="calibrator.input.initial_data.csv" />
            <param name="sampling_file" value="calibrator.input.sampling.csv" />
            <param name="ref_file" value="calibrator.input.ref.csv" />
            <param name="jove_plus" value="3" />
            <param name="jove_minus" value="2" />
            <output name="output_calibrated" ftype="csv">
                <assert_contents>
                    <has_n_lines n="343" />
                </assert_contents>
            </output>
            <output name="calibrator_graph" ftype="png" >
                <assert_contents>
                    <has_size value="62000" delta="2000" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="2">
            <!-- python -m icfree.learner.extractor -initial_data_file calibrator.input.initial_data.csv -sampling_file calibrator.input.sampling.tsv -output_file calibrator.output.extractor.2.csv -num_samples 20 -num_replicates 3 -->
            <!-- python -m icfree.learner.calibrator -plot calibrator.output.2.png -output calibrator.output.2.csv -jove_plus 4 -jove_minus 3 -r2_limit 0.9 -num 20 -num_control_points 4 calibrator.output.extractor.2.csv calibrator.input.ref.csv -->
            <param name="initial_data_file" value="calibrator.input.initial_data.csv" />
            <param name="sampling_file" value="calibrator.input.sampling.csv" />
            <param name="ref_file" value="calibrator.input.ref.csv" />
            <param name="num_samples" value="20" />
            <param name="num_replicates" value="3" />
            <param name="r2_limit" value="0.9" />
            <param name="num_control_points" value="4" />
            <param name="jove_plus" value="4" />
            <param name="jove_minus" value="3" />
            <output name="output_calibrated" ftype="csv">
                <assert_contents>
                    <has_n_lines n="21" />
                </assert_contents>
            </output>
            <output name="calibrator_graph" ftype="png" >
                <assert_contents>
                    <has_size value="45000" delta="1000" />
                </assert_contents>
            </output>

        </test>

    </tests>
    <help><![CDATA[
Calibrator
==========
Calculate yield based on fluorescence data and apply calibration.

]]></help>
    <expand macro="creator"/>
    <expand macro="citation"/>
</tool>