0
|
1 <tool id="bedtools_windowbed" name="WindowBed" version="@WRAPPER_VERSION@.0">
|
|
2 <description></description>
|
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="requirements" />
|
|
7 <expand macro="stdio" />
|
|
8 <command>
|
1
|
9 <![CDATA[
|
0
|
10 bedtools window
|
|
11 #if $inputA.ext == "bam":
|
|
12 -abam $inputA
|
|
13 #else:
|
|
14 -a $inputA
|
|
15 #end if
|
|
16 -b $inputB
|
|
17 $bed
|
|
18 $strandB
|
1
|
19 #if $addition.addition_select == 'window':
|
|
20 -w $addition.w
|
0
|
21 #elif $addition.addition_select == 'lr':
|
1
|
22 -l $addition.l
|
|
23 -r $addition.r
|
0
|
24 #end if
|
|
25 $original
|
|
26 $number
|
|
27 $nooverlaps
|
|
28 $header
|
1
|
29 > $output
|
|
30 ]]>
|
0
|
31 </command>
|
|
32 <inputs>
|
|
33 <param format="bed,bam,vcf,gff,gff3" name="inputA" type="data" label="BED/VCF/GFF/BAM file"/>
|
|
34 <param format="bed,gff,vcf,gff3" name="inputB" type="data" label="BED/VCF/GFF file"/>
|
1
|
35 <param name="bed" type="boolean" checked="false" truevalue="-bed" falsevalue=""
|
|
36 label="When using BAM input, write output as BED. The default is to write output in BAM when using a bam file"
|
|
37 help="(-bed)" />
|
0
|
38 <conditional name="addition">
|
|
39 <param name="addition_select" type="select" label="Choose what you want to do">
|
1
|
40 <option value="window">Add Base pairs for **both** upstream and downstream of each entry in A when searching for overlaps in B</option>
|
0
|
41 <option value="lr">Add Base pairs **separately** for upstream and downstream of each entry in A when searching for overlaps in B</option>
|
|
42 </param>
|
1
|
43 <when value="window">
|
|
44 <param name="w" type="integer" value="1000" label="Base pairs to add upstream and downstream" />
|
0
|
45 </when>
|
|
46 <when value="lr">
|
1
|
47 <param name="l" type="integer" value="1000"
|
|
48 label="Base pairs added upstream (left) of each entry in A when searching for overlaps in B"
|
|
49 help="Allows one to create assymetrical “windows”. Default is 1000bp. (-l)" />
|
|
50 <param name="r" type="integer" value="1000"
|
|
51 label="Base pairs added downstream (right) of each entry in A when searching for overlaps in B"
|
|
52 help="Allows one to create assymetrical “windows”. Default is 1000bp. (-r)" />
|
0
|
53 </when>
|
|
54 </conditional>
|
|
55 <param name="strandB" type="select" label="Calculation based on strandedness?">
|
|
56 <option value="" selected="True">Report any hit in B</option>
|
|
57 <option value="-sm">Only report hits in B that overlap A on the **same** strand</option>
|
|
58 <option value="-Sm">Only report hits in B that overlap A on the **opposite** strand</option>
|
|
59 </param>
|
1
|
60 <param name="original" type="boolean" checked="false" truevalue="-u" falsevalue=""
|
|
61 label="Write original A entry once if any overlaps found in B"
|
|
62 help="In other words, just report the fact at least one overlap was found in B. (-u)" />
|
|
63 <param name="number" type="boolean" checked="false" truevalue="-c" falsevalue=""
|
|
64 label="For each entry in A, report the number of hits in B"
|
|
65 help="Reports 0 for A entries that have no overlap with B (-c)" />
|
|
66 <param name="nooverlaps" type="boolean" checked="false" truevalue="-v" falsevalue=""
|
|
67 label="Only report those entries in A that have no overlaps with B" help="(-v)" />
|
|
68 <expand macro="print_header" />
|
0
|
69 </inputs>
|
|
70 <outputs>
|
|
71 <data format_source="inputA" name="output" metadata_source="inputA" label=""/>
|
|
72 </outputs>
|
1
|
73 <tests>
|
|
74 <test>
|
|
75 <param name="inputA" value="windowBedA.bed" ftype="bed" />
|
|
76 <param name="inputB" value="windowBedB.bed" ftype="bed" />
|
|
77 <output name="output" file="windowBed_result1.bed" ftype="bed" />
|
|
78 </test>
|
|
79 <test>
|
|
80 <param name="inputA" value="windowBedA.bed" ftype="bed" />
|
|
81 <param name="inputB" value="windowBedB.bed" ftype="bed" />
|
|
82 <param name="addition_select" value="window" />
|
|
83 <param name="w" value="5000" />
|
|
84 <output name="output" file="windowBed_result2.bed" ftype="bed" />
|
|
85 </test>
|
|
86 <test>
|
|
87 <param name="inputA" value="windowBedA.bed" ftype="bed" />
|
|
88 <param name="inputB" value="windowBedB.bed" ftype="bed" />
|
|
89 <param name="addition_select" value="lr" />
|
|
90 <param name="l" value="200" />
|
|
91 <param name="r" value="20000" />
|
|
92 <output name="output" file="windowBed_result2.bed" ftype="bed" />
|
|
93 </test>
|
|
94 </tests>
|
0
|
95 <help>
|
1
|
96 <![CDATA[
|
0
|
97 **What it does**
|
|
98
|
|
99 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.
|
|
100
|
|
101 .. image:: $PATH_TO_IMAGES/window-glyph.png
|
|
102
|
|
103 @REFERENCES@
|
1
|
104 ]]>
|
0
|
105 </help>
|
|
106 <expand macro="citations" />
|
|
107 </tool>
|