通常进行SNP calling的之前我们需要对比对的bam文件进行排序、去重等工作,在这里介绍几种sort bam的方法。
sambamba比samtools快很多,samtools和sambamba默认按照比对的最左坐标排序,使用-n时按读取名称排序
samtools sort 样本.bam -@ 8 -o 样本.sorted.bam
sambamba sort 样本.bam -t 8 -o 样本.sorted.bam
gatk SortSam -I 样本.bam -O 样本.sorted.bam -SO coordinate # 按coordinate进行排序,意思就是按照染色体编号进行排序。
gatk ReorderSam -I 样本.bam -O 样本.sorted.bam -SD 参考基因组的GATK索引
注:ReorderSam 会出现未能排序的情况
(1) GATK 两个sort的区别官网是这样描述的:
SortSam 用序列比对位置对 SAM 或 BAM 文件进行排序,ReorderSam 重新排序读取 SAM/BAM 文件以匹配提供的引用文件中的重叠群顺序,由确切的名称匹配确定的重叠群。 映射到新引用中不存在的重叠群的读取将取消映射。
(2)排序前后文件大小变化
我们对bam文件进行排序之后,文件大小也会发生变化。关于这个问题samtools的作者Li Heng在 SEQanswers 给出的解释是这样:
BAM 文件是压缩的二进制文件,对文件内容排序之后相似的内容排在一起,使得文件压缩比提高了,因此排序之后的 BAM 文件变小了,相对应的 SAM 文件就是纯文本文件,对 SAM 文件进行排序就不会改变文件大小。由于 RNA-seq 中基因表达量的关系,RNA-seq 的数据比对结果 BAM 文件使用 samtools 进行 sort 之后文件压缩比例变化会比 DNA-seq 更甚。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!