一、簡介
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]
其中,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文件查看工具,不僅可以查看、轉換、過濾、排序、合併、索引等操作,而且支持多種格式之間的相互轉換,十分方便實用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/285189.html