查看原文
其他

bam格式文件处理大全(二)

王通 基因学苑 2023-08-18

sam文件是短序列比对生成的文件,是二代测序中最核心的文件。在RNAseq,变异检测等分析中,都需要首先生成sam文件格式。bam文件是sam格式的二进制格式,转换为二进制之后,可以减小文件的存储。掌握sam/bam文件的操作是处理二代测序数据的非常重要的内容,例如sam与bam的转换,排序,建立索引,reads计数等等操作。

5 sam文件验证

有时候拿到bam文件之后,运行samtools经常报错,这是应为文件格式不正确或者内容不完整,这个时候就需要进行验证,可以使用samtools自带的quickcheck功能,如果没有提示,则表示没有问题,否则会提示错误,可以使用echo显示验证结果。

samtools quickcheck *.bam  && echo 'all ok' || echo 'fail!'

6 sam和bam格式转换

bwa默认生成的是sam格式,而绝大部分的软件需要bam格式,所以,第一件事情就是将sam转换为bam,bam是sam的二进制格式,压缩为二进制的好处是可以节省大量存储,那为什么软件不直接输出二进制,这是因为如果边比对边输出二进制,非常消耗内存,不如先生成文本格式的sam,在进行压缩。如果想看bam文件的内容,同样可以将bam转换为sam。

samtools view -O bam -o A1.bam A1.sam  
samtools view A1.bam | less

7 bam排序

默认的输出文件中,是按照比对的reads顺序进行排序的,而分析需要按照染色体坐标位置排序,所以,每一次都需要对bam进行排序,如果不排序,后续的操作都无法进行,还是同样的原理,边比对边排序消耗资源太大,所以,是在比对后进行排序。现在的samtools工具可以排序与转换同步进行。一般排序后的文件都加上扩展名sorted,表示经过排序了。

samtools sort -@ 4 -m 12G -O bam -o A1.sorted.bam A1.sam  

8 建立索引  

处理大文件都需要一个索引,索引的作用是可以快速定位到文件的任意位置,因此,建立索引,也是bam文件的重要功能,而建立索引,必须是排序后的bam文件。所以,拿到一个比对好的sam之后,基本处理就是排序,格式转换,建立索引。

samtools index A1.sorted.bam  

---------- END ----------

(添加作者微信,请注明单位姓名)



您可能还会感兴趣的

生物信息暑期班(北京站)开始报名
基因学苑文章列表(201906)

上传数据,直接分析,1T内存服务器来了
手把手教你生信分析平台搭建专栏合集
生物信息重要资源站点合集
不会编程,如何进行批量操作
一个人全基因组完整数据分析脚本
一个细菌基因组完整分析脚本
如何在Linux下优雅的装X

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存