view jaccardBed.xml @ 26:95a3b2c25bd1 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit b75b9e79cf3186a22dc2e1e9d27c1a080b891b59
author iuc
date Thu, 26 Apr 2018 17:02:46 -0400
parents 7308cc546a36
children 4f7a5ccd2ae9
line wrap: on
line source

<tool id="bedtools_jaccard" name="JaccardBed" version="@WRAPPER_VERSION@.0">
    <description>calculate the distribution of relative distances between two files</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <command>
<![CDATA[
        bedtools jaccard
            $strand
            $split
            $reciprocal
            -f $overlap
            -a '$inputA'
            -b '$inputB'
            > '$output'
]]>
    </command>
    <inputs>
        <param format="@STD_BEDTOOLS_INPUTS@" name="inputA" type="data" label="@STD_BEDTOOLS_INPUT_LABEL@ file"/>
        <param format="@STD_BEDTOOLS_INPUTS@" name="inputB" type="data" label="@STD_BEDTOOLS_INPUT_LABEL@ file"/>
        <expand macro="overlap" />
        <expand macro="reciprocal" />
        <param name="strand" type="boolean" checked="false" truevalue="-s" falsevalue=""
            label="Force strandedness"
            help="That is, only report hits in B that overlap A on the same strand. By default, overlaps are reported without respect to strand. (-s)" />
        <expand macro="strand2" />
        <expand macro="split" />
    </inputs>
    <outputs>
        <data format_source="inputA" name="output" metadata_source="inputA" label="Intersection of ${inputA.name} and ${inputB.name}" />
    </outputs>
    <tests>
        <test>
            <param name="inputA" value="jaccardBed1.bed" ftype="bed" />
            <param name="inputB" value="jaccardBed2.bed" ftype="bed" />
            <output name="output" file="jaccardBed_result1.bed" ftype="bed" />
        </test>
        <test>
            <param name="inputA" value="jaccardBed1.bed" ftype="bed" />
            <param name="inputB" value="jaccardBed2.bed" ftype="bed" />
            <param name="overlap" value="0.1" />
            <output name="output" file="jaccardBed_result2.bed" ftype="bed" />
        </test>
    </tests>
    <help>

**What it does**

By default, bedtools jaccard reports the length of the intersection, the length of the union (minus the intersection), the final Jaccard statistic reflecting the similarity of the two sets, as well as the number of intersections.
Whereas the bedtools intersect tool enumerates each an every intersection between two sets of genomic intervals, one often needs a single statistic reflecting the similarity of the two sets based on the intersections between them. The Jaccard statistic is used in set theory to represent the ratio of the intersection of two sets to the union of the two sets. Similarly, Favorov et al [1] reported the use of the Jaccard statistic for genome intervals: specifically, it measures the ratio of the number of intersecting base pairs between two sets to the number of base pairs in the union of the two sets. The bedtools jaccard tool implements this statistic, yet modifies the statistic such that the length of the intersection is subtracted from the length of the union. As a result, the final statistic ranges from 0.0 to 1.0, where 0.0 represents no overlap and 1.0 represent complete overlap.

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

.. class:: warningmark

The jaccard tool requires that your data is pre-sorted by chromosome and then by start position (e.g., sort -k1,1 -k2,2n in.bed > in.sorted.bed for BED files).

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