用途:bedGraph 是用于在基因组浏览器中展示连续数值数据(如覆盖度、信号强度、评分)的文本格式,本技能整理其创建、操作与转换方法。
格式:四列 chrom、start、end、value,坐标为 0 基、半开区间,可带 track 行。
主要能力与用法:
- 从 BAM 生成:bedtools genomecov -ibam sample.bam -bg > sample.bedgraph,支持 -split、-scale、-strand、-5 等选项。
- CPM 归一化:用 samtools view -c -F 260 统计 reads,再用 bc 计算缩放系数后传给 -scale。
- 排序:sort -k1,1 -k2,2n,转 bigWig 前必须排序。
- 转 bigWig:bedGraphToBigWig sample.sorted.bedgraph chrom.sizes sample.bw;chrom.sizes 可由 samtools faidx 或 fetchChromSizes 生成。
- 边界裁剪:bedClip。
- bigWig 转回:bigWigToBedGraph,可按染色体或区间导出。
- 合并多样本:bedtools unionbedg,可配合 awk 求平均。
- 区域统计:bedtools map 求 mean/sum/max;可做背景扣除、log2 变换、平滑。
- Python:pyBigWig 可写 bedGraph、读取 bigWig 区间。
- deepTools:bamCoverage、bamCompare、bigwigCompare 支持 RPKM/CPM/BPM 归一化与比值计算。
- 过滤与分箱:awk 按值过滤、bedtools intersect 取区域、makewindows 分箱、map 聚合。
- 质控:检查重叠区间、验证排序、查看值域。
适用场景:ChIP-seq、RNA-seq 等覆盖度与信号可视化,多样本比较,基因组浏览器展示。
限制:bedGraph 为文本格式,体积较大;转 bigWig 前必须排序并裁剪到染色体边界;具体工具需另行安装,资料未提供安装命令与版本要求。