view jaccardBed.xml @ 1:82aac94b06c3 draft

Uploaded
author iuc
date Thu, 08 Jan 2015 14:25:51 -0500
parents b8348686a0b9
children 607c0576c6ab
line wrap: on
line source

<tool id="bedtools_jaccard" name="JaccardBed" version="@WRAPPER_VERSION@.0">
    <description></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="bed,vcf,gff,gff3" name="inputA" type="data" label="BED/VCF/GFF file"/>
        <param format="bed,vcf,gff,gff3" name="inputB" type="data" label="BED/VCF/GFF 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>