⽣信常⽤⽂件格式--SAMBAM
SAM格式规范(V 1.6)
SAM为Sequence Alignment/Map格式,⼀种由制表符(Tab)分隔的⽂本格式,由header部分(可选)和alignment部分组成。当header部分存在时,必须在alignment部分前,且以“@”开头。alignment部分有11列必填字段(下⽂介绍)。
hea der部分
每个header⾏以字符“@”开头,后跟本节中定义的两个字母header记录类型代码之⼀。在header中,每⼀⾏都以制表符分隔,除了@CO⾏,每个数据字段都遵循⼀种格式“Tag:Value”,其中Tag是⼀个两个字符的字符串,⽤于定义值的格式和内容。下表描述了@HD可能使⽤预定义Tag。
@HD为⽂件级元数据。可选择的。如果存在,则必须只有⼀个@HD⾏,它必须是⽂件的第⼀⾏。
T a g 描述
V N
⽂件格式版本,@HD存在时必须
S O
alignments的排列顺序。有效值:未知(默认)、未排序、QueryName和坐标。对于坐标排序,主要排序键是RNAME 字段,使⽤标头中的@SQ⾏顺序定义的顺序。次要排序键是POS字段。对于具有相同RNAME和POS的对齐,顺序是任意的。在NameField中带有“*”的所有对齐⽅式都遵循带有其他值的对齐⽅式,但在其他情况下,它们的顺序是任意的。对于queryname的顺序,除了在整个⽂件中⼀致应⽤排序之外,没有对排序提出明确要求
G O
alignments分组,表⽰相似的alignments记录被分组在⼀起,但⽂件不必整体排序。有效值:⽆(默认)、查询(alignments按QName分组)和引⽤(alignments按Name/POS分组)。
S S
alignments的⼦排序顺序。有效值的格式为sort order:sub sort,其中sort order是存储在SO Tag中的相同值,sub sort是⼀个依赖于实现的冒号分隔字符串,进⼀步描述排序顺序,如果⼀个算法依赖于⼀个坐标排序,在每个坐标处,该排序按查询名称进⼀步排序,则标头可以包含@HD SO:coordinate SS:coordinate:queryname。如果主排序不是预定义的主排序顺序之⼀,则应使⽤未排序,并且⼦排序实际上是主排序。例如,如果按辅助标记按坐标排序,则标题可以包含@HD SO:unsorted SS:unsorted:MI:coordinate
下表描述了@SQ可能使⽤预定义Tag。
@SQ描述参考基因组信息,此⾏定义alignment⾏的顺序
T
a
g
描述
S
N
参考序列名。所有@SQ⾏中的SN标签和所有独⽴的AN名称必须是不同的,为必填字段
L
N
参考序列长度,为必填字段
A H 表明该序列是⼀个备⽤轨迹。该值是该序列作为替代序列的主程序集中的轨迹,格式为“chr:start-end”、“chr”(如果已知)或“*”(如果未知),其中“chr”是主要组装结果中的序列
A
N
可选参考序列名称
A
S
基因组组装标识符
D
S
描述,可以使⽤UTF-8编码
M
5
序列的MD5校验
S
P
物种
T
P
分⼦拓扑。有效值:linear(默认)和circular
U R 参考序列的URI,这个值从⼀个标准的协议开始,例如,“http:”或“ftp:”,如果不是这些协议作为开始,那么就应该是⽂件系统路径
下表描述了@RG可能使⽤预定义Tag。
@RG为Read Group,1个样本的测序结果为1个Read Group,允许有多个⽆序的@RG⾏T
a
g
描述
I D Read Group标识符。每⼀个@RG⾏必须有唯⼀的ID。ID的值⽤于alignments记录的RG标记。在header部分的所有Read Group中必须是唯⼀的。在合并SAM⽂件以处理冲突时,可以修改Read Group的ID,为必填项
B C 识别样本或库的条形码序列。该值是在没有错误的情况下,测序机读取的预期条形码基数。如果样本/库有多个条形码(例如,模板两端各有⼀个),建议使⽤连字符('-')将所有条形码连接起来
C
N
测序中⼼提供的read名称
D
S
描述,可以使⽤UTF-8编码
D
T
⽣产运⾏的⽇期(ISO8601⽇期或⽇期/时间)。
F O 流动顺序。与每次读取的每个流所⽤核苷酸相对应的核苷酸碱基阵列。多碱基流以IUPAC格式编码,⾮核苷酸流以各种其他字符编码。
K
S
与每次读取的键序列相对应的核苷酸碱基数组。
L
B
⽂库
P
G
⽤于处理Read Group的程序。
PI预测的中间插⼊⼤⼩
P L ⽤于产⽣读数的平台/技术。有效值:CAPILLARY、DNBSEQ(MGI/BGI)、HELICOS、ILLUMINA、IONTORRENT、LS454、ONT(Oxford Nanopore)、PACBIO(Pacific Biosciences)和固体。当技术不在此列表中(尽管在这种情况下PM字段可能仍然存在)或未知时,应省略此字段。
P
M
平台模型。提供所⽤平台/技术的更多详细信息的⾃由格式⽂本。
P
U
平台单元(例如,flowcell条形码。⽤于照明的滑道或⽤于固体的滑道)。唯⼀标识符
S M 样品,在对池进⾏排序的位置使⽤池名称
T
a
g
描述
下表描述了@PG可能使⽤预定义Tag。
@PG为program
T
a
g
描述
I
D
程序记录标识符
P
N
程序名称
C
L
命令⾏,可以使⽤UTF-8编码
P P 前⾯的@PG-ID,必须匹配另⼀个@PG header的ID标签。可以使⽤PP标记链接@PG记录,链中的最后⼀条记录没有PP 标记。该链定义应⽤于对齐的程序的顺序。在合并SAM⽂件以处理PG id冲突时,可以修改PP值。链中的第⼀个PG记录(即SAM记录中的PG标记所引⽤的记录)描述了在SAM记录上操作的最新程序。链中的下⼀个PG记录描述了在SAM记录上操作的下⼀个最新程序。SAM记录上
的PG ID不需要引⽤链中最新的PG记录。它可以引⽤链中的任何PG记录,这意味着SAM记录已经被PG记录中的程序操作过,并且程序通过PP标记引⽤
D
S
描述,可以使⽤UTF-8编码
V
N
程序版本
@CO为单⾏⽂本的评论。允许多个@CO⾏⽆序排列,可以使⽤UTF-8编码a lignment部分
必填字段
列字段类型简单描述
1QNAM
E
Strin
g
查询template名
2FLAG Int 位标记,template mapping情况的数字表⽰,每⼀个数字代表⼀种⽐对情况,这⾥的值是符合情况的数字相加总和
3RNAM
E
Strin
g
参考序列名称
4POS Int基于1的最左⽐对位置5MAPQ Int⽐对质量
6CIGAR Strin
g
CIGAR字符串
7RNEX
T
Strin
g
⽐对到的参考(染⾊体)名字
8PNEX
T
Int配对到的第⼀个碱基的位置
9TLEN Int可以理解为⽂库插⼊⽚段长度
1 0SEQ
Strin
g
序列⽚段
1 1QUAL
Strin
g
Phred-scale的ASCII码,基于QUALity+33
下⾯详细解释每个字段的意义
1、QNAME:查询模板名称。具有相同QNAME的Reads/segments被认为来⾃相同的template。QNAME为“*”表⽰信息不可⽤。
2、FLAG 位标记,下表是每⼀个代号代表的意义
Bit描述
1标⽰对应的⼆进制为01,标⽰read有多个测序数据,⼀般理解为有双端测序数据,另⼀条没有过滤掉
2Pair对完美⽐对上
4代表这个序列没有mapping到参考序列上
8代表这个序列的另⼀端序列没有⽐对到参考序列上,⽐如这条序列是R1,它对应的R2端序列没有⽐对到参考序列上16代表这个序列⽐对到参考序列的负链上
32代表这个序列对应的另⼀端序列⽐对到参考序列的负链上
64代表这个序列是R1端序列,read1
128代表这个序列是R2端序列,read2
256代表这个序列不是主要的⽐对,⼀条序列可能⽐对到参考序列的多个位置,只有⼀个是⾸要的⽐对位置,其他都是次要的
512该read没有通过质量控制
102
4
代表这个序列是PCR重复序列
204 8这条read可能存在嵌合,这个⽐对的部分只是来⾃其中的⼀部分序列(Supplementary alignment)
Bit描述
3、RNAME:⽐对的参考序列名称,如果@SQ头部⾏存在,RNAME(如果不是“*”)必须出现在⼀个SQ-SN标记中。没⽐对上此处就
是“*”。然⽽,⼀个未必对的⽚段也有⼀个坐标以便排序。如果RNAME 是“*”,也就没有 POS 和 CIGAR
4、POS:于1的第⼀个匹配基的最左映射位置。参考序列中的第⼀个基的坐标是1。对于没有坐标的未映射读取,POS设置为0。如果POS为0,RNAME和CIGAR也就没有意义
5、MAPQ:mapping质量,等于−10log Pr(映射位置是错的),四舍五⼊到最近的整数,值255表⽰映射质量特别差
6、CIGAR:CIGAR字符串。下表为CIGAR字符串的解释(‘*’表⽰⽆值)
Op BAM描述消耗待⽐对序列消耗参考序列
M0位置能⽐对上yes yes
I1相对参考序列有插⼊yes no
D2相对参考序列有缺失no yes
N3从参考序列上跳过⼀段no yes
S4软切割(被切割的序列保留在SEQ中)yes no
H5硬切割(被切割的序列不出现在SEQ中)no no
P6补丁(打了补丁的参考序列中的沉默缺失)no no
=7read碱基与参考序列相同yes yes
X8read碱基与参考序列不同yes yes 解释:
1. "消耗查询序列"与"消耗参考序列"分别指CIGAR是否引起⽐对沿着查询序列和参考序列的⽅向向前前进⼀个或⼏个碱基
2. H 只能出现在CIGAR的开始或最后
3. S的两边必为H,否则必须位于CIGAR的两端
4. 对于mRNA到基因组的⽐对,N表⽰内含⼦。对于其他类型的⽐对,N的解释未被定义
5. MIS=X的长度和应该等于SEQ长度
7、RNEXT:表⽰下⼀个⽚段⽐对上的参考序列的编号,⽐对不上⽤’*‘,该⽚段和下⼀个⽚段⽐对上同⼀个参考⽚段,⽤“=”
8、PNEXT:表⽰下⼀个⽚段⽐对上的位置,如果不可⽤,此处为0
sort命令排序9、TLEN:表⽰Template的长度。如果第⼋列⼤于第四列,则为正数,否则负数
10、SEQ:表⽰序列⽚段的序列信息,(注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度),表
⽰read的碱基序列,如果是⽐对到互补链上则是反转互补序列
11、QUAL:序列的质量信息, read质量的ASCII编码。格式同FASTQ⼀样
10
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论