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-specsXT: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

bam文件读取_bam格式文件处理大全(一)相关推荐

  1. bam获取序列_bam格式文件处理大全(四)

    sam文件是短序列比对生成的文件,是二代测序中最核心的文件.在RNAseq,变异检测等分析中,都需要首先生成sam文件格式.bam文件是sam格式的二进制格式,转换为二进制之后,可以减小文件的存储.掌 ...

  2. php vcf,php简单读取.vcf格式文件的方法示例

    本文实例讲述了php简单读取.vcf格式文件的方法.分享给大家供大家参考,具体如下: /** * 读取.vcf格式文件 * @param $filename */ function readCvf($ ...

  3. python用os.system打开wav文件_使用python读取wav格式文件

    ** 使用python读取wav格式文件 ** - 基本概念 [采样频率] 即取样频率, 指每秒钟取得声音样本的次数.采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多.由 ...

  4. python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法

    这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...

  5. python获取的html转换为json,python读取XML格式文件并转为json格式

    XML文件如下: 红楼梦书名> 曹雪芹作者> 描述贾宝玉和林黛玉的爱情故事主要内容> 人民文学出版社出版社> 图书> 一.python读取XML格式文件代码: impor ...

  6. nodejs json转对象_nodejs读取xlsx格式文件

    # nodejs读取xlsx格式文件 安装 npm i node-xlsx -D // 或者 yarn add node-xlsx -D 使用 读取表格数据,并生成json对象 /*** @auth ...

  7. python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法

    一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...

  8. VTK重建CT图像,写入和读取STL格式文件

    VTK重建CT图像(代码亲测无误) 1.读取数据 2.提取等值面 3.显示结果 一是要有输入源(jpegreader读入的数据) 二是要有相机(camera) 三是要有展示的窗口(window) #i ...

  9. 如何用.net c# 读取epub格式文件

    如何用.net(c#)读取epub格式文件 epub格式是印刷出版界常见的格式,本格式遵循XML原则把网页进行压缩打包. 如何用c#读取epub格式文件是个头疼的问题,本人搜遍各大网站,发现介绍都语焉 ...

最新文章

  1. BZOJ4238 : 电压
  2. php职能等级,php如何设置报错级别
  3. python编程语言一览_编程语言学习:python有趣用法汇总
  4. python3爬虫(9)分布式爬虫与对等分布式爬虫
  5. 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打
  6. H264实时编码及NALU,RTP传输(ZZ)
  7. Educational Codeforces Round 15 套题
  8. python 并发编程 socket 服务端 客户端 阻塞io行为
  9. Android超级好看的动态登陆界面(附有详细代码)
  10. 如何在csdn写博客
  11. 教你破资深加密工具lockdir.exe加密后的文件
  12. petalinux 建立工程两种方式
  13. 虚拟机ubantu如何扩展系统内存
  14. linux同步苹果照片,有用iPhone的吗?Linux下怎么管理iPhone里的照片?
  15. 激光电视的优缺点说明,激光电视与投影有什么区别
  16. mybaties学习笔记
  17. kirin710f是什么处理器_我告诉你kirin710f是什么处理器
  18. Domino管理中的一些小而有大用处的技巧
  19. 商业贷款买房的7个步骤
  20. iOS 作为蓝牙外设广播信息

热门文章

  1. uva 10158 - War(并查集)
  2. OpenLayers 3实践与原理探究3-ol3一个完整的例子
  3. ol3 结构图 仅限ol.source.Source
  4. 固态硬盘坏了怎么恢复数据恢复
  5. 一个中专生在华为面试的真实经历!
  6. 修复黯淡的夜拍照片!
  7. [MAUI 项目实战] 音乐播放器(一):概述与架构
  8. [ubuntu] 解决ubuntu中skype不能调用输入法的问题
  9. win 10 显示未识别网络的 一种解决办法
  10. 微信公众号01: ase实现access_token的存储和被动刷新