Mercurial > repos > iuc > bedtools
diff multiIntersectBed.xml @ 8:0d3aa592ce27 draft
Uploaded
author | iuc |
---|---|
date | Tue, 28 Apr 2015 22:56:34 -0400 |
parents | |
children | a2d4c30ba2f9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multiIntersectBed.xml Tue Apr 28 22:56:34 2015 -0400 @@ -0,0 +1,180 @@ +<tool id="bedtools_multiintersectbed" name="Intersect multiple sorted BED files" version="@WRAPPER_VERSION@.0"> + <description></description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <expand macro="stdio" /> + <command> +<![CDATA[ + bedtools multiinter + $header + $cluster + -filler "${filler}" + #if $zero.value == True: + -empty + -g $genome + #end if + + #if str($tag.tag_select) == "tag": + #set files = '" "'.join( [ str( $file ) for $file in $tag.inputs ] ) + -i "${files}" + #else: + -i + #for $file in $tag.beds: + "${file.input}" + #end for + -names + #for $file in $tag.beds: + "{$file.custom_name}" + #end for + #end if + + > '$output' +]]> + </command> + <inputs> + <conditional name="tag"> + <param name="tag_select" type="select" label="Sample name"> + <option value="tag" selected="true">Use input's tag</option> + <option value="custom">Enter custom name per file</option> + </param> + <when value="tag"> + <param name="inputs" format="bed" type="data" multiple="True" label="BED files" /> + </when> + <when value="custom"> + <repeat name="beds" title="Add BED files" min="2" > + <param name="input" format="bed" type="data" multiple="True" label="BED file" /> + <param name="custom_name" type="text" area="false" label="Custom sample name"/> + </repeat> + </when> + </conditional> + <expand macro="genome" /> + <param name="cluster" type="boolean" checked="false" truevalue="-cluster" falsevalue="" + label="Invoke Ryan Layers's clustering algorithm" + help="(-cluster)" /> + <param name="zero" type="boolean" checked="true" + label="Report regions that are not covered by any of the files" + help="If set, regions that are not overlapped by any file will also be reported. Requires a valid organism key for all input datasets" /> + <param name="filler" type="text" value="N/A" + label="Text to use for no-coverage value" + help="Can be 0.0, N/A, - or any other value. (-filler)" /> + <expand macro="print_header" /> + + </inputs> + <outputs> + <data format="bed" name="output" /> + </outputs> + <tests> + <test> + <param name="tag_select" value="tag"/> + <param name="inputs" value="multiIntersectBed1.bed,multiIntersectBed2.bed,multiIntersectBed3.bed" ftype="bed" /> + <param name="zero" value="False"/> + <output name="output" file="multiIntersectBed_result1.bed" ftype="bed" /> + </test> + <test> + <param name="tag_select" value="tag"/> + <param name="inputs" value="multiIntersectBed1.bed,multiIntersectBed2.bed,multiIntersectBed3.bed" ftype="bed" /> + <param name="header" value="True"/> + <param name="zero" value="False"/> + <output name="output" file="multiIntersectBed_result2.bed" lines_diff="2" ftype="bed" /> + </test> + <test> + <param name="tag_select" value="tag"/> + <param name="inputs" value="multiIntersectBed1.bed,multiIntersectBed2.bed,multiIntersectBed3.bed" ftype="bed" /> + <param name="zero" value="True"/> + <param name="genome" value="multiIntersectBed1.len"/> + <output name="output" file="multiIntersectBed_result3.bed" ftype="bed" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool identifies common intervals among multiple, sorted BED files. Intervals can be common among 0 to N of the N input BED files. + + +.. class:: warningmark + +This tool requires that each BED file is reference-sorted (chrom, then start). + + +.. class:: infomark + +The output file will contain five fixed columns, plus additional columns for each BED file: + + * 1. Chromosome name (or 'genome' for whole-genome coverage). + * 2. The zero-based start position of the interval. + * 3. The one-based end position of the interval. + * 4. The number of input files that had at least one feature overlapping this interval. + * 5. A list of input files or labels that had at least one feature overlapping this interval. + * 6. For each input file, an indication (1 = Yes, 0 = No) of whether or not the file had at least one feature overlapping this interval. + +------ + +**Example input**:: + + # a.bed + chr1 6 12bed + chr1 10 20 + chr1 22 27 + chr1 24 30 + + # b.bed + chr1 12 32 + chr1 14 30 + + # c.bed + chr1 8 15 + chr1 10 14 + chr1 32 34 + + +------ + +**Example without a header and without reporting intervals with zero coverage**:: + + + chr1 6 8 1 1 1 0 0 + chr1 8 12 2 1,3 1 0 1 + chr1 12 15 3 1,2,3 1 1 1 + chr1 15 20 2 1,2 1 1 0 + chr1 20 22 1 2 0 1 0 + chr1 22 30 2 1,2 1 1 0 + chr1 30 32 1 2 0 1 0 + chr1 32 34 1 3 0 0 1 + + +**Example adding a header line**:: + + + chrom start end num list a.bed b.bed c.bed + chr1 6 8 1 1 1 0 0 + chr1 8 12 2 1,3 1 0 1 + chr1 12 15 3 1,2,3 1 1 1 + chr1 15 20 2 1,2 1 1 0 + chr1 20 22 1 2 0 1 0 + chr1 22 30 2 1,2 1 1 0 + chr1 30 32 1 2 0 1 0 + chr1 32 34 1 3 0 0 1 + + +**Example adding a header line and custom file labels**:: + + + chrom start end num list joe bob sue + chr1 6 8 1 joe 1 0 0 + chr1 8 12 2 joe,sue 1 0 1 + chr1 12 15 3 joe,bob,sue 1 1 1 + chr1 15 20 2 joe,bob 1 1 0 + chr1 20 22 1 bob 0 1 0 + chr1 22 30 2 joe,bob 1 1 0 + chr1 30 32 1 bob 0 1 0 + chr1 32 34 1 sue 0 0 1 + + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>