view intervene_upset.xml @ 1:08780101bc36 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/intervene commit 6c40eb0ac29429828269cff96401316fc324b7a9"
author iuc
date Mon, 05 Jul 2021 11:24:59 +0000
parents f5fa293605ca
children 33b8c5eedc04
line wrap: on
line source

<tool id="intervene_upset" name="UpSet diagram" version="@TOOL_VERSION@">
    <description>of intersection of genomic regions or list sets</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">intervene</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
#import re
#set $labels = ",".join(["'%s'" % @ESCAPE_IDENTIFIER@ for file in $input])
#set $type = 'genomic 'if $input[0].is_of_type('interval') else 'list'
intervene upset
--type $type
--input #echo " ".join(["'%s'" % file for file in $input])
--names $labels
--output results
--order $order
--ninter $ninter
$showzero
$showsize
--mbcolor '$mbcolor'
--sbcolor '$sbcolor'
--mblabel '$mblabel'
--sxlabel '$sxlabel'
--figtype $figtype
--figsize $figsize_width $figsize_height
--dpi $dpi &&
mv results/Intervene_upset.${figtype} results/Intervene_upset.plot
    ]]></command>
    <inputs>
        <param argument="--input" type="data" format="txt" multiple="true" label="Select input files for which to produce intersections"/>
        <param argument="--order" type="select" label="Select the order of intersections of sets">
            <option value="freq">Frequency</option>
            <option value="degree">Degree</option>
        </param>
        <param argument="--ninter" type="integer" value="30" min="1" label="Number of top intersections to show in plot"/>
        <param argument="--showzero" type="boolean" truevalue="--showzero" falsevalue="" label="Show empty intersections in plot?"/>
        <!-- the argparse action is wrong for showsize, check this when upgrading tool in future -->
        <param argument="--showsize" type="boolean" truevalue="" falsevalue="--showsize" checked="true" label="Show intersection sizes above bars ?"/>
        <param argument="--mbcolor" type="color" label="Color of the main bar plot" value="#ea5d4e">
            <expand macro="color_sanitizer"/>
        </param>
        <param argument="--sbcolor" type="color" label="Color of the set size bar plot" value="#317eab">
            <expand macro="color_sanitizer"/>
        </param>
        <param argument="--mblabel" type="text" label="The y-axis label of the intersection size bars" value="No. of Intersections">
            <expand macro="quote_sanitizer"/>
        </param>
        <param argument="--sxlabel" type="text" label="The x-axis label of the set size bars" value="Set size">
            <expand macro="quote_sanitizer"/>
        </param>
        <expand macro="figure_params"/>
    </inputs>
    <outputs>
        <data name="plot" format="pdf" label="UpSet plot on ${on_string}" from_work_dir="results/Intervene_upset.plot">
            <actions>
                <action type="format">
                    <option type="from_param" name="figtype"/>
                </action>
            </actions>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input" value="a.txt,b.txt,c.txt"/>
            <output name="plot" value="upset.pdf" compare="sim_size"/>
        </test>
        <test>
            <param name="input" value="a.bed,b.bed,c.bed"/>
            <output name="plot" value="bed_upset.pdf" compare="sim_size"/>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

This tool produces an upset plot for the intersection of sets from different datasets. 
These can be regular lists or BED/GFF/interval files which will be processed using bedtools intersect.

.. image:: $PATH_TO_IMAGES/upset.png

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