view windowBed.xml @ 39:3e38c9b3214f draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 1e25e8d0bd1ebeb2b94c4bbdff222e56defc1fc2"
author iuc
date Wed, 01 Sep 2021 11:04:15 +0000
parents dde39ba9c031
children 7ab85ac5f64b
line wrap: on
line source

<tool id="bedtools_windowbed" name="bedtools WindowBed" version="@TOOL_VERSION@" profile="@PROFILE@">
    <description>find overlapping intervals within a window around an interval</description>
    <expand macro="bio_tools" />
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <command><![CDATA[
bedtools window
#if $inputA.is_of_type('bam'):
    -abam '$inputA'
#else:
    -a '$inputA'
#end if
-b '$inputB'
$bed
$strandB
#if $addition.addition_select == 'window':
    -w $addition.w
#elif $addition.addition_select == 'lr':
    -l $addition.l
    -r $addition.r
#end if
$original
$number
$nooverlaps
$header
> '$output'
    ]]></command>
    <inputs>
        <param name="inputA" type="data" format="bam,@STD_BEDTOOLS_INPUTS@" label="@STD_BEDTOOLS_INPUT_LABEL@/BAM file"/>
        <param name="inputB" argument="-b" type="data" format="@STD_BEDTOOLS_INPUTS@" label="@STD_BEDTOOLS_INPUT_LABEL@ file"/>
        <param argument="-bed" type="boolean" truevalue="-bed" falsevalue="" checked="false"
            label="When using BAM input, write output as BED. The default is to write output in BAM when using a BAM file" />
        <conditional name="addition">
            <param name="addition_select" type="select" label="Choose what you want to do">
                <option value="window">Add Base pairs for **both** upstream and downstream of each entry in A when searching for overlaps in B</option>
                <option value="lr">Add Base pairs **separately** for upstream and downstream of each entry in A when searching for overlaps in B</option>
            </param>
            <when value="window">
                <param argument="-w" type="integer" value="1000" label="Base pairs to add upstream and downstream" />
            </when>
            <when value="lr">
                <param argument="-l" type="integer" value="1000"
                    label="Base pairs added upstream (left) of each entry in A when searching for overlaps in B"
                    help="Allows one to create assymetrical “windows”. Default is 1000bp." />
                <param argument="-r" type="integer" value="1000"
                    label="Base pairs added downstream (right) of each entry in A when searching for overlaps in B"
                    help="Allows one to create assymetrical “windows”. Default is 1000bp." />
            </when>
        </conditional>
        <param name="strandB" type="select" label="Calculation based on strandedness?">
            <option value="" selected="true">Report any hit in B</option>
            <option value="-sm">Only report hits in B that overlap A on the **same** strand</option>
            <option value="-Sm">Only report hits in B that overlap A on the **opposite** strand</option>
        </param>
        <param name="original" argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false"
            label="Write original A entry once if any overlaps found in B"
            help="In other words, just report the fact at least one overlap was found in B" />
        <param name="number" argument="-c" type="boolean" truevalue="-c" falsevalue="" checked="false"
            label="For each entry in A, report the number of hits in B"
            help="Reports 0 for A entries that have no overlap with B" />
        <param name="nooverlaps" argument="-v" type="boolean" truevalue="-v" falsevalue="" checked="false"
            label="Only report those entries in A that have no overlaps with B" />
        <expand macro="print_header" />
    </inputs>
    <outputs>
        <data name="output" format_source="inputA" metadata_source="inputA" />
    </outputs>
    <tests>
        <test>
            <param name="inputA" value="windowBedA.bed" ftype="bed" />
            <param name="inputB" value="windowBedB.bed" ftype="bed" />
            <output name="output" file="windowBed_result1.bed" ftype="bed" />
        </test>
        <test>
            <param name="inputA" value="windowBedA.bed" ftype="bed" />
            <param name="inputB" value="windowBedB.bed" ftype="bed" />
            <param name="addition_select" value="window" />
            <param name="w" value="5000" />
            <output name="output" file="windowBed_result2.bed" ftype="bed" />
        </test>
        <test>
            <param name="inputA" value="windowBedA.bed" ftype="bed" />
            <param name="inputB" value="windowBedB.bed" ftype="bed" />
            <param name="addition_select" value="lr" />
            <param name="l" value="200" />
            <param name="r" value="20000" />
            <output name="output" file="windowBed_result2.bed" ftype="bed" />
        </test>
    </tests>
    <help><![CDATA[
**What it does**

Similar to bedtools intersect, window searches for overlapping features in A and B. However, window adds a specified number (1000, by default) of base pairs upstream and downstream of each feature in A. In effect, this allows features in B that are “near” features in A to be detected.

.. image:: $PATH_TO_IMAGES/window-glyph.png

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