用途:bedtools 是基因组区间运算的标准工具包,处理 BED、BAM、GFF、VCF 格式,解决区间重叠、覆盖度计算、序列提取、区间合并与最近特征注释等核心问题,以 C 语言速度运行,适合全基因组分析。
主要能力:intersect 查找两特征集重叠(-wa -wb 报告原始特征,-c 计数,-u 任一重叠,-v 无重叠,-f/-F 设定最小重叠比例,-r 双向互惠,-s 同链);merge 合并重叠或相邻区间(-d 指定间隔,-c/-o 计数或折叠名称);coverage 计算每个特征的重叠读数、覆盖碱基数与覆盖比例(-d 逐碱基,-hist 直方图);genomecov 生成全基因组 BEDGRAPH 覆盖轨道(-bg、-bga、-scale 归一化、-strand 链特异);getfasta 提取序列(-s 链感知反向互补,-split 拼接外显子);closest 找最近基因并报告距离;slop/flank 扩展或生成侧翼区间;subtract 减去黑名单等区域;complement 寻找间隙;jaccard 计算两峰集相似度。
使用方式:输入需经坐标排序,如 sort -k1,1 -k2,2n input.bed;大文件加 -sorted 使用扫描算法降低内存。安装可用 conda install -c bioconda bedtools 或 macOS 的 brew install bedtools,运行前先检查 command -v bedtools,在 pixi 项目内用 pixi run bedtools。genome 文件可由 samtools faidx reference.fa 后 cut -f1,2 reference.fa.fai > genome.txt 生成。
适用场景:ChIP-seq 峰值与基因注释交集、ATAC-seq 重复样本峰合并、目标捕获区域覆盖度 QC、motif 发现或引物设计的序列提取、调控元件或变异最近基因注释、从峰 call 中去除黑名单与重复区域、启动子区域扩展。
限制:多数操作要求排序输入;染色体命名不一致(chr1 与 1)会导致交集为空;BED 使用 0 基半开区间,VCF/GFF 使用 1 基,混用会差一位;getfasta 需 FASTA 与 BED 染色体名一致;BAM 需先建索引;全基因组逐碱基深度场景建议改用 mosdepth,单个区域快速索引查询用 tabix,归一化 bigWig 轨道用 deeptools bamCoverage。具体收费与价格资料暂未提供。