这次推文继续和大家分享近期一些实用的生信小工具。今天给大家带来的是Heng Li大神,最新写的一款小工具Bedtk。
工具介绍
Bedtk是一组用于处理BED文件的简单工具。到目前为止,它可以用于实现intersection, subtraction, sorting, merging and computing the coverage等一系列的功能。简单来说Bedtk就是一款精简版的bedtools。但是相对于bedtools,它更专注于性能。相比之下Bedtk的速度要快几到几十倍,并且占用的内存很少。它还提供了一些方便的功能。例如,sorting, merging and intersection,可以在没有Unix管道的情况下一次性完成。
工具下载和安装
下载安装一气呵成:
git clone https://github.com/lh3/bedtk
cd bedtk && make
查看使用手册:
./bedtk
Usage: bedtk
Command:
isec intersection (bedtools intersect)
flt filter BED/VCF file (bedtools intersect/window)
cov breadth of coverage (bedtools coverage)
sub subtraction (bedtools subtract)
merge merge overlapping regions (bedtools merge)
sort sort regions (bedtools sort)
sum total region length
version version number
具体使用例子
bedtk flt
bedtk flt可用于过滤bed文件和vcf文件。比如根据注释的bed文件,过滤现有的bed文件:
./bedtk flt test/test-anno.bed.gz test/test-iso.bed.gz
当然也可以反过来找不重合的部分:
./bedtk flt -v test/test-anno.bed.gz test/test-iso.bed.gz
也可以根据滑动窗口来找目标重合的区域:
./bedtk flt -cw100 test/test-anno.bed.gz test/test-sub.vcf.gz
bedtk intersect
bedtk intersect 和bedtools intersect功能一样,找bed文件之间的重合部分。这里大神做了一些优化,不需要sorting,允许有overlapping records。
./bedtk isec test/test-anno.bed.gz test/test-iso.bed.gz
bedtk cov
bedtk cov用于计算bed文件的覆盖度。
.