查看原文
其他

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

王通 基因学苑 2023-08-18

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

1 生成sam文件

有很多软件可以生成sam格式,例如bwa,bowie2,tophat2,subread,minimap2等等。输入数据为fasta格式,作为比对参考序列;fastq格式的测序数据,例如illumina测序的pairend数据等。也就是将测序数据比对回参考序列上。可以简单理解为sam=fasta+fastq。

# bwa建立索引
bwa index -a is ref.fna
#bwa mem比对
bwa mem -t 4 -R '@RG\tID:A1\tPL:illumina\tSM:A1'  ref.fna  A1_1.fastq.gz A1_2.fastq.gz >A1.sam
bwa mem -t 4 -R '@RG\tID:A2\tPL:illumina\tSM:A2'  ref.fna A2_1.fastq.gz A2_2.fastq.gz >A2.sam

2 sam文件格式介绍

sam格式为文本格式,可以直接查看,一共有11列,每一列的内容如下:


第一列:reads ID
第二列:是flag标记的总和
第三列:比对到参考序列上的染色体号。
第四列:在参考序列上的位置
第五列:比对的质量值,MAPQ
第六列:代表比对结果的CIGAR字符串
第七列:mate比对到的染色体号,若是没有mate,则是*
第八列:比对到参考序列上的第一个碱基位置
第九列:Template的长度,
第十列:为read的序列
第十一列:为ASCII码格式的序列质量;

3 flag标识符的意义

sam第二列为flag标识符,这些标识符为比对模式,例如单端比对,还是双端比对,或者没有比对上。这些数字为二进制之和。可以通过以下完整进行解释。
flag解析:http://broadinstitute.github.io/picard/explain-flags.html

4 sam标识符的意义

sam文件每一行的结尾包含很多标识符,这些标识符是比对的具体细节,可以查看对应的文档进行解读。不过这些标识符是供下游软件处理,并不需要人工来解读。
sam标识符解释:https://github.com/samtools/hts-specs

 XT:A:U  NM:i:0  SM:i:37 AM:i:37 X0:i:1  X1:i:0  XM:i:0  XO:i:0 
 XT:A:U  NM:i:2  SM:i:37 AM:i:37 X0:i:1  X1:i:0  XM:i:2  XO:i:0 
 XT:A:U  NM:i:0  SM:i:37 AM:i:37 X0:i:1  X1:i:0  XM:i:0  XO:i:0

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

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



您可能还会感兴趣的

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

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

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

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