一率寡、首先需要知道以下幾個(gè)知識(shí)點(diǎn):
詳細(xì)內(nèi)容請(qǐng)參考:http://samtools.github.io/hts-specs/SAMv1.pdf
1.1-based coordinate system?
A coordinate system where the rst base of a sequence is one. In this coordinate
system, a region is specied by a closed interval. For example, the region between the 3rd
and the 7th bases inclusive is [3; 7]. The SAM, VCF, GFF and Wiggle formats are using the 1-based coordinate system.
2.0-based coordinate system
A coordinate system where the rst base of a sequence is zero. In this
coordinate system, a region is specied by a half-closed-half-open interval. For example, the region
between the 3rd and the 7th bases inclusive is [2; 7). The BAM, BCFv2, BED, and PSL formats are using the 0-based coordinate system.
3.模板(Template):
由測(cè)序儀測(cè)序所得或由原始序列組裝所得的DNA/RNA序列
4.片段(Segment)
一段連續(xù)的序列或者子序列
5.Read
一段由測(cè)序儀測(cè)序所得的原始序列伍绳。一條Read可能由多個(gè)片段組成,在測(cè)序數(shù)據(jù)中,reads是根據(jù)它們被測(cè)的順序來(lái)建立索引的。
6.Linear alignment(線(xiàn)性比對(duì))
一個(gè)Read單向地比對(duì)到參考基因組上蝠引,這個(gè)比對(duì)結(jié)果中可以有插入、缺失蛀柴、跳躍等螃概,但是不能存在“雙向”的比對(duì)結(jié)果,即Read的一段比對(duì)到正鏈參考基因組鸽疾、一段匹配到負(fù)鏈吊洼,這種方向切換是不允許的,在SAM文件中制肮,線(xiàn)性比對(duì)的特性就是:只用一行來(lái)記錄冒窍。
7.Chimeric alignment(嵌合比對(duì))
就是當(dāng)一條Read對(duì)比時(shí),比對(duì)到了多個(gè)區(qū)域豺鼻,但是這些區(qū)域并沒(méi)有重疊的部分综液,也即由多個(gè)“線(xiàn)性比對(duì)”結(jié)果組成了一個(gè)集合,這個(gè)集合就組成了一個(gè)嵌合比對(duì)儒飒,嵌合比對(duì)中只有一個(gè)“線(xiàn)性比對(duì)”結(jié)果是具有代表性的谬莹,其余的都以補(bǔ)充的身份出現(xiàn),嵌合比對(duì)的特征就是多個(gè)“線(xiàn)性比對(duì)”記錄中的Read對(duì)應(yīng)的Qname(Read的名字桩了,每個(gè)Read只有一個(gè)Qname)都是相同的附帽,且這些“線(xiàn)性比對(duì)”集合中的每個(gè)記錄的flag值都是一樣的。
8.Read alignment(Read 比對(duì))
無(wú)論是上面提到的線(xiàn)性比對(duì)還是嵌合比對(duì)井誉,只要能夠完整的表現(xiàn)出一條Read的對(duì)比情況蕉扮,就是一個(gè)Read 比對(duì)。
9.Multiple mapping(多次比對(duì))
由于序列的重復(fù)性颗圣,導(dǎo)致一個(gè)Read在比對(duì)時(shí)會(huì)被比對(duì)到多個(gè)區(qū)域上喳钟,其中只有一個(gè)比對(duì)質(zhì)量最好的會(huì)被當(dāng)做比對(duì)結(jié)果的代表性結(jié)果,目前來(lái)看在岂,這種決定方式還不是很?chē)?yán)謹(jǐn)荚藻。
多次比對(duì)和嵌合比對(duì)是有根本性區(qū)別的,多次比對(duì)是因?yàn)樾蛄斜旧砭哂兄貜?fù)性引起的洁段,屬于正常比對(duì)結(jié)果,而嵌合比對(duì)更多是由于實(shí)驗(yàn)共郭、測(cè)序祠丝、結(jié)構(gòu)突變疾呻、融合、以及其他因素引起的写半。
10.Phred scale:
一個(gè)可能性區(qū)間岸蜗,如果一個(gè)堿基被檢測(cè)正確的正確率是99%,那么錯(cuò)誤的概率就是1%=0.01=10(^-2)叠蝇,此時(shí)phredscore=-10log10(0.01)=20璃岳,
二、SAM文件內(nèi)容解析
SAM文件由兩部分組成悔捶,頭部和主體铃慷,都以tab分列。
頭部?jī)?nèi)容主要以各種說(shuō)明為主蜕该,比如說(shuō)明所用軟件啦犁柜,參考基因組信息啦,排序信息啦等等堂淡,下面表格是SAM文件中涉及的一些專(zhuān)有名詞的解釋馋缅。
2.1頭部?jī)?nèi)容:
頭部?jī)?nèi)容說(shuō)明信息均是以@符合開(kāi)頭的,在頭部是以“@說(shuō)明類(lèi)型碼TAB鍵TAG:Value” 開(kāi)始的绢淀,每個(gè)標(biāo)簽和說(shuō)明類(lèi)型碼都是由兩個(gè)字母組成的萤悴,下面將列舉說(shuō)明類(lèi)型碼和TAG
2.1.1說(shuō)明類(lèi)型碼有HD、SQ皆的、RG覆履、PG、CO五種祭务;
2.1.1.1 HD(此文件的數(shù)據(jù)信息)
HD:代表意思為:SAM文件的開(kāi)頭標(biāo)志内狗、一般只要出現(xiàn)就會(huì)在第一行
HD中的標(biāo)簽(TAG)有:
VN*:注釋版本信息
SO:比對(duì)結(jié)果的排序類(lèi)型:有unknown、unsorted义锥、queryname柳沙、coordinate四種排序類(lèi)型
GO:比對(duì)結(jié)果的分組信息:相似的比對(duì)結(jié)果會(huì)被分到一組,這里的分組結(jié)果中并不是需要全部進(jìn)行過(guò)排序的拌倍,排序的類(lèi)型有:none (default)赂鲤、query (alignments are grouped by QNAME)、reference (alignments are grouped by RNAME/POS? 三種類(lèi)型
SS:子排序類(lèi)型柱恤,比如在某次算法中需要根據(jù)coordinate排序数初,而在每個(gè)coordinate排序的結(jié)果中又根據(jù)QNAME進(jìn)行了排序,則在SAM文件中就應(yīng)該表示為:@HD SO:coordinate SS:coordinate:queryname.如果在SO的基礎(chǔ)排序中梗顺,排序的類(lèi)型不在之前定義的四種排序類(lèi)型中時(shí)泡孩,則SO對(duì)應(yīng)的就應(yīng)該時(shí)unsorted,此時(shí)SS就會(huì)起主要作用寺谤,比如仑鸥,如果基礎(chǔ)排序是根據(jù)一個(gè)輔助標(biāo)簽MI排序的吮播,之后又根據(jù)coordinate排序的,則在SAM頭部中就應(yīng)該表現(xiàn)為@HD SO:unsorted SS:unsorted:MI:coordinate.
2.1.1.2?SQ(參考序列信息)
SQ:說(shuō)明類(lèi)型碼代表的含義為參考序列字典眼俊,SQ的排序決定了比對(duì)結(jié)果的排序順序
SQ中又以下標(biāo)簽:
1.SN*:參考序列名稱(chēng)
2.LN*:參考序列長(zhǎng)度
3.AH意狠、AN、AS疮胖、DS环戈、M5、SP(種族)澎灸、TP院塞、UR,這些不常用
例如:@SQ SN:JF-PLAC8_CT_converted LN:88
2.1.1.3?RG:樣本信息
Read Group击孩,每個(gè)Sample都有一個(gè)RG ID迫悠,一個(gè)Sample可以在多個(gè)庫(kù)中進(jìn)行測(cè)序。
RG對(duì)應(yīng)的有以下TAG:
ID*:Read group的唯一ID
BC:辨別樣本或文庫(kù)的標(biāo)簽序列
SM:樣品名
LB:文庫(kù)名
PU:測(cè)序儀
?PL:測(cè)序平臺(tái)
CN:產(chǎn)生read的測(cè)序中心的名稱(chēng)
2.1.1.4?PG (運(yùn)行程序信息)
?PG:程序 說(shuō)明類(lèi)型碼,PG中有以下幾個(gè)標(biāo)簽:
ID*:程序記錄標(biāo)識(shí)巩梢,每個(gè)程序記錄都只有一個(gè)ID
PN:程序名稱(chēng)
CL:命令行內(nèi)容(utf-8編碼)
PP:好像是指前一個(gè)?@PG-ID:不怎么用這個(gè)创泄,有了解的大哥大姐可以幫忙做個(gè)備注
DS:描述
VN:所用程序版本
2.1.1.5?CO (備注或評(píng)論信息)
以上就是五個(gè)說(shuō)明類(lèi)型碼代表的意思以及常用的標(biāo)簽意義。下面截圖作為例子括蝠,可以對(duì)照上面的內(nèi)容看一下:
2.2 主體內(nèi)容
SAM文件主體內(nèi)容中主要有11列內(nèi)容鞠抑,這11列中的內(nèi)容就如下表:
當(dāng)數(shù)據(jù)中這11列內(nèi)容哪個(gè)對(duì)應(yīng)內(nèi)容有缺失或者無(wú)效的話(huà)就用‘0' 或 `*'代替。
1.QNAME:Read ID忌警,就簡(jiǎn)單理解成Read的名稱(chēng)搁拙,其中會(huì)包含一些測(cè)序平臺(tái)信息
2.FALG:可以理解為比對(duì)結(jié)果的標(biāo)志,可以根據(jù)FLAG值篩選比對(duì)結(jié)果
FLAG的值代表含義如下表(本圖來(lái)自http://www.360doc.com/content/18/0329/12/28491187_741231514.shtml法绵,感謝作者箕速,如有侵權(quán)請(qǐng)聯(lián)系本人刪除)
FLAG值若記不住可以直接在<https://broadinstitute.github.io/picard/explain-flags.html>中進(jìn)行查詢(xún)。在SAM文件中出現(xiàn)的flag值是涉及到的value相加得到的值朋譬,比如99盐茎,177等,可以在上述網(wǎng)站查詢(xún)
3.RNAME:理解成比對(duì)上的染色體號(hào)即可
4.POS:比對(duì)到參考序列上的位置
5.MAPQ:比對(duì)質(zhì)量值徙赢,算法與文中第一部分Phred score算法一致:-10log10(錯(cuò)誤率)字柠,若值為255表示其比對(duì)結(jié)果不可用,如果是unmapped read則MAPQ為0
6.CIGAR(Compact Idiosyncratic Gapped Alignment Report)簡(jiǎn)要描述比對(duì)結(jié)果(來(lái)自http://www.360doc.com/content/18/0329/12/28491187_741231514.shtml狡赐,感謝作者窑业,如有侵權(quán)請(qǐng)聯(lián)系本人刪除)
簡(jiǎn)要比對(duì)信息表達(dá)式(Compact Idiosyncratic Gapped Alignment Report),其以參考序列為基礎(chǔ)枕屉,使用數(shù)字加字母表示比對(duì)結(jié)果常柄,比如3S6M1P1I4M,前三個(gè)堿基被剪切去除了,然后6個(gè)比對(duì)上了西潘,然后打開(kāi)了一 個(gè)缺口铜异,有一個(gè)堿基插入,最后是4個(gè)比對(duì)上了秸架,是按照順序的;
M”表示 match或 mismatch咆蒿;
“I”表示 insertion东抹;
“D”表示 deletion(表示的是READ和ref相匹配時(shí),參考基因組中需要deletion的部分沃测,不是READ)缭黔;
“N”表示 skipped(跳過(guò)這段區(qū)域);
“S”表示 soft clipping(被剪切的序列存在于序列中)蒂破;
“H”表示 hard clipping(被剪切的序列不存在于序列中馏谨,已經(jīng)在除去低質(zhì)量READ的時(shí)候被過(guò)濾了);
“P”表示 padding(填充)附迷;比如參考基因組序列本來(lái)為ATTACGAC惧互,read序列為ATAATACGAC,那么喇伯,如果在比對(duì)的sam結(jié)果文件中喊儡,有兩種比對(duì)方式,如下:
1.如果reference是padded reference稻据,也即參考基因組展示為AT**TACGAC艾猜,那么**就是代表了ref考慮了read序列的插入情況,但是這種表示情況下CIGAR中就不會(huì)再出現(xiàn)p和I(Insertion)了捻悯,因?yàn)閰⒖蓟蚪M中已經(jīng)考慮了插入的情況了匆赃。而如果有其他read跟這個(gè)padded ref比對(duì)時(shí),對(duì)于ref中pad的區(qū)域沒(méi)有序列的話(huà)今缚,就會(huì)以D(deletion)來(lái)表示這個(gè)read算柳。
2.另一種情況就是unpadded reference,也即reference是正常的參考基因組(可參考https://blog.csdn.net/xubo245/article/details/51283022)荚斯,一般情況下埠居,以這一種為主。
“=”表示 match事期;
“X”表示 mismatch(錯(cuò)配滥壕,位置是一一對(duì)應(yīng)的);
7.RNEXT:mate序列匹配上的染色體號(hào)(比如兽泣,Read2對(duì)應(yīng)的染色體號(hào))绎橘,如果第三列和這列都是“*”則說(shuō)明此Read沒(méi)有匹配到任何一個(gè)染色體,如果第三列有信息,這列是“”或者“=”則代表此Read匹配到第三列對(duì)應(yīng)的染色體上称鳞。
8.PNEXT:該列表示與該reads對(duì)應(yīng)的mate pair reads的比對(duì)位置涮较,如果這對(duì)pair-end reads比對(duì)到同一條reference序列上,在sam文件中reads的id出現(xiàn)2次冈止,Read1比對(duì)的第4列等于Read2比對(duì)的第8列狂票。同樣Read1比對(duì)的第8列等于Read2比對(duì)的第4列。例如:
第1列(Read id)····第4列(Read1比對(duì)位置)····第8列(mate-pair reads比對(duì)位置)
22699:1759····124057649····124057667
22699:1759····124057667····124057649
相同的reads id一個(gè)來(lái)自Read1文件熙暴,一個(gè)來(lái)自Read2文件闺属,第4列和第8列是對(duì)應(yīng)的
9.TLEN:signed observed Template LENgth (可以理解為文庫(kù)插入片段長(zhǎng)度)
如果R1端的read和R2端的read能夠mapping到同一條Reference序列上(即第三列RNAME相同),則該列的值表示第8列減去第4列加上第6列的值周霉,R1端和R2端相同id的reads其第九列值相同掂器,但該值為一正一負(fù),R1文件的reads和R2文件的reads俱箱,相同id的reads要相對(duì)來(lái)看国瓮。在進(jìn)行該第列值的計(jì)算時(shí),如果取第6列的數(shù)值狞谱,一定要取出現(xiàn)M的值乃摹,S或H的值不能取。
(8.9解釋來(lái)自:作者:genome_denovo芋簿,來(lái)源:CSDN峡懈,原文:https://blog.csdn.net/genome_denovo/article/details/78712972,感謝作者与斤,如有侵權(quán)請(qǐng)聯(lián)系本人刪除)
10.序列信息肪康,
11.Read質(zhì)量信息(ASCII編碼)
12.可選區(qū)域
舉幾個(gè)例子:NM,MD
NM可以簡(jiǎn)單的理解為:如果要把READ變?yōu)楦鷕eference一致需要幾步(一般步驟有三種類(lèi)型,堿基替換,刪除堿基最岗,添加堿基)
MD:簡(jiǎn)單的理解為匹配結(jié)果(跟第10列結(jié)合可以看出reference的原序列)静袖,下面舉個(gè)例子:
從上面的圖可以看出來(lái)這里的NM值為2,MD為3^A42T5,由MD可以知道這個(gè)read比對(duì)結(jié)果中前3個(gè)匹配上了,之后需要在read中插入一個(gè)A(也就是read相比ref少了一個(gè)A),再之后42個(gè)堿基是匹配上了善榛,到然后這42個(gè)之后的堿基在參考基因組上應(yīng)該是T,后面5個(gè)是匹配上了呻畸。這樣的話(huà)我們根據(jù)read的序列就能推斷出ref的序列為:CCGATAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCC移盆。
我們檢查一下推測(cè)的是否正確,來(lái)看hg19中這段序列:
可以發(fā)現(xiàn)除了開(kāi)頭四個(gè)堿基在hg19中是N以外伤为,其他的是匹配一致的(好像是因?yàn)橛袑?xiě)序列是在端粒中的咒循,所以呈現(xiàn)的序列信息就是N,也有些是因?yàn)檫€沒(méi)有測(cè)出來(lái),所以用N代替叙甸。)颖医、
這樣再來(lái)看的話(huà),就可以知道read相比ref有兩處不同裆蒸,一個(gè)是缺了個(gè)A熔萧,一個(gè)是堿基錯(cuò)配(T-A),所以如果read要和ref一致的話(huà)需要編輯兩次僚祷,一次是添加一個(gè)A哪痰,一次是把A變成T。
如果覺(jué)得有用久妆,就幫我點(diǎn)個(gè)贊吧^_^!