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

bedtools 的安装与使用第1张

准备两个测试文件,

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 参数,再次运行

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

结果为:

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就不输出。

  

 

  

  

  

  

  

  

  

  

  

免责声明:文章转载自《bedtools 的安装与使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基于WebGL/Threejs技术的BIM模型轻量化之图元合并iOS如何监听弱网?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

一文学会conda基本使用

Conda 简介 Conda 是一个开源的包管理系统和环境管理系统,可在 Windows、macOS 和 Linux 上运行。 Conda 可快速安装、运行和更新包及其依赖项。 Conda 可以轻松地在计算机上创建、保存、加载和切换环境。 它是为 Python 程序而创造的,但它可以打包和分发任何语言的软件。 简单来说,conda可以让我们一行命令安装更新...

pybedtools:在Python中使用BEDTools

I have a Python, I have a BEDTools. Ah,pybedtools! 前言 pybedtools 是采用 Python 对BEDTools 软件的封装和扩展。为啥要用pybedtools ,而不是直接使用BEDTools 呢? 当然是我们想在Python 使用 BEDTools 啦() Why pybedtools? 作者也...