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./
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 的安装与使用的更多相关文章
- linux 安装SAMtools,bcftools,htslib,sratoolkit,bedtools,GATK,TrimGalore,qualimap,vcftools,bwa
--------------------安装Samtools---------------------------------------------------------------------- ...
- genome MuSic安装
系统:ubuntu 15.04全程在root权限下安装 首先安装软件samtools ,必须是samtools-0.1.19 版本tar jxf samtools-0.1.19.tar.bz2cd s ...
- bedtools 每天都会用到的工具
详细的使用说明:http://bedtools.readthedocs.org/en/latest/ Collectively, the bedtools utilities are a swiss- ...
- 使用bedtools提取vcf多个位置的变异(extract multi-region of genotypes by bedtools)
1.下载安装bedtools: 2.生成bed文件:标准的bed文件格式如下: chr7 127471196 127472363 Pos1 0 + 127471196 127472363 255,0, ...
- linux 基本命令___0003 字符串处理和yum安装软件的路径
字符串变量的处理 参考链接:SHELL字符串处理技巧 计算字符串的字符数量: ${#str} str="xxx-Lane1_S2_L001_R1_trim.fastq" echo ...
- centos7 下安装生物信息软件的问题小总结
1.安装samtools与bwa时: 缺少zlib库 下载zlib库 cd zlib/ CFLAGS="-O3 -fPIC" ./configure make make insta ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
随机推荐
- JEECG图表配置说明
图表配置可以做什么? 图表配置可以通过在线配置,无需编写代码生成图形报表页面.使用highcharts.js实现,可以运行在任何现代浏览器,包括移动终端以及IE6.目前支持曲线图.柱状图等基础报表. ...
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- [Jobdu] 题目1510:替换空格
题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 输入: 每个输入文件仅包含一组测 ...
- iptables的4表5链(未完)
iptables中共4张表:filter,nat,raw,mangle,其中默认表为filter如:iptables -A -p tcp -j ACCEPT 等价于 iptables -t filte ...
- nyoj123 士兵杀敌(四)树状数组 插线问点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...
- Spring Boot干货系列:(四)Thymeleaf篇
Spring Boot干货系列:(四)Thymeleaf篇 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boo ...
- 交叉编译busybox
交叉编译器: 3.3.2# wget -c http://www.busybox.net/downloads/busybox-1.7.0.tar.bz2# tar jxvf busybox-1.7.0 ...
- .Net应该学什么怎么学(三)
更新时间:2012年06月05日18时26分 来源:传智播客.Net 接上篇[我来解惑].Net应该学什么怎么学(二)七.HTML.JavaScript.Dom HTML是对网页长什么样 ...
- GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app
应用程序已经是近代的一个最重要的IT创新.应用程序是连接用户和数据之间的桥梁,提供即时訪问信息是最方便且呈现的方式也是easy理解的和令人惬意的. 然而,app开发人员.尤其是后端平台能力,一直在努力 ...
- ASP.new GridView获取隐藏列值的几种方法
解决方法: 原文来自:http://www.tzwhx.com/NewShow/newBodyShow/控件_32933.html 作者:lerit 1.隐藏列前获取数据 看这样一个例子(以下均以此 ...