在高通量测序数据的处理中(例如,在重测序研究、组装结果的re-mapping校正中),我们经常会将测序reads与参考序列进行比对(常见的如BWA、Bowtie等工具),并将比对结果以bam文件存储(sam文件的二进制格式,极大节省了存储空间。对于bam/sam文件的简介说明,点击查看)。在linux系统下,通常我们可以很方便的使用samtools对参考序列以及bam文件进行处理。
虽然大多数情况下bam文件仅作为数据存储文件使用,但有时候我们还是很期望将bam文件中的内容可视化,例如查看测序reads在参考基因组序列中的对齐分布、覆盖程度等。可能这时候,常用的bam文件处理工具samtools就不太容易满足需求(尽管samtools也能实现这种可视化功能,但是可视化效果比较简陋,在终端界面下仅有简单的点和线构成)。对于其它的工具,我们也有很多可以选择,例如IGV、Tablet等,将参考序列fasta文件以及比对结果bam文件导入后即可将参考序列的碱基组成信息、测序reads在参考序列中的位置以及覆盖情况等可视化呈现。本文简介如何使用Tablet查看bam文件。
本文使用到的示例bam文件,以及参考基因组序列,可在以下链接获取。
https://pan.baidu.com/s/1yYQNxty5hBdcpoA8xkrQUg
其中,bam文件“Bacillus_subtilis.dup.bam”及其索引文件“Bacillus_subtilis.dup.bam.bai”(由samtools建立索引获得)可见“B-rmdup”;参考基因组序列“Bacillus_subtilis.str168.fasta”可见“0-refer”。
Tablet下载安装
其实一直很疑惑,Tablet这个软件很早就有了,而且用起来感觉还不错,就是不知为啥网上很少能搜到它的相关介绍。看看IGV,教程那么多……虽然IGV功能更多,但是Tablet作为一款好用的轻量级软件,应该使用率也很广才对。
多余的话就先不说了,Tablet官方网站:https://ics.hutton.ac.uk/tablet/
点击“download”即可进入下载界面,下载界面提供了3种平台的版本,根据需要选择对应的版本下载。Tablet源码可见https://github.com/cropgeeks/tablet。
作为一款优秀的高通量测序序列查看器,除了能够查看序列比对结果bam/sam文件外,Tablet还有很多功能。本文中不再细说其它功能,可见官网上其功能描述,或者点击原参考文献阅读,以及参阅帮助文档(http://tablet.hutton.ac.uk/en/latest/index.html)等,详细了解该软件的使用。
Tablet使用起来挺简单的,对于常规的功能(例如查看bam/sam文件等),无需参阅帮助文档也能够快速上手。在这里我下载了windows版的,并在下文简要展示其使用。
使用Tablet查看BAM文件
数据导入
bam文件在Tablet中的可视化需要用到索引文件bam.bai。使用samtools软件获得bam文件的索引文件bam.bai,以示例文件为例,在linux命令行下使用“samtools index Bacillus_subtilis.dup.bam”,即可得到“Bacillus_subtilis.dup.bam.bai”。
导入文件至Tablet时,必须保证“Bacillus_subtilis.dup.bam”与“Bacillus_subtilis.dup.bam.bai”在同一路径中才能够将bam文件成功导入。
fasta文件中的序列,必须和bam文件中的序列信息相互对应。
Tablet界面基本操作介绍
等待一小会儿后,数据成功导入。若fasta文件中存在多条序列,则在界面左侧会显示多条序列id,点击对应的序列id即可查看测序reads在参考序列上的分布情况。在主界面中,测序reads在该序列上的对齐位置、覆盖程度、碱基差异等信息清晰可见。
备注:右键“新标签打开图片”等操作可以查看大图。
默认情况下,测序reads以A、T、G、C等碱基类型着色。在界面上方点击“Colour Schemes”,可更改reads颜色展示方式。例如点击“Variants”后,reads序列中与参考序列一致的碱基将展示为灰色,不一致的展示为红色(变异碱基,或者测序错误导致等)。
在“Advanced”中,可更改界面风格、窗口展示等。例如,点击 “Coverage” 选项后,在序列整体reads覆盖情况窗口界面中,将会以渐变色的的样式来展示reads在参考序列中的覆盖深度情况(参见上文,之前的样式是以A、T、G、C四种颜色展示的,即“Scaled”选项)。
常用的过滤/查找/定位选项
以上是对Tablet主界面的基本简介,其实该软件上手挺简单的。在了解了它的基本情况后,我们来看一些常用的过滤/查找/定位选项,以帮助我们定位、查找想要得知的信息。
若想快速定位至参考序列的某一段区域,可在“Advanced”中点击“Subset”选择查看的区域。
若想将参考序列中某一段序列截取(复制)下来,需要在主界面的参考序列展示位置处右击,选择“Copy a subsequence to clipboard”后,在弹出的窗口中输入选定的序列区域,再点击“Copy”即可完成复制。此时可以任意打开一个文本编辑器(如记事本),ctrl+v粘贴即可。
若想查找某一条测序reads在参考序列中的对齐位置,在界面左方点击搜索框,选择搜索类型后输入reads的id即可。
在左侧窗口中点击“more”,可以查看参考序列的基本统计信息,包含fasta文件中序列的平均长度、最长/最短序列等。在多条参考序列的情况下,想过滤一些不必要的序列时,可以在这里操作。
其它信息
在主界面查看序列reads覆盖情况时,有时会看到这样的标记“[”、“]”等。
备注:当标记不为单一的“[”等组成,而是由一连串连续的标记组成时,需仔细查看参考序列的这段位置与测序reads之间是否存在着较大的差异。在重测序中,通常表明两个个体基因组中,在这段区域的序列组成具有明显的区别。若参考序列为使用相同的测序reads数据组装所得的序列时,则需要着重检查该区域是否出现了错误拼接。如下示例,参考序列为一段由测序reads组装所得的序列,将测序reads重新比对至组装结果中时,发现这段区域“] ”、“[”左右两侧的大多数reads几乎没有明显的overlap区,几乎全部被隔断在左右两侧。似乎这段序列在这个位置不应该被连在一起,更应该被打断为两段序列才更合适。这时需要仔细检查这段区域,是否存在少数reads能够跨越这个交点,有效支持左右的序列连接;或者这里确实出现了错误拼接,需要打断处理。
参考序列中出现了一段区域无测序reads覆盖的情况,如上文所说。若有充分理由相信这不是测序未覆盖到的情况时,则可以认为测序个体的基因组中在该区域发生了较大的片段缺失。
对于小的碱基变异,如SNP、InDel等,也可通过比对结果清晰看出。如下示例,判断SNP碱基以及测序错误的碱基。
备注:如果有SNP、InDel检测结果的vcf文件,则可以结合vcf文件中提供的变异位置信息,再通过Tablet查看比对结果,以更好地查看确认这些位置。
此外,有时在Tablet中还会看到这样的reads,展示的长度很短。实际上,可能并非由于reads本身测得短,而是由于该reads中只有一部分能比对至参考序列的这段区域,未比对上的部分由于太长就隐藏掉了。这种情形一般出现在重复序列中,如下所示(模糊的话,可右键“新标签页打开图片”查看大图)。
参考文献:Milne I , Stephen G , Bayer M , et al. Using Tablet for visual exploration of second-generation sequencing data. Briefings in Bioinformatics, 2013, 14(2):193-202.
-------------------------------------------------------------------------------------------I am a line !------------------------------------------------------------------------------------------------------------