小丸工具箱官方网站
概述
Bedtools是一款可以对genomic features进行比较、相关操作和注释的工具小丸工具箱参数包,目前版本已经有三十多个工具/命令用以实现各种不同的功能,可以针对bed、vcf、gff等格式的文件进行处理。
相关基本概念
genome features可以是功能元素(gene),遗传多态性 (SNPs, INDELs, or structural variants), 已经由测序或者其他方法得到的注释信息,也可以是自定义的一些特征信息。它包含所在染色体或scaffold的id,相应的起始、结束位置,所处正负链,以及名称等信息。
相关格式信息
bedtools可以对bed、vcf、gff等格式进行处理,vcf和gff文件大家比较常见,下边主要给大家介绍一下bed格式。
bedtools主要使用bed格式的前三列,bed最多可以有12列,主要描述如下:
Chrom:染色体信息
Start:genome features的起始位置,以0开始
End:genome features的结束位置,以1开始
Name: genome feature的官方名称或者自定义的一个名字
Score: 可以是p值等等一些可以刻量化的数值信息
Strands: 正反链信息
需要注意的是,bed文件起始位置以0开始,结束位置以1开始小丸工具箱参数包;而gff文件起始和结束位置均以1开始,同样,vcf文件的位置也是以1开始。
软件安装
软件的安装相对简单,下载后依次执行下面命令即可。
$ tar -zxvf bedtools-xxxx.tar.gz
$ cd bedtools2
$ make
基本用法
bedtools的使用较简单,用bedtools + 相应的命令 + 相应参数就可以,简单示例如下:
展开全文
bedtools intersect –a snps.bed –b exons.bed
简单功能介绍
Intersect
顾名思义,“intersect”命令就是取两个或多个文件之间的交集,根据参数不同,可以得到不同的结果,如下图所示:
Merge
Merge命令用于合并有overlap或者距离在一定范围内的相邻区间,距离可由参数(-d)定义。需要注意的是,做合并之前需要先对bed文件做排序,可以用bedtools sort命令实现。
Complement
取补集,除了正常作为输入的bed文件之外,还需要一个基因组的长度信息文件,记录每条染色体/scaffold的长度信息。可以得到基因组上除了输入的bed文件给定区域以外的其他区域信息。
genomeCov
可以计算基因组覆盖度,同样需要一个基因组长度信息文件,如果给定的输入文件是reads比对得到的bam文件,则可以得到reads在基因组上每个位置的深度。同样,不同的参数选择可以得到不同的结果,如下图所示:
除了上述一些处理以外,bedtools还可以做格式转化(bamtofastq)、fasta提取、统计等处理,具体的信息可以参见下表,如果大家有类似bed文件格式的处理需求,可以优先看看bedtools是否可以实现:
软件网址:
http://bedtools.readthedocs.io/en/latest/index.html
参考文献:
Quinlan, A.R. & Hall, I.M. BEDTools: a flexible suite of utilities for comparing genomic features. Bioinformatics 26, 841-842 (2010).