reference:https://davetang.org/wiki/tiki-index.php?page=SAM

@SQ SN:contig1 LN:9401 (序列ID及长度)

参考序列名,这些参考序列决定了比对结果sort的顺序,SN是参考序列名;LN是参考序列长度;每个参考序列为一行。

@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta7 (比对所使用的软件及版本)

这里的ID是bwa,PN是bwa,VN是0.7.12-r1039版本。CL可以认为是运行程序

K00133::H5LL5BBXX::::         *                     *       *              0A                  NCCATCCATAATTTATAGGGAAGTGTTAAAATGCGAATAATATCCTTTTCTTTTCCTGGGATTCGTTCAACATTTCCATTTCCATTTCCCTCCGAGTT                  GATTTATGGGAATTCTCAGCAGCCTTGTCCATAATTCATGAACAATCCCTG     A#AFFAFFJJJJJJJJJJJJJJ7FJJJJAJJJJJJJJJJFJJ                  JJJJJJJJJJJJJAJJJJJJJJJFJAJJJJJFJJFJJJJJJJJJJJJFFFJJJFA7AA7FFJAJ<AJ<AFF-FFFJFJFJJJF<AFFAFAFJJFAJJJ                  FA<<<AFJJA      AS:i:  XS:i:
K00133::H5LL5BBXX:::: * * * 0N AAGGAGAAGTTCCCATAGCAACAGCACCATTTTTTCCAGGGAAAAGGAGGAAAGAATCAAGGATGCGAAAGAGGGAATCAAAGCAGCTTAAGGGATAT AAAAAAAACAGGGATTGTTCATGAATTATGGACAAGGCAGCTGAGAATTCC #AAFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJA-<- 7A<7AJJF<AJJJJJF7JFAJF7AJJFJJJJJJJFF-AFJFJJJJJ--FFJJJJJJAAJFF<AJJJJJF777-----<-7F7-<--<<<<<7F<--) --A7FF--< AS:i: XS:i:
K00133::H5LL5BBXX:::: * * * 0T NTTTGAGTGCCTTCTAATTTTTTTTCTCCTGTATCTAAATTGCATGAGTATACTCTGCTACATTTAATCTTCAGGTAAAACAAAACTTTCTTTTATCA TATTTAGGAAGTATCACTAATCATGAATTAAAATTAAATGTGTATTGTCAG A#AFAJJJJJJJJJJJJJJJJJJJJJJJJJJFJJJFJJJJJJ FJJJFJJJJJJJJFJFJJJJJJJJJJJJJAJJFJAAJ77-AJFJFJJJJJFJJJJJJJFJJJFJF7AFFJAFFJFFA<FFAFJJAFAJFJJJJJJF-A FFJF77-A-- AS:i: XS:i:
K00133::H5LL5BBXX:::: * * * 0N CTGGCAGGCACAGATGCCCACAGTACACACACTGATATTTATAAAGCACTTCACAAAAAGTCACAAAAAAACCCCCAAAAACGAACCAAACCCAAAAA CCCCACCAAGCAAGCTGACAATACACATTTAATTTTAATTCATGATTAGTG #AAFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJFJ JFJJJJJJJJJJJJJJJJJAJJJJJJJJJJJJJJFFJJJJJ<JFJFJFJJFJ<JJJJJ<FJJJJJFJJJJF7F<FJFJ7AFAJJ7FFFAF7F-AAF< JFA<-<-< AS:i: XS:i:

$1:QNAME( 比对的序列名称,即一条测序reads的名称 ):

K00133:143:H5LL5BBXX:8:1101:1194:1103

$2:FLAG(表明比对类型:paring,strand,mate strand等):

可以使用samtools查到flag信息

$ samtools flags
0x4d PAIRED,UNMAP,MUNMAP,READ1 $ samtools flags
0x8d PAIRED,UNMAP,MUNMAP,READ2

$3:RNAME(表示read比对的那条序列的序列名称):

情况一:这条read有比对上的序列,则名称与头部的@SQ相对应,eg:

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log |les|awk '{if($3!="*"){print $0}}'
@SQ SN:scaffold332 LN:
@SQ SN:scaffold322 LN:
@SQ SN:scaffold342 LN:
@SQ SN:scaffold191 LN:
@SQ SN:scaffold1157 LN:
@PG ID:bwa PN:bwa VN:0.7.-r1188 CL:bwa mem -t -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz
K00133::H5LL5BBXX:::: scaffold191 * = CNTCTTTTCAACTTTCCTACCTGGGACACCAAAAGAAGTGAATTTGAAATGCTGGAATACCCATTTCTTTGTAATATACTACCAGGCAATAATTTCTTCACCAGTGTGTGTAAGCCTGTAGCACTGCCTTGTGACCCACGGGCAGGACCC A#AFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJFJJJJJJJJJJJJJJJJJJJJJJJJJJJ MC:Z:47S40M63S AS:i: XS:i:
K00133::H5LL5BBXX:::: scaffold191 47S40M63S = NCAAGCTGGGTGGGAGTGTTGATCTGCTGGAGGGCAGGAGGGCTCTGCAGAGGGATCTGGACAGGCTGGATCGATGGGCTGAGGCCAGTTGTATGAGGTTTAATAAGGTGAAATGCTGGGTCCTGCCCGTGGGTCACAAGGCAGTGCTAC #AAFFJJJJJAJJJJJ<JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJFJJJJJJJJJJFJJJJJJJJJJJJAJJJJFJJFFFJFJJJJJJ-<FJJJJJJJJJJJJFFFJAFJJJJJJJ7FJ<JJJFJJJJJJJJJJJJJ<FF NM:i: MD:Z:26C13 AS:i: XS:i:

情况二:这条read没有比对上的序列,则名称是“*”,且这一行的第四,五,八,九 列是“0”,第六,七列与该列是相同的表示方法

$4:POS(表示read比对到RNAME这条序列的最左边的位置)

noted:

(1)无论该read是正向比对或是反向比对到该序列,比对结果均是正向序列或反向序列最左端的比对位置

(2)如果该read能够完全比对到这条序列,则CIGAR string为M

$5:MAPQ(表示为mapping的质量值)
(1)255:mapping值不可用,

(2)0:通常对于unmapped read

(3)一般结果是这一列的数值是从0到60,且0和60这两个数字出现次数最多

(4)第五列为60表示mapping率最高,

$6:CIGARCIGAR,简要比对信息表达式(Compact Idiosyncratic Gapped Alignment Report),其以参考序列为基础

M:表示read可mapping到第三列的序列上,则read的碱基序列与第三列的序列碱基相同,表示正常的mapping结果,M表示完全匹配,但是无论reads与序列的正确匹配或是错误匹配该位置都显示

I:表示read的碱基序列相对于第三列的RNAME序列,有碱基的插入

D:表示read的碱基序列相对于第三列的RNAME序列,有碱基的删除
N:read 中有gap
P:read 和reference sequence都有gap
S:read 与reference没有mapping上的区域,但是保留了该mismatchs

H:read 与reference没有mapping上的区域,但是没有保留该mismatchs

=:正确匹配到序列上
X:错误匹配到序列上

set ‘*’ if unavailable

而H只出现在一条read的前端或末端,但不会出现在中间,S一般会和H成对出现,当有H出现时,一定会有一个与之对应的S出现
例如:
162M89S
162H89M
149M102S
149H102M
40S211M
20M1D20M211H
S可以单独出现,而H必须有与之对应的S出现时才可能出现,不可在相同第一列的情况下单独出现
N:如果是mRNA-to-genome,N出现的位置代表内含子,其它比对形式出现N时则没有具体解释
M/I/S/=/X:这些数值的加和等于第10列SEQ的长度

如图:

$7:MRNM 

情况一:这条reads第二次比对的位置,

在利用bwa mem产生sam文件时,如果该列是“=”而第3列RNAME不是“*”,则表示该reads比对到第3列显示序列名的序列上,而没有比对到其他位置,

在利用bwa aln及bwa sampe比对生成的sam文件,如果和上述情况相同,则第7列为“=”,上述情况均表示该reads只比对到这一个位置

情况二:如果这条reads没有匹配上的序列,第3列RNAME和第7列MRNM都为“*”

情况三:如果这条reads匹配两个序列,则第一个序列的名称出现在第3列,而第二个序列的名称出现在第7列

$8:MPOS:该列表示与该reads对应的mate pair reads的比对位置,
如果这对pair-end reads比对到同一条reference序列上,在sam文件中reads的id出现2次,Read1比对的第4列等于Read2比对的第8列。同样Read1比对的第8列等于Read2比对的第4列。例如:
第1列(Read id)····第4列(Read1比对位置)····第8列(mate-pair reads比对位置)
22699:1759····124057649····124057667
22699:1759····124057667····124057649
相同的reads id一个来自Read1文件,一个来自Read2文件,第4列和第8列是对应的

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log |awk '{if($3!="*"){print $0}}'|awk '{print $1"\t"$4"\t"$8}'|tail -
K00133::H5LL5BBXX::::
K00133::H5LL5BBXX::::

$9:TLEN:insert length+mapping base
如果R1端的read和R2端的read能够mapping到同一条Reference序列上(即第三列RNAME相同),则该列的值表示第8列减去第4列加上第6列的M值,即为R1端和R2端相同id的reads其第九列值相同,但该值为一正一负,R1文件的reads和R2文件的reads,相同id的reads要相对来看。在进行该第列值的计算时,如果取第6列的数值,一定要取出现M的值,S或H的值不能取。It is set as 0 for single-segment template or when the information is unavailable.

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log |awk '{if($3!="*"){print $0}}'|awk '{print $1"\t"$9}'|tail -
K00133::H5LL5BBXX::::
K00133::H5LL5BBXX::::

$10:SEQ,(序列片段的序列信息,如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度);

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log |awk '{if($3!="*"){print $0}}'|awk '{print $1"\t"$10}'|tail -
K00133::H5LL5BBXX:::: CNTCTTTTCAACTTTCCTACCTGGGACACCAAAAGAAGTGAATTTGAAATGCTGGAATACCCATTTCTTTGTAATATACTACCAGGCAATAATTTCTTCACCAGTGTGTGTAAGCCTGTAGCACTGCCTTGTGACCCACGGGCAGGACCC
K00133::H5LL5BBXX:::: NCAAGCTGGGTGGGAGTGTTGATCTGCTGGAGGGCAGGAGGGCTCTGCAGAGGGATCTGGACAGGCTGGATCGATGGGCTGAGGCCAGTTGTATGAGGTTTAATAAGGTGAAATGCTGGGTCCTGCCCGTGGGTCACAAGGCAGTGCTAC

$11:QUAL,(ASCII,read质量的ASCII编码。)

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log "$13"\t"$14"\t"$15"\t"$16}'|tail -2
K00133::H5LL5BBXX:::: MC:Z:47S40M63S AS:i: XS:i:
K00133::H5LL5BBXX:::: NM:i: MD:Z:26C13 AS:i: XS:i:

$12之后是自选option

$ bwa mem -t  -M ../.index/t/t1.fa ../.grep/t/o3.gz ../.grep/t/o4.gz >bwa.log |awk '{if($3!="*"){print $0}}'|awk '{print $1"\t"$12"\t"$13"\t"$14"\t"$15"\t"$16}'|tail -
K00133::H5LL5BBXX:::: MC:Z:47S40M63S AS:i: XS:i:
K00133::H5LL5BBXX:::: NM:i: MD:Z:26C13 AS:i: XS:i:
 

Sam format的更多相关文章

  1. SAMTOOLS使用 SAM BAM文件处理

    [怪毛匠子 整理] samtools学习及使用范例,以及官方文档详解 #第一步:把sam文件转换成bam文件,我们得到map.bam文件 system"samtools view -bS m ...

  2. sam格式详细说明

    原文链接 https://www.jianshu.com/p/386f520e5de1 The SAM Format Specification(sam格式说明) 1 The SAM Format S ...

  3. Picard报错“MAPQ should be 0 for unmapped read”的解决方法

    picard对bwa生成的sam文件进行reorder时,报错如下: Getting Help Exception in thread "main" htsjdk.samtools ...

  4. kallisto:Near-optimal RNA-Seq quantification

    Near-optimal RNA-Seq quantification https://pachterlab.github.io/kallisto 文章标题:   Pseudoalignment fo ...

  5. GATK使用说明-GRCh38(Genome Reference Consortium)(二)

    Reference Genome Components 1. GRCh38 is special because it has alternate contigs that represent pop ...

  6. 生物信息学工具--bowtie&bowtie2

    Bowtie和Bowtie2使用 [怪毛匠子整理] Source URL: http://www.bbioo.com/lifesciences/40-112837-1.html Bowtie和Bowt ...

  7. Linux command line exercises for NGS data processing

    by Umer Zeeshan Ijaz The purpose of this tutorial is to introduce students to the frequently used to ...

  8. HTseq-count

    HTSeq:一个用于处理高通量数据(High-throughout sequencing)的python包.HTSeq包有很多功能类,熟悉python脚本的可以自行编写数据处理脚本.另外,HTSeq也 ...

  9. STAR manual

    来源:STARmanual.pdf 来源:Calling variants in RNAseq PART0 准备工作 #STAR 安装前的依赖的工具 #Red Hat, CentOS, Fedora. ...

随机推荐

  1. form——验证器Validators

    form表单最大的作用就是验证功能了,通过cleaned_data清洗,我们可以获取传来的值,通过参数.验证器.自定义验证方法,我们可以做到很多的验证. 验证器可用于在不同类型的字段之间重用验证逻辑. ...

  2. phpstorm 的下载、安装与激活

    1.phpstorm的下载地址 https://www.jetbrains.com/phpstorm/ 下载后的安装包如图: 2.phpstorm的安装过程 跟据电脑系统下载安装对应版本 一路点击下一 ...

  3. Cavace 自定义View绘制

    一.开发资料与实例教程1.跟囧猫学之Canvas.Matrix 倒影实例教程 http://www.eoeandroid.com/thread-158506-1-1.html 2.Gridview 控 ...

  4. CodeForces 1000C Covered Points Count(区间线段覆盖问题,差分)

    https://codeforces.com/problemset/problem/1000/C 题意: 有n个线段,覆盖[li,ri],最后依次输出覆盖层数为1~n的点的个数. 思路: 区间线段覆盖 ...

  5. .equal()和==的区别

    1.首先,equal和==最根本的区别在于equal是一个方法,而==是一个运算符. 2.一般来说,==运算符比较的是在内存中的物理地址,.equal()比较的是哈希算法值是否相等(即hashcode ...

  6. re模块3

    #分组 () print(re.findall("(ad)/(vv)","adddad/vvdddddddddd")) print(re.findall(&qu ...

  7. mysql 启动报错Host name could not be resolved解决办法

    mysql 启动报错信息如下: [root@xxx ~]# 2018-01-26 17:06:35 33 [Warning] Host name 'bogon' could not be resolv ...

  8. 剑指offer【08】- 二叉树的深度(java)

    题目:二叉树的深度 考点:知识迁移能力 题目描述:输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 牛客网上的剑指offer题, ...

  9. leetcode 690.员工的重要性

    题目: 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度为15, 10, 5.那么员工1的数据结 ...

  10. CSS中的 position与Grid Layout

    [1]CSS之Position(定位布局): 现css常用的属性有5种: 1.static 2.absolute 3.fixed 4.relative 5.sticky. 1.static 表示元素的 ...