bedtools 的安装与使用

1) 安装

bedtools 提供了3种安装方式

  • 从google code 下载源代码进行安装
  • 利用系统中的包管理工具进行安装, 比如cnetos 下的yum, ubuntu下的apt-get, mac 下的homebrew
  • 从github下载源代码,进行安装

由于访问不了google code,又想编译安装,就从github上下载最新版:https://github.com/arq5x/bedtools2

下载v2.25.0版本的源代码,进行安装

wget https://github.com/arq5x/bedtools2/archive/v2.25.0.tar.gz
tar xzvf v2.25.0 
cd bedtools2-2.25.0/
make
cd bin/
export PATH=$PWD:$PATH

 2) 使用

intersect: 求两个区间的交集,输入文件可以是bed,gff,vcf

准备两个测试文件,

cpg.bed,其内容为

chr1    20  70  CPG_1
chr1    100 120 CPG_2
chr1    150 250 CPG_3

exon.bed,其内容为

chr1    10  40  exon_1
chr1    50  60  exon_2
chr1    130 180 exon_3
chr1    200 280 exon_4

使用默认参数,求这个文件的overlap,运行

bedtools intersect -a cpg.bed  -b exon.bed

结果为

chr1    20  40  CPG_1
chr1    50  60  CPG_1
chr1    150 180 CPG_3
chr1    200 250 CPG_3

可以看出,默认情况下只输出A中overlap的区域

添加-wa 参数, 再次运行

bedtools intersect -a cpg.bed  -b exon.bed -wa

结果为:

chr1    20  70  CPG_1
chr1    20  70  CPG_1
chr1    150 250 CPG_3
chr1    150 250 CPG_3

可以看出,加上-wa 参数后,只要A中的这段区域与B中区域有交集,就输出,而且overlap几次,就输出几次

添加-wb 参数,运行

bedtools intersect -a cpg.bed  -b exon.bed -wb

结果为:

chr1    20  40  CPG_1   chr1    10  40  exon_1
chr1    50  60  CPG_1   chr1    50  60  exon_2
chr1    150 180 CPG_3   chr1    130 180 exon_3
chr1    200 250 CPG_3   chr1    200 280 exon_4

可以看出,加上-wb参数后,除了输出A中的overlap区域外,还会输出B中的整个区间

加上-wa, -wb 参数,再次运行

1
bedtools intersect -a cpg.bed  -b exon.bed -wa -wb

结果为:

1
2
3
4
chr1    20  70  CPG_1   chr1    10  40  exon_1
chr1    20  70  CPG_1   chr1    50  60  exon_2
chr1    150 250 CPG_3   chr1    130 180 exon_3
chr1    150 250 CPG_3   chr1    200 280 exon_4

可以看出,同时添加-wa和-wb参数会将overlap 区域成对输出

-c参数,统计A中每个区域与Boverlap的次数

bedtools intersect -a cpg.bed  -b exon.bed -c

结果为:

chr1    20  70  CPG_1   2
chr1    100 120 CPG_2   0
chr1    150 250 CPG_3   2

-v参数:只输出A中没有与Boverlap的区域

bedtools intersect -a cpg.bed  -b exon.bed -v

结果为:

chr1    100 120 CPG_2

可以看出,只要只要与B有overlap就不输出。

 

  

 

 

  

  

  

  

  

  

  

  

  

 

posted on   庐州月光  阅读(17930)  评论(1编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示