view matchms_formatter.xml @ 9:715fe77be601 draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 41db9f6295985e278fd23b61955bbaecd1f32c32
author recetox
date Thu, 25 May 2023 09:06:00 +0000
parents 966b4134ad12
children 1b09315a3f87
line wrap: on
line source

<tool id="matchms_formatter" name="matchms output formatter" version="0.1.4" python_template_version="3.5">
    <description>reformat output tables of matchms</description>

    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="creator"/>

    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">matchms</requirement>
        <requirement type="package" version="1.1.4">pandas</requirement>
        <requirement type="package" version="8.0.1">click</requirement>
    </requirements>
    
    <environment_variables>
        <environment_variable name="MPLCONFIGDIR">\$_GALAXY_JOB_TMP_DIR</environment_variable>
        <environment_variable name="XDG_CACHE_HOME">\$_GALAXY_JOB_TMP_DIR</environment_variable>
    </environment_variables>

    <command detect_errors="aggressive"><![CDATA[
        sh ${matchms_formatter_cli}
    ]]></command>

    <configfiles>
        <configfile name="matchms_formatter_cli">
            python3 ${__tool_directory__}/formatter.py \
            --sf "$scores" \
            --o "$output" \
            $method.selection \
            #if $method.selection == "get-thresholded-data"
            --st $method.scores_threshold \
            --mt $method.matches_threshold
            #else
            --k $method.k
            #end if
        </configfile>
    </configfiles>

    <inputs>
        <param label="Scores object" name="scores" type="data" format="json" help="MatchMS Scores json file." />

        <conditional name="method">
            <param name="selection" type="select" label="Formatting method">
                <option value="get-thresholded-data" selected="true">Thresholding</option>
                <option value="get-top-k-data">Top K Matches</option>
            </param>
            <when value="get-thresholded-data">
                <param label="Scores Threshold" name="scores_threshold" type="float" value="0.6" min="0.0" max="1.0"
                       help="Threshold for matching score."/>
                <param label="Matches Threshold" name="matches_threshold" type="integer" value="3" min="0"
                       help="Threshold for number of matches ions."/>
            </when>
            <when value="get-top-k-data">
                <param label="Top K" name="k" type="integer" value="5" help="K for top k match selection."/>
            </when>
        </conditional>

    </inputs>
    <outputs>
        <data label="${tool.name} (${method.selection}) on ${on_string}" name="output" format="tsv"/>
    </outputs>

    <tests>
        <test>
            <param name="scores" value="similarity/scores_test2_out.json" ftype="json"/>
            <param name="selection" value="get-thresholded-data"/>
            <param name="scores_threshold" value="0.4"/>
            <param name="matches_threshold" value="2"/>
            <output name="output" file="formatter/test2_threshold_formatting.tsv" ftype="tsv"
                checksum="md5$db18b3f3dd5d8dea4db0fc1d59d3db3b"/>
        </test>
        <test>
            <param name="scores" value="similarity/scores_test2_out.json" ftype="json"/>
            <param name="selection" value="get-top-k-data"/>
            <param name="k" value="3"/>
            <output name="output" file="formatter/test2_topk_formatting.tsv" ftype="tsv"
                checksum="md5$ff827ec7413acac3d2394330935ace99"/>
        </test>
    </tests>

    <help><![CDATA[
        @HELP_formatter@
    ]]></help>
</tool>