bedtools | 快速筛选重合区间
bedtools是一个强大的基因组分析工具,包含了各种各样的功能,能够轻松解决我们基因组分析过程中遇到的各种问题,其引用率高达8462次!
大家可以在 https://github.com/arq5x/bedtools2/releases 下载最新版本的bedtools。
## bedtools安装
tar -zxvf bedtools-2.29.0.tar.gz
cd bedtools2
make
安装好以后,小编教大家使用bedtools的“ intersect ”功能,快速筛选重合区间。
有时候,我们想看一下基因组某个区间上有哪些基因,或者批量比对两个区间是否有重合,自己写for循环一行一行比对搜寻的话速度会很慢,而且循环写不好很容易出错,这时我们就可以用bedtools的“ intersect ”快速将重合区间筛选出来!
首先,我们需要准备两个文件(以“tab" 为分隔符,第一列为染色体名称,第二列为区间的起始位置,第三列为区间的终止位置,第四列为区间名称)。
文件一:
文件二:
我们想看一下文件一中的区间有哪些与文件二中的区间是重合的。
bedtools intersect -a test1.bed -b test2.bed -wao > out
打开结果文件,我们可以看到,前四列代表文件一里的区间,第5至8列代表文件一与文件二重合的区间,第九列代表他们重合的长度。我们可以看到,文件一中的区间b同时与文件二中的A,B区间重和,重合长度分别为5和3。文件一中的区间d在文件二中未找到重和区间。
我们还可以把结果再整理一下。
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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php字符串截取函数mb_substr用法实例分析
- PHP利用DWZ.CN服务生成短网址
- php精度计算的问题解析
- PHP使用Session实现上传进度功能详解
- php常用字符串查找函数strstr()与strpos()实例分析
- php 根据URL下载远程图片、压缩包、pdf等文件到本地
- PHP使用HTML5 FormData对象提交表单操作示例
- python接入支付宝的实例操作
- php实现网页上一页下一页翻页过程详解
- Yii 使用intervention/image拓展实现图像处理功能
- PHP常用的类封装小结【4个工具类】
- 微信公众号之主动给用户发送消息功能
- laravel异步监控定时调度器实例详解
- python按顺序重命名文件并分类转移到各个文件夹中的实现代码
- Python实现删除某列中含有空值的行的示例代码