溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SAM和BAM文件是什么

發(fā)布時(shí)間:2022-02-23 10:42:03 來源:億速云 閱讀:228 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)SAM和BAM文件是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

當(dāng)我們測序得到的fastq數(shù)據(jù)map到基因組之后,會(huì)得到一個(gè)以sam或bam為擴(kuò)展名的文件。這里,SAM的全稱是sequence alignment/map format。而BAM就是SAM的二進(jìn)制文件,也就是壓縮格式的sam文件。 那么SAM文件的格式是什么樣子的呢?這里給大家簡單解釋一下。

SAM格式簡介

SAM文件由頭文件和map結(jié)果組成。頭文件為注釋信息,以@開頭,可有可無,就不做多介紹了。重要的是比對結(jié)果,例如這樣的:

E00514:173:H3C3JCCXY:4:1124:12398:67234    337 Chr00   32904   0   150M    Chr09   33498107    0   TCAATTTCACTTGAAGCTTACTTGTAGTTTCAGGCTTGGTCAAGCGCGATACAAACCATGTAGTAGGAGTCCTCCAAGTCGCCAAGCTAGGGGATCTGCTGAAAGAGGTGACAGACAAGGTAAGCAATCAGAGCTCTAAGCAATCAGTCC  iieiiiii`eiiiiiiiiiiiiiiieiiiiiiiieiiiiiiiiiiiiiiiiiiiiieiiiiiiiiiiiiieiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieiiiiiiiii`iiieeieieeieee``  AS:i:-6 XN:i:0  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:136C13 YT:Z:UU NH:i:8  CC:Z:Chr10  CP:i:18604313   HI:i:0  RG:Z:J36CK1
E00514:173:H3C3JCCXY:4:1124:12398:67234    369 Chr00   32904   0   150M    Chr16   2469225 0   TCAATTTCACTTGAAGCTTACTTGTAGTTTCAGGCTTGGTCAAGCGCGATACAAACCATGTAGTAGGAGTCCTCCAAGTCGCCAAGCTAGGGGATCTGCTGAAAGAGGTGACAGACAAGGTAAGCAATCAGAGCTCTAAGCAATCAGTCC  iieiiiii`eiiiiiiiiiiiiiiieiiiiiiiieiiiiiiiiiiiiiiiiiiiiieiiiiiiiiiiiiieiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieiiiiiiiii`iiieeieieeieee``  AS:i:-6 XN:i:0  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:136C13 YT:Z:UU NH:i:8  CC:Z:Chr10  CP:i:18604313   HI:i:2  RG:Z:J36CK1
E00514:173:H3C3JCCXY:4:1124:12398:67234    369 Chr00   32904   0   150M    Chr16   29515410    0   TCAATTTCACTTGAAGCTTACTTGTAGTTTCAGGCTTGGTCAAGCGCGATACAAACCATGTAGTAGGAGTCCTCCAAGTCGCCAAGCTAGGGGATCTGCTGAAAGAGGTGACAGACAAGGTAAGCAATCAGAGCTCTAAGCAATCAGTCC  iieiiiii`eiiiiiiiiiiiiiiieiiiiiiiieiiiiiiiiiiiiiiiiiiiiieiiiiiiiiiiiiieiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieiiiiiiiii`iiieeieieeieee``  AS:i:-6 XN:i:0  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:136C13 YT:Z:UU NH:i:8  CC:Z:Chr10  CP:i:18604313   HI:i:4  RG:Z:J36CK1
E00514:173:H3C3JCCXY:4:1124:12398:67234    369 Chr00   32904   0   150M    Chr17   31040767    0   TCAATTTCACTTGAAGCTTACTTGTAGTTTCAGGCTTGGTCAAGCGCGATACAAACCATGTAGTAGGAGTCCTCCAAGTCGCCAAGCTAGGGGATCTGCTGAAAGAGGTGACAGACAAGGTAAGCAATCAGAGCTCTAAGCAATCAGTCC  iieiiiii`eiiiiiiiiiiiiiiieiiiiiiiieiiiiiiiiiiiiiiiiiiiiieiiiiiiiiiiiiieiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieiiiiiiiii`iiieeieieeieee``  AS:i:-6 XN:i:0  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:136C13 YT:Z:UU NH:i:8  CC:Z:Chr10  CP:i:18604313   HI:i:6  RG:Z:J36CK1
E00514:173:H3C3JCCXY:4:1212:19025:24532    409 Chr00   33538   0   150M    *   0   0   GATTCCAAGTGCTGACTGATTGCTCTCTTTCTCCTTGTCTTGCAGGTAAGAACAAGGCCAAAGGAAAAGACAGGGAAAAAACATGAAATGAGATACTCTTGCTTTTAACCCTGATGATATGAGATATTCTTGCTCTAGTATAGCTTGTTT  ii`e`ei[iiiiiiiiiiiiie[ieeieieiiiiieiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieee``  AS:i:-12    XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:52T33T63   YT:Z:UU NH:i:20 CC:Z:Chr01  CP:i:11331871   HI:i:0  RG:Z:J36CK1

字段之間也就是列之間由Tab隔開,每一字段具體含義參考下圖:

SAM和BAM文件是什么

其中:

1. QNAME 表示reads名稱;

2. FLAG:表示比對的結(jié)果,由數(shù)字表示,不同的數(shù)值含義不同,其列表如下:

SAM和BAM文件是什么

中文解釋:

  1. 1 : 代表這個(gè)序列采用的是PE雙端測序
    2: 代表這個(gè)序列和參考序列完全匹配,沒有錯(cuò)配和插入缺失
    4: 代表這個(gè)序列沒有mapping到參考序列上
    8: 代表這個(gè)序列的另一端序列沒有比對到參考序列上,比如這條序列是R1,它對應(yīng)的R2端序列沒有比對到參考序列上
    16:代表這個(gè)序列比對到參考序列的負(fù)鏈上
    32 :代表這個(gè)序列對應(yīng)的另一端序列比對到參考序列的負(fù)鏈上
    64 : 代表這個(gè)序列是R1端序列, read1;
    128 : 代表這個(gè)序列是R2端序列,read2;
    256: 代表這個(gè)序列不是主要的比對,一條序列可能比對到參考序列的多個(gè)位置,只有一個(gè)是首要的比對位置,其他都是次要的
    512: 代表這個(gè)序列在QC時(shí)失敗了,被過濾不掉了(# 這個(gè)標(biāo)簽不常用)
    1024: 代表這個(gè)序列是PCR重復(fù)序列(#這個(gè)標(biāo)簽不常用)
    2048: 代表這個(gè)序列是補(bǔ)充的比對(#這個(gè)標(biāo)簽具體什么意思,沒搞清楚,但是不常用

比對結(jié)果數(shù)值也可以是上述數(shù)值的組合(即數(shù)值相加),如FLAG為83(64+16+2+1)表示paired-end reads中的第一個(gè)reads比對到參考序列上了;

3. RNAME:表示參考序列的名稱,如基因組的染色體編號(hào)等,如果沒有比對上則顯示為*;

4. POS:表示比對的起始位置,以1開始計(jì)數(shù),如果沒有比對上則顯示為0;

5. MAPQ:比對質(zhì)量;(數(shù)字越大,特異性越高)

6. CIGAR:字符串,即比對的詳細(xì)情況, 記錄插入,缺失,錯(cuò)配,后剪切拼接的接頭;

7. RNEXT:雙末端測序中下一個(gè)reads比對的參考系列的名稱,如果沒有則用 " * " 表示,如果和前一個(gè)reads比對到同一個(gè)參考序列則用" = "表示;

8. PNEXT:下一個(gè)reads比對到參考序列上的位置,如果沒有則用0表示;

9. TLEN:序列模板的長度;

10. SEQ:reads的序列信息;

11. QUAL:reads的序列質(zhì)量信息;

12. 可選字段:格式如:TAG:TYPE:VALUE,其中TAG有兩個(gè)大寫字母組成,每個(gè)TAG代表一類信息,每一行一個(gè)TAG只能出現(xiàn)一次,TYPE表示TAG對應(yīng)值的類型,可以是字符串、整數(shù)、字節(jié)、數(shù)組等。 

常用bam/sam文件處理

由于sam格式的文件通常都非常大,所以為了節(jié)省存儲(chǔ)空間而將sam轉(zhuǎn)換為二進(jìn)制格式以便于存儲(chǔ),也就是bam文件。 sam/bam文件可以由特定的一些軟件(比如samtools)來處理的,包括格式互轉(zhuǎn)、排序、建立索引等操作。

1. bam文件讀取

bam文件為二進(jìn)制的文件,不能直接查看,可用samtools讀?。?/p>

samtools view xxx.bam
samtools view xxx.bam |less -S

2. sam/bam轉(zhuǎn)換

samtools view -h xxx.bam > xxx.sam
samtools view -b -S xxx.sam > xxx.bam

3. 對bam文件排序

samtools sort xxx.bam outputPrefix

4. bam文件創(chuàng)建index

samtools index xxx.bam

5. 對mapping結(jié)果進(jìn)行評(píng)估

在mapping之后,可以通過samtools對mapping的結(jié)果的質(zhì)量進(jìn)行評(píng)估。

samtools idxstats xxx.bam

執(zhí)行這一步前需要經(jīng)過sort和index,結(jié)果如下:

 chr1 195471971 6112404 0
 chr10 130694993 3933316 0
 chr11 122082543 6550325 0
 chr12 120129022 3876527 0
 chr13 120421639 5511799 0
 chr14 124902244 3949332 0
 chr15 104043685 3872649 0

其中第一列是染色體名稱,第二列是序列長度,第三列是mapped reads數(shù),第四列是unmapped reads數(shù)。

6. 統(tǒng)計(jì)flag信息

統(tǒng)計(jì)bam文件中的比對flag信息,并輸出比對統(tǒng)計(jì)結(jié)果。

samtools flagstat xxx.bam

SAM和BAM文件是什么

total:分析的總reads數(shù)(bam文件所有行數(shù))
mapped:比對上的reads數(shù)(總體比對率)
paired in sequencing:成對的reads總數(shù)
read1:屬于reads1的reads數(shù)量
read2:屬于reads2的reads數(shù)量
properly paired:正確配對的reads數(shù)量
with itself and mate mapped:一對reads均比對上的reads數(shù)
singletons:只有單條reads比對上的reads數(shù)
以上計(jì)數(shù)均以reads條數(shù)計(jì),一對reads計(jì)為兩條。

還可以通過以下命令快速查看flag值所對應(yīng)的含義:

$samtools flags 141
0x8d    141     PAIRED,UNMAP,MUNMAP,READ2
#flags值為141
#PAIRED表示這條序列采用雙端測序, 其值為1;
#UNMAP表示這個(gè)序列沒有mapping到參考序列上, 其值為4;
#MUNMAP表示這個(gè)序列的另一端序列沒有比對到參考序列上, 其值為8;
#READ1表示這條序列是R1端序列,其值為128.
#以上數(shù)值相加和為141

7. 合并BAM文件

將多個(gè)排序后的序列文件合并為一個(gè)文件

samtools merge -n out.bam in1.bam in2.bam in3.bam…

關(guān)于“SAM和BAM文件是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI