最近需要将bam文件映射到bed上并统计,一番尝试操作之后发现:
貌似samtools bedcov 和 bedtools coverage都能用,但两者有啥异同点呢?下边就给大家扒一扒
相同点:bedtools bedcov 和 bedtools coverage两个工具都可以对一个BAM的特定基因区域的覆盖深度进行统计
使用的命令行如下:
bedtools coverage -a gene.bed -b sample.bam -d -counts
samtools bedcov gene.bed sample.bam
bedtools得到的结果如下:
chr1 6991 7008 "OR4F5" 61 #from bedtools coverage
samtools得到的结果如下:
chr1 6991 7008 "OR4F5" 4714 #from samtools bedcov
可以看出bedtools给出的覆盖深度是61,samtools给出的覆盖深度是4714,两个之间的差距还是很大的,这其中的原因是什么?
区别:
其实上边问题的原因很简单,
bedtools coverage给出的统计量是目标区域的平均深度。
samtools bedcov给出的统计量是指bed区域内每个碱基深度的加和。如果想要得到实际的平均深度,需要除以bed区域的长度。
最后值得注意的是,samtools bedcov 会忽略标记为duplicates, QC fail等的reads,但bedtools coverage不会。
---------------------------------------------------------------------------------------------------------------------------------------------------I`m a line ! Thanks !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
网友评论