使用bedtools劃分各種條件的bin

  • 參考染色體大小文件chrom.size
chr1    100
chr2    150
  • 將染色體劃分為20bp為一個bin的區(qū)間
$ bedtools makewindows -g  chrom.size -w 20
chr1    0   20
chr1    20  40
chr1    40  60
chr1    60  80
chr1    80  100
chr2    0   20
chr2    20  40
chr2    40  60
chr2    60  80
chr2    80  100
chr2    100 120
chr2    120 140
chr2    140 150
  • 將染色體劃分成20bp為一個bin滑動距離為10bp的區(qū)間
$  bedtools makewindows -g  chrom.size -w 20 -s 10
chr1    0   20
chr1    10  30
chr1    20  40
chr1    30  50
chr1    40  60
chr1    50  70
chr1    60  80
chr1    70  90
chr1    80  100
chr1    90  100
chr2    0   20
chr2    10  30
chr2    20  40
chr2    30  50
chr2    40  60
chr2    50  70
chr2    60  80
chr2    70  90
chr2    80  100
chr2    90  110
chr2    100 120
chr2    110 130
chr2    120 140
chr2    130 150
chr2    140 150
  • 將每條染色體劃分為5個相同大小的窗口
$ bedtools makewindows -g chrom.size -n 5
chr1    0   20
chr1    20  40
chr1    40  60
chr1    60  80
chr1    80  100
chr2    0   30
chr2    30  60
chr2    60  90
chr2    90  120
chr2    120 150
  • 將給定BED文件中的每個間隔劃分為5個大小相等的窗口
$ cat chrom.size.bed 
chr1    1   100
chr2    1   150

$ bedtools makewindows -b chrom.size.bed -n 5
chr1    1   20
chr1    20  39
chr1    39  58
chr1    58  77
chr1    77  100
chr2    1   30
chr2    30  59
chr2    59  88
chr2    88  117
chr2    117 150
  • 將給定BED文件中的每個間隔劃分為3個大小相等的窗口, 并且在最后一列加上屬于第幾個bin,這對于ChIP-seqBS-seq等這種需要繪制metaplot的圖時候,作用特別好。
$ cat chrom.size_3col.bed 
chr1    1   100 A
chr1    200 300 B
chr1    350 400 C

$ bedtools makewindows -b chrom.size_3col.bed -n 3 -i winnum
chr1    1   34  1
chr1    34  67  2
chr1    67  100 3
chr1    200 233 1
chr1    233 266 2
chr1    266 300 3
chr1    350 366 1
chr1    366 382 2
chr1    382 400 3

$ bedtools makewindows -b chrom.size_3col.bed -n 3 -i srcwinnum
chr1    1   34  A_1
chr1    34  67  A_2
chr1    67  100 A_3
chr1    200 233 B_1
chr1    233 266 B_2
chr1    266 300 B_3
chr1    350 366 C_1
chr1    366 382 C_2
chr1    382 400 C_3
  • 有時候需要區(qū)分正負(fù)方向呢?
$ bedtools makewindows -b chrom.size_3col.bed -n 3 -i winnum -reverse
chr1    1   34  3
chr1    34  67  2
chr1    67  100 1
chr1    200 233 3
chr1    233 266 2
chr1    266 300 1
chr1    350 366 3
chr1    366 382 2
chr1    382 400 1
  • 結(jié)合上面生成以下?一般這種方式感覺作用不大。
$  bedtools makewindows -b chrom.size.bed -w 20 -s 10 -i winnum
chr1    1   21  1
chr1    11  31  2
chr1    21  41  3
chr1    31  51  4
chr1    41  61  5
chr1    51  71  6
chr1    61  81  7
chr1    71  91  8
chr1    81  100 9
chr1    91  100 10
chr2    1   21  1
chr2    11  31  2
chr2    21  41  3
chr2    31  51  4
chr2    41  61  5
chr2    51  71  6
chr2    61  81  7
chr2    71  91  8
chr2    81  101 9
chr2    91  111 10
chr2    101 121 11
chr2    111 131 12
chr2    121 141 13
chr2    131 150 14
chr2    141 150 15
  • 使用awk進(jìn)行均分
[qliu@node9 bedtools_test]$ awk -v num_win=5 '{len = $3-$2; size = len/num_win; \
>                             for (start=$2; start<$3; start+=size) \
>                                print $1"\t"start"\t"start+size}' chrom.size.bed
  • bedtools makewindows參數(shù):

Transcriptome analysis and bedtools
Question: Sliding window using gene position file
generating BED with sliding-windows intervals
strand-aware makewindows?

bedtools intersect -u -a $featureBED -b $signalBED | \
cat <(awk '($6 == "+")' | bedtools makewindows -b - -w $windowBin -i srcwinnum) \
      <(awk '($6 == "-")' | bedtools makewindows -b - -w $windowBin -i srcwinnum -reverse) > out.bed
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容