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

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 的安装与使用的更多相关文章

  1. linux 安装SAMtools,bcftools,htslib,sratoolkit,bedtools,GATK,TrimGalore,qualimap,vcftools,bwa

    --------------------安装Samtools---------------------------------------------------------------------- ...

  2. genome MuSic安装

    系统:ubuntu 15.04全程在root权限下安装 首先安装软件samtools ,必须是samtools-0.1.19 版本tar jxf samtools-0.1.19.tar.bz2cd s ...

  3. bedtools 每天都会用到的工具

    详细的使用说明:http://bedtools.readthedocs.org/en/latest/ Collectively, the bedtools utilities are a swiss- ...

  4. 使用bedtools提取vcf多个位置的变异(extract multi-region of genotypes by bedtools)

    1.下载安装bedtools: 2.生成bed文件:标准的bed文件格式如下: chr7 127471196 127472363 Pos1 0 + 127471196 127472363 255,0, ...

  5. linux 基本命令___0003 字符串处理和yum安装软件的路径

    字符串变量的处理 参考链接:SHELL字符串处理技巧 计算字符串的字符数量: ${#str} str="xxx-Lane1_S2_L001_R1_trim.fastq" echo ...

  6. centos7 下安装生物信息软件的问题小总结

    1.安装samtools与bwa时: 缺少zlib库 下载zlib库 cd zlib/ CFLAGS="-O3 -fPIC" ./configure make make insta ...

  7. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  8. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  9. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

随机推荐

  1. 在 Visual Studio 2013 中使用 JavaScript 的 IntelliSense

    原本JavaScript直接在页面中引用的时候,智能感知会直接根据js文件的内容来获得提示.但是由于在新的ASP.NET中使用了Bundle,js文件不是直接在页面中引用了,所以智能感知也就出了问题. ...

  2. AAA含义图解

    来源: <FreeRADIUS Beginner's Guide> 这本书 1,认证 2,授权 3,审计

  3. [na][tools]快速ping网段工具-QuickPing

    一款神器 quickping 能够很快的探测出该网断分出去哪些地址. 在线的会显示绿色 在线的+有主机名的显示为亮绿色

  4. 使用vim-latex排版

    前几天在某个群上看到了一篇简历,内容不重要,一看排版很漂亮的说.一问才知道是用latex排版工具排版的.一想到我都大三下学期的,也快大四了,是不是要准备一份简历.于是就想使用latex这个排版工具来排 ...

  5. Artificial-Intelligence BOOKs与算法

    http://mindhacks.cn/2008/09/11/machine-learning-and-ai-resources/ https://www.amazon.com/Information ...

  6. Maven 在eclipse中如何配置

    大部分码农们都很熟悉Eclipse,用eclipse开发项目,Maven是解决依赖库的一个非常好用的java工具,可以与Eclipse集成,方便地管理web,java项目等等:但是很多初学者都不知道怎 ...

  7. angular学习笔记(十六) -- 过滤器(1)

    本篇主要介绍过滤器的基本用法: 过滤器用来对数据进行格式的转换,数据格式的转化与逻辑无关,因此,我们使用过滤器来进行这些操作: {{... | filter2: 参数1,参数2... }} expre ...

  8. python 使用py2exe将python 脚本生成exe可执行文件

    使用python的py2exe模块可以很容易地帮助我们将python脚本生成可执行的exe程序.这样我们就可以让脚本脱离虚拟机的束缚,从而独立运行. 首先安装py2exe分解步骤如下:(pip和eas ...

  9. C++ string的用法

    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是 ...

  10. js switch的使用 ng-switch的使用方法

    语法 switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 } ...