BEDTOOLS2

简介

Bedtools是一款可以对genomic features进行比较、相关操作和注释的工具, 目前版本已经有三十多个工具/命令用以实现各种不同的功能,可以针对bed、vcf、 gff等格式的文件进行处理。

安装

使用conda安装

srun -p small -n 4 --pty /bin/bash
module load miniconda3
conda create -n mypy #创建自己的环境
source activate mypy #进入自己的环境
conda install -c bioconda bedtools

使用git安装

wget https://github.com/arq5x/bedtools2/releases/download/v2.29.1/bedtools-2.29.1.tar.gz
tar -zxvf bedtools-2.29.1.tar.gz
cd bedtools2
make

下载测试数据

mkdir -p test_data
cd test_data
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/maurano.dnaseI.tgz
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/cpg.bed
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/exons.bed
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/gwas.bed
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/genome.txt
curl -O https://s3.amazonaws.com/bedtools-tutorials/web/hesc.chromHmm.bed
tar -zxvf maurano.dnaseI.tgz
rm maurano.dnaseI.tgz

使用方法与范例

intersect

bedtools intersect比较两个或多个BED/BAM/VCF/GFF文件,并识别genome中两个文件中的特征重叠的所有区域(即共享至少一个碱基对)。

overlap

bedtools intersect -a cpg.bed -b exons.bed > result.bed

从cpg.bed中取出与exons.bed不重叠的区域

bedtools intersect -a cpg.bed -b exons.bed -v > result.bed

多个文件的比较

bedtools intersect -a exons.bed -b cpg.ed gwas.bed hesc.chromHmm.bed -sorted > result.bed

从bam与bed比较

bedtools intersect -abam tmp.bam -b exons.bed > result.bed

指定overlap的最小fraction

bedtools intersect -a cpg.bed -b exons.bed -wo -f 0.50

merge

Bedtools merge 命令可以将重叠的区间或者紧邻的区间合并成一个新的区间。

合并重叠区间形成一个新的区间

bedtools merge -i cpg.bed > result_merge.bed

注意事项

  • bedtools默认输入文件的分隔符为TAB,除了bam格式的文件;

  • 如果未使用-sorted参数,则bedtools默认不支持大于512M的染色体;

  • -sorted参数和-g参数必须存在一个;

  • 当进行多个文件比较时,染色体的命名方式必须统一,’chrX‘和’X‘不可以同事存在

参考


最后更新: 2024 年 10 月 11 日