前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bedtools | 快速筛选重合区间

bedtools | 快速筛选重合区间

作者头像
生信小王子
发布2020-08-10 16:45:22
1.8K0
发布2020-08-10 16:45:22
举报
文章被收录于专栏:生信小王子

bedtools是一个强大的基因组分析工具,包含了各种各样的功能,能够轻松解决我们基因组分析过程中遇到的各种问题,其引用率高达8462次!

大家可以在 https://github.com/arq5x/bedtools2/releases 下载最新版本的bedtools。

代码语言:javascript
复制
## bedtools安装
tar -zxvf bedtools-2.29.0.tar.gz
cd bedtools2
make

安装好以后,小编教大家使用bedtools的“ intersect ”功能,快速筛选重合区间。

有时候,我们想看一下基因组某个区间上有哪些基因,或者批量比对两个区间是否有重合,自己写for循环一行一行比对搜寻的话速度会很慢,而且循环写不好很容易出错,这时我们就可以用bedtools的“ intersect ”快速将重合区间筛选出来!

首先,我们需要准备两个文件(以“tab" 为分隔符,第一列为染色体名称,第二列为区间的起始位置,第三列为区间的终止位置,第四列为区间名称)。

文件一:

文件二:

我们想看一下文件一中的区间有哪些与文件二中的区间是重合的。

代码语言:javascript
复制
bedtools intersect -a test1.bed -b test2.bed -wao > out

打开结果文件,我们可以看到,前四列代表文件一里的区间,第5至8列代表文件一与文件二重合的区间,第九列代表他们重合的长度。我们可以看到,文件一中的区间b同时与文件二中的A,B区间重和,重合长度分别为5和3。文件一中的区间d在文件二中未找到重和区间。

我们还可以把结果再整理一下。

代码语言:javascript
复制
bedtools groupby -i out -g 1-4 -c 8 -o collapse

-g:选择哪几列的值进行合并。“-g 1-4”表示合并前四列相同的行。

-c:选择第几列的值汇总结果。“-c 8”表示选择第八列的值进行汇总。

这样,我们就可以直观的看到文件一中的区间b与文件二中的区间A和B重合啦!

bedtools还有许多非常便捷的功能,我们后续再讲!

参考资料:

https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html

https://bedtools.readthedocs.io/en/latest/content/tools/groupby.html

https://www.jianshu.com/p/6c3b87301491

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信小王子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档