您的位置:

samtools view:SAM/BAM格式文件的查看器

一、简介

samtools view是一款可以查看SAM(Sequence Alignment/Map)和BAM(Binary Alignment/Map)两种格式的文件的工具,可用于过滤、转换、排序、合并、索引等操作。SAM/BAM格式是存储测序数据的标准格式,可包含参考序列信息、测序序列信息、比对信息等,方便后续的生物信息学分析。

二、安装

samtools view是samtools中的一部分,因此需要先安装samtools。启动终端,输入以下命令:

sudo apt update
sudo apt install samtools

安装完成后,输入以下命令即可查看samtools版本号:

samtools --version

三、查看SAM/BAM文件

查看SAM/BAM文件的基本命令格式如下:

samtools view [options] <input.bam>

其中,options是可选参数,input.bam是待查看的文件名。

示例命令,查看样本A的比对信息:

samtools view SampleA.bam

默认情况下,输出信息包括每个比对的SAM格式信息。如果需要以BAM格式输出,可以使用-o选项:

samtools view -b SampleA.bam -o SampleA.bam.bg

若需要只查看某一特定染色体上的比对信息,则可以通过输入染色体名称的方式进行过滤:

samtools view SampleA.bam chr1

若需要进行区间提取,则需要输入区间的起始位置和终止位置,如chr1:1000-2000:

samtools view SampleA.bam chr1:1000-2000

四、质量过滤

查看某个样本的比对结果时,可能需要去除一些低质量的序列。samtools view提供了两种方式进行质量过滤,分别是基于MAPQ值和基于flag标志。

基于MAPQ值过滤:

samtools view -q 20 SampleA.bam

以上命令将只输出MAPQ值大于20的比对信息,MAPQ值代表比对的置信度,取值范围为0~255。默认情况下,所有比对的MAPQ值都是60,因此只有在有足够置信度的情况下才会输出比对结果。

基于flag标志过滤:

samtools view -F 0x4 SampleA.bam

以上命令将过滤掉flag标志为0x4的比对信息,0x4表示序列不能比对到参考序列上。

五、格式转换

samtools view提供了多种格式转换的方式,如SAM转BAM、BAM转SAM、SAM或BAM转CRAM、BAM转BED等。

SAM转BAM:

samtools view -b SampleA.sam -o SampleA.bam

BAM转SAM:

samtools view -h SampleA.bam -o SampleA.sam

SAM或BAM转CRAM:

samtools view -T ref.fa -C SampleA.bam -o SampleA.cram

BAM转BED:

bedtools bamtobed -i SampleA.bam > SampleA.bed

六、其他常用操作

1. 对BAM进行排序:

samtools sort SampleA.bam -o SampleA.sorted.bam

2. 对BAM进行索引:

samtools index SampleA.sorted.bam

3. 合并多个BAM文件:

samtools merge merged.bam SampleA.bam SampleB.bam SampleC.bam

4. 查看BAM文件中的参考序列信息:

samtools view -H SampleA.bam | grep '@SQ'

七、总结

samtools view是生物信息学中极为重要的SAM/BAM文件查看工具,不仅可以查看、转换、过滤、排序、合并、索引等操作,而且支持多种格式之间的相互转换,十分方便实用。