参考:
孟浩巍的知乎
zhn
如何直观的理解RNA-seq分析流程
我们从第16题开始,正式接触了高通量测序mapping的内容,可能有的朋友又忘记了mapping的定义,我们再来回顾一下这个概念。
“比对“对应的单词是alignment,往往特指低通量的序列之间的比较。比如10条序列,进行多序列比对就是我们常说的 multiple alignment问题;如果是2条序列的比对,我们经常称其为pairwise alignment.
“回贴”通常对应的单词应该是mapping,一般指高通量的数据去寻找基因组的位置。比如我们进行测序以后,有10^6对read pair,要去寻找他们在基因组上的位置,这个时候就是一个典型的mapping问题。
我们再把思路理清楚,在进行mapping的时候,应当包括输入和输出文件;
输入文件应该包含:
1. 测序结果(通常是FASTQ或者是FASTQ的压缩文件)
2. 之前建立好的参考基因组的index文件(不同的mapping软件建立的方法大同小异,但一般都是提前构建)
输出文件应该包括:
1. 比对的结果文件(一般是SAM文件格式或者是BAM文件格式)
2. 比对的情况报告
今天我们就要谈一谈SAM/BAM文件格式。
简单来说,回帖完之后,我们的回帖信息会被输入到一个文本文件:SAM文件(二进制位bam文件)
首先先说二者之间的关系,BAM文件是SAM文件的压缩格式,压缩以后可以节省空间,排好序的BAM文件还可以提供随机访问功能,性能优良。但是BAM文件和SAM文件储存的内容是完全一样的。我们以后还要单独再说BAM文件的操作方法,今天我们把重点放在文件中的内容上。
SAM文件的全称是:Sequence Alignment Map,它设计之初就是为了存储mapping结果的。
一个标准的SAM文件由2部分组成:
- 第1部分是以“@”开头的头部,在文件的最前面;
- 第2部分就是紧跟在头部后面的比对结果文件。
我们先来看一个例子:
在Linux中,访问sam文件最好用的工具是samtools,常用的操作如下:
# 假设SAM文件的文件名是 test.sam
# 1.只查看头部
samtools view -H test.sam
# 2.只查看内容,不查看头部
samtools view test.sam
# 3.查看头部内容
samtools view -h test.sam
# 4.查看帮助文档
samtools view
另外,通常情况下,1行SAM文件的内容包含有多列,标准的SAM文件会包含11列内容,其中每一列的内容代表的意思与简单的描述如下。我们今天主要关注的是前面4列内容。
说了这么多,那么我们今天的问题如下:
1. SAM文件的头部内容中常见的标志符号有@HD,@SQ,@PG,请问这三者后面跟随的信息分别是什么意思?
- 这三者都属于注释信息;
- @HD:说明符合标准的版本、对比结果是否进行了排序
- @SQ:参考序列列说明
- @PG:得到的文件都经过了哪些处理理,⽐比如mapping的详细程序等等;
2. 图3是SAM文件内容的前4列(最前面的序号是我加上去的,不包含在SAM文件中),那么请你解释一下这4列分别代表什么意思?其中的FLAG是第几列,是什么意思?
- QNAME:比对片段的编号;以及read name,通常包括测序平台的信息;
- FALG:比对情况的代表值,也叫做位标识,每一个数字代表一种比对情况,这里的值是符合情况的数字相加总和;
- flag取值:
1(1) 该read是成对的paired reads中的⼀一个
2(10) paired reads中每个都正确⽐比对到参考序列列上
4(100) 该read没比对到参考序列上
8(1000) 与该read成对的matepair read没有比对到参考序列上
16(10000) 该read其反向互补序列能够比对到参考序列
32(100000) 与该read成对的matepair read其反向互补序列能够比对到参考序列
64(1000000) 在paired reads中,该read是与参考序列比对的第一条
128(10000000) 在paired reads中,该read是与参考序列比对的第二条
256(100000000) 该read是次优的比对结果
512(1000000000) 该read没有通过质量控制
1024(10000000000) 由于PCR或测序错误产生的重复reads
2048(100000000000) 补充匹配的read
3. 如果1条序列的FLAG=83 (图3标号38的行)请解释其比对含义。
使⽤用Explain SAM Flags⼯工具,结果如下:
参考资料: