File: flank.rst

package info (click to toggle)
bedtools 2.26.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 55,328 kB
  • sloc: cpp: 37,989; sh: 6,930; makefile: 2,225; python: 163
file content (131 lines) | stat: -rw-r--r-- 4,227 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
.. _flank:

###############
*flank*
###############

|

.. image:: ../images/tool-glyphs/flank-glyph.png 
    :width: 600pt 

|

``bedtools flank`` will create two new flanking intervals for each interval in 
a BED/GFF/VCF file. Note that ``flank`` will restrict the created flanking
intervals to the size of the chromosome  (i.e. no start < 0 and no end > 
chromosome size).

.. note::

    In order to prevent creating intervals that violate chromosome boundaries,
    ``bedtools flank`` requires a *genome* file defining the length of each 
    chromosome or contig.

.. seealso::

    :doc:`../tools/slop`
    
==========================================================================
Usage and option summary
==========================================================================
**Usage**:
::

  bedtools flank [OPTIONS] -i <BED/GFF/VCF> -g <GENOME> [-b or (-l and -r)]

**(or):**
::

  flankBed [OPTIONS] -i <BED/GFF/VCF> -g <GENOME> [-b or (-l and -r)]
    
===========================      ===============================================================================================================================================================================================================
 Option                           Description
===========================      ===============================================================================================================================================================================================================
**-b**				             Increase the BED/GFF/VCF entry by the same number base pairs in each direction. *Integer*.							 
**-l**					         The number of base pairs to subtract from the start coordinate. *Integer*.
**-r**                           The number of base pairs to add to the end coordinate. *Integer*.
**-s**                           Define -l and -r based on strand. For example. if used, -l 500 for a negative-stranded feature, it will add 500 bp to the *end* coordinate.
**-pct**                         Define -l and -r as a fraction of the feature's length. E.g. if used on a 1000bp feature, -l 0.50, will add 500 bp "upstream".  Default = false.
===========================      ===============================================================================================================================================================================================================



==========================================================================
Default behavior
==========================================================================
By default, ``bedtools flank`` will either add a fixed number of bases in each 
direction (``-b``) or an asymmetric number of bases in each direction 
with ``-l`` and ``-r``.


.. code-block:: bash

  $ cat A.bed
  chr1 100 200
  chr1 500 600

  $ cat my.genome
  chr1 1000

  $ bedtools flank -i A.bed -g my.genome -b 5
  chr1	95	100
  chr1	200	205
  chr1	495	500
  chr1	600	605

  $ bedtools flank -i A.bed -g my.genome -l 2 -r 3
  chr1	98	100
  chr1	200	203
  chr1	498	500
  chr1	600	603
  



However, if the requested number of bases exceeds the boundaries of the 
chromosome, ``bedtools flank`` will "clip" the feature accordingly.

.. code-block:: bash

  $ cat A.bed
  chr1 100 200
  chr1 500 600

  $ cat my.genome
  chr1 1000

  $ bedtools flank -i A.bed -g my.genome -b 800
  chr1	0	100
  chr1	200	1000
  chr1	0	500
  chr1	600	1000


==========================================================================
``-pct`` Resizing features by a given fraction
==========================================================================
``bedtools flank`` will optionally create flanking intervals whose size is  
user-specified fraction of the original interval.

For example:

.. code-block:: bash

  $ cat A.bed
  chr1 100 200
  chr1 500 700
  
  ################################################################
  # note the flanking intervals from the second record in A.bed
  # are 20bp whereas the flanking intervals from the first record
  # are only 10bp
  ################################################################
  $ bedtools flank -i A.bed -g my.genome -b 0.1 -pct
  chr1	90	100
  chr1	200	210
  chr1	480	500
  chr1	700	720