annotate intersectBed.xml @ 36:1133660b0f9d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
author iuc
date Wed, 10 Jan 2018 19:21:14 -0500
parents f0aca67fdb71
children d279800f4ff9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
1 <tool id="bedtools_intersectbed" name="Intersect intervals" version="@WRAPPER_VERSION@.1">
17
a2d4c30ba2f9 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 0887009a23d176b21536c9fd8a18c4fecc417d4f
iuc
parents: 8
diff changeset
2 <description>find overlapping intervals in various ways</description>
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
3 <macros>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
4 <import>macros.xml</import>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
5 </macros>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
6 <expand macro="requirements" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
7 <expand macro="stdio" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
8 <command>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
9 <![CDATA[
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
10 #set modes = ' '.join( str($overlap_mode).split(',') )
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
11
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
12 bedtools intersect
28
f0aca67fdb71 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 391d2d41095edb2badf70924d3636238453ee377
iuc
parents: 18
diff changeset
13 #if $inputA.is_of_type('bam'):
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
14 -abam '${inputA}'
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
15 #else:
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
16 -a '${inputA}'
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
17 #end if
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
18
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
19 #if str($reduce_or_iterate.reduce_or_iterate_selector) == 'iterate':
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
20 -b '$reduce_or_iterate.inputB'
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
21 #else:
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
22 #set inputBs = "' '".join([str($file) for $file in $reduce_or_iterate.inputB])
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
23 -b '$inputBs'
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
24 #end if
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
25 $split
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
26 $strand
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
27 #if str($fraction) != "None" and str($fraction):
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
28 -f '${fraction}'
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
29 #end if
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
30 $reciprocal
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
31 $invert
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
32 $once
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
33 $header
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
34 $modes
18
5efc48568d8d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit e5a5ad091c621348dc6ce2df861475ebc54a380e
iuc
parents: 17
diff changeset
35 $count
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
36 > '${output}'
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
37 ]]>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
38 </command>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
39 <inputs>
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
40 <param format="bed,bam,vcf,gff,gff3" name="inputA" type="data" label="File A to intersect with B" help="BAM/BED/GFF/VCF format" />
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
41 <conditional name="reduce_or_iterate">
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
42 <param name='reduce_or_iterate_selector' type='select' label='Combined or separate output files'>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
43 <option value='iterate' selected='true'>One output file per 'input B' file</option>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
44 <option value='reduce'>Single output containing intersections of any 'input B' lines with A </option>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
45 </param>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
46 <when value='iterate'>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
47 <param format="bam,bed,gff,gff3,vcf" name="inputB" type="data"
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
48 label="File(s) B to intersect with A" help="BAM/BED/GFF/VCF format"/>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
49 </when>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
50 <when value='reduce'>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
51 <param format="bam,bed,gff,gff3,vcf" name="inputB" type="data" multiple="true"
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
52 label="File(s) B to intersect with A" help="BAM/BED/GFF/VCF format"/>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
53 </when>
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
54 </conditional>
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
55 <expand macro="strand2" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
56 <param name="overlap_mode" type="select" multiple="True" label="What should be written to the output file?">
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
57 <option value="-wa" selected="True">Write the original entry in A for each overlap (-wa)</option>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
58 <option value="-wb">Write the original entry in B for each overlap. Useful for knowing what A overlaps. Restricted by the fraction- and reciprocal option (-wb)</option>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
59 <option value="-wo">Write the original A and B entries plus the number of base pairs of overlap between the two features. Only A features with overlap are reported. Restricted by the fraction- and reciprocal option (-wo)</option>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
60 <option value="-wao">Write the original A and B entries plus the number of base pairs of overlap between the two features. However, A features w/o overlap are also reported with a NULL B feature and overlap = 0. Restricted by the fraction- and reciprocal option (-wao)</option>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
61 <option value="-loj">Perform a "left outer join". That is, for each feature in A report each overlap with B. If no overlaps are found, report a NULL feature for B (-loj)</option>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
62 </param>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
63
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
64 <expand macro="split" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
65 <!-- -f -->
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
66 <param name="fraction" type="text"
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
67 label="Minimum overlap required as a fraction of the BAM alignment"
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
68 help="Alignments are only retained if the overlap with the an interval in the BED file comprises at least this fraction of the BAM alignment's length. For example, to require that the overlap affects 50% of the BAM alignment, use 0.50. (-f)"/>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
69 <!-- -r -->
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
70 <expand macro="reciprocal" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
71 <!-- -v -->
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
72 <param name="invert" type="boolean" checked="false" truevalue="-v" falsevalue=""
36
1133660b0f9d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bedtools commit 9f7b029951fa0f854c9c6a5f241ce9a20ae4f22a
iuc
parents: 28
diff changeset
73 label="Report only those alignments that **do not** overlap with file(s) B"
8
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
74 help="(-v)"/>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
75 <!-- -u -->
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
76 <param name="once" type="boolean" checked="false" truevalue="-u" falsevalue=""
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
77 label="Write the original A entry _once_ if _any_ overlaps found in B."
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
78 help="Just report the fact >=1 hit was found. (-u)" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
79 <!-- -c -->
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
80 <param name="count" type="boolean" checked="false" truevalue="-c" falsevalue=""
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
81 label="For each entry in A, report the number of overlaps with B."
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
82 help="Reports 0 for A entries that have no overlap with B. (-c)" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
83 <expand macro="print_header" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
84 </inputs>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
85 <outputs>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
86 <data format_source="inputA" name="output" metadata_source="inputA"/>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
87 </outputs>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
88 <tests>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
89 <test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
90 <param name="inputA" value="intersectBed1.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
91 <param name="inputB" value="intersectBed2.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
92 <param name="overlap_mode" value="-wa" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
93 <param name="split" value="False" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
94 <output name="output" file="intersectBed_result1.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
95 </test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
96 <test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
97 <param name="inputA" value="intersectBed1.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
98 <param name="inputB" value="intersectBed2.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
99 <param name="overlap_mode" value="-wa,-wb" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
100 <param name="split" value="False" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
101 <output name="output" file="intersectBed_result2.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
102 </test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
103 <test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
104 <param name="inputA" value="intersectBed1.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
105 <param name="inputB" value="intersectBed2.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
106 <param name="invert" value="True" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
107 <param name="split" value="False" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
108 <output name="output" file="intersectBed_result3.bed" ftype="bed" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
109 </test>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
110 </tests>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
111 <help>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
112 <![CDATA[
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
113 **What it does**
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
114
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
115 By far, the most common question asked of two sets of genomic features is whether or not any of the features in the two sets “overlap” with one another. This is known as feature intersection. bedtools intersect allows one to screen for overlaps between two sets of genomic features. Moreover, it allows one to have fine control as to how the intersections are reported. bedtools intersect works with both BED/GFF/VCF and BAM files as input.
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
116
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
117 .. image:: $PATH_TO_IMAGES/intersect-glyph.png
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
118
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
119 .. class:: infomark
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
120
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
121 Note that each BAM alignment is treated individually. Therefore, if one end of a paired-end alignment overlaps an interval in the BED file, yet the other end does not, the output file will only include the overlapping end.
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
122
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
123 .. class:: infomark
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
124
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
125 Note that a BAM alignment will be sent to the output file **once** even if it overlaps more than one interval in the BED file.
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
126
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
127 @REFERENCES@
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
128 ]]>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
129 </help>
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
130 <expand macro="citations" />
0d3aa592ce27 Uploaded
iuc
parents:
diff changeset
131 </tool>