Biostar_handbook||charpter 14. SAM格式及SAMTOOLS操作

Charpter_14 Sequence Alignment Maps(SAM)

SAM文件是由Tab(\t)分割,面向‘行’的文本格式文件惕橙,主要包括兩部分:

  • Header部分,包括@HD,@SQ,@PG等開(kāi)頭的基本信息滨彻。
  • Alignment部分觅丰,包括reads比對(duì)的所有信息。

sam是最常見(jiàn)的存放mapping數(shù)據(jù)的格式赫冬,各種組學(xué)分析只要存在mapping的步驟都會(huì)產(chǎn)生SAM格式文件用于后續(xù)進(jìn)一步的下游分析浓镜。

比對(duì)+samtools sort一個(gè)快速示例

REF=ebola.fa
R1=SRR1972739_1.fq
R2=SRR1972739_2.fq

### bwa mem $REF $R1 $R2 > bwa.sam

### bowtie 比對(duì)輸出直接sort排序產(chǎn)生bam文件
bowtie2 -x $REF -1 $R1 -2 $R2 |samtools sort -@ 10 >bowtie2_output.sorted.bam

SAM header

header部分由@起始,包括有:

  • HD:表示排序情況劲厌,unsorted或者已經(jīng)按coordinate/names排過(guò)序
  • SQ:比對(duì)的參考序列的染色體信息膛薛,姓名/多長(zhǎng)。
  • PG:運(yùn)行命令的具體參數(shù)信息补鼻。
  • RG:每個(gè)read所在的group的信息哄啄。通常包含測(cè)序平臺(tái)/測(cè)序文庫(kù)/樣本的ID等信息(header里最為重要的一個(gè)信息).ID(Read group identifier), LB(library), SM(Sample)

@RG信息:如果原來(lái)樣本的測(cè)序深度比較深,一般會(huì)按照不同的lane分開(kāi)比對(duì)风范,最后再合并到一起咨跌。那么這個(gè)時(shí)候會(huì)有多個(gè)RG,里面記錄了不同的lane硼婿,甚至測(cè)序文庫(kù)的信息锌半,唯一不變的是SM的sample信息,這樣合并后才能正確處理寇漫。

比對(duì)信息(Alignment部分)

image

image

Column 1. QNAME(query name):fastq文件里的read ID

Column 2. FLAG信息

  • 記錄了許多有關(guān)read比對(duì)情況的信息刊殉,轉(zhuǎn)換成二進(jìn)制碼后發(fā)現(xiàn)其包括12位,十進(jìn)制取值范圍就是0~2048州胳,2的12次方记焊。
FLAG 二進(jìn)制 具體含義
1 000000000001 代表是PE雙端測(cè)序,0代表SE單端測(cè)序
2 000000000010 代表read和參考序列完全匹配栓撞。如果是PE測(cè)序還代表沒(méi)有插入確實(shí)
4 000000000100 該read未比對(duì)到參考序列上
8 000000001000 PE測(cè)序的另一端R2未比對(duì)到參考序列上
16 000000010000 反向互補(bǔ)后比對(duì)到參考序列上遍膜,read比對(duì)到了反向互補(bǔ)鏈上
32 000000100000 PE測(cè)序的另一條reads(R2)比對(duì)到了反向互補(bǔ)鏈上
64 000001000000 PE測(cè)序read1
128 000010000000 PE 測(cè)序的read2
256 000100000000 代表二次比對(duì),該read在基因組上比對(duì)了多個(gè)位置腐缤,只有一個(gè)是首要比對(duì)位置捌归,其它都是次要的,該位置是次要的岭粤,通常要過(guò)濾掉惜索,但有些場(chǎng)景中是有用的信息
512 001000000000 代表此序列低于測(cè)序平臺(tái)過(guò)濾閾值,QC失敗無(wú)法過(guò)濾(不常用)
1024 010000000000 PCR重復(fù)序列或光學(xué)重復(fù)剃浇,可被Picard標(biāo)記過(guò)濾掉(來(lái)自測(cè)序文庫(kù)構(gòu)建過(guò)程)
2048 100000000000 該read可能存在嵌合巾兆,這個(gè)比對(duì)的部分只是來(lái)自其中的一部分序列(supplement alignment)
  • 對(duì)于未知的FLAG,可以samtools flags 141
  • 對(duì)于FLAG=77時(shí)虎囚,需要轉(zhuǎn)換為二進(jìn)制序列:77=000001001101=1+4+8+64即表示:PE read角塑,比對(duì)不上參考序列,另一端也未比對(duì)上參考序列淘讥,它是PE測(cè)序read1
  • 常見(jiàn)的FLAGS:
    • 其中一條reads沒(méi)有map上: 73, 133, 89 121, 165, 181, 101, 117, 153, 185, 59, 137
    • 兩條reads都未map上:77圃伶,141
    • 比對(duì)上了,方向也對(duì),也在插入大小(insert size)內(nèi): 99, 147, 83, 163
    • 比對(duì)上了窒朋,也在插入大小(insert size)內(nèi)搀罢, 但是反向不對(duì):67, 131, 115, 179
    • 單一配對(duì),就是插入大小(insert size)不對(duì): 81, 161, 97, 145, 65, 129, 113, 177

Column 3/4. RNAME(reference name)/POS(position)

  • RNAME:表示參考序列的名字
  • POS:比對(duì)上的坐標(biāo)位置侥猩,注意不管是正向還是反向榔至,只記錄比對(duì)上的最左邊的坐標(biāo)位置,坐標(biāo)是以1為起始

Column 5/6. MAPQ(mapping quality)和CIGAR(compact idiosyncratic gapped alignment representation)

  • MAPQ: 比對(duì)質(zhì)量值欺劳,比對(duì)到參考序列上此位置的可靠程度唧取,轉(zhuǎn)化為-10logP。40/10=4 ——> 10^-4=1/10000划提,即比錯(cuò)的概率小于0.0001枫弟。
  • CIGAR:reads比對(duì)到參考序列的具體細(xì)節(jié)情況:
    • M:(完全匹配或SNP單堿基錯(cuò)配)
    • I:序列插入,包含潛在的insertion變異
    • D:序列刪除鹏往,包含潛在的deletion變異
    • S:軟跳過(guò),跳過(guò)reads中部分序列媒区,不改變r(jià)ead長(zhǎng)度
    • H:硬跳過(guò),切到reads中部分序列
    • N:跳過(guò)參考序列(常見(jiàn)于RNA-SEQ)

Column 7/8/9 RNEXT, PNEXT, TLEN(僅PE的數(shù)據(jù)才有)

  • RNEXT:PE測(cè)序的配對(duì)read所比對(duì)到的染色體掸犬,=代表兩個(gè)比對(duì)到相同的染色體
  • PNEXT:配對(duì)的read所比對(duì)到的位置。
  • TLEN: 插入片段的長(zhǎng)度绪爸,可根據(jù)POS和CIGAR信息得出

Column 10/11 SEQ 和 QUAL:query的序列以及fastq序列所對(duì)應(yīng)的質(zhì)量值

Column 12 and on

此列開(kāi)始湾碎,不同測(cè)比對(duì)軟件產(chǎn)出的數(shù)據(jù)會(huì)產(chǎn)生一定的差異〉旎酰基本格式為TAG:TYPE:VALUE


SAM/BAM file Manipulation

  • Select or Filter data from BAM files
### 查看特定的FLAG值
samtools flags 4 ### 0x4 unmap

### 查看所有含有4的比對(duì), -c 計(jì)數(shù)
samtools view -f 4 bwa.bam
samtools view -f 4 -c bwa.bam

### 過(guò)濾所有含有4的比對(duì)介褥,反向匹配
samtools view -F 4 bwa.bam

### -f -F參數(shù)的輸出到新文件
samtools view -b -F 4 bwa.bam > bwa.aligned.bam
samtools index bwa.aligned.bam

  • BAMw文件概況統(tǒng)計(jì)
samtools flagstat bwa.bam
samtools idxstats bwa.bam
bamtools stats -in bwa.bam

### 獲取最佳比對(duì)的序列
samtools flags 2308
# unmap, secondary, supplement

### 此為proper_pair的最佳結(jié)果,其對(duì)于多次比對(duì)的reads只保留一次递惋。
samtools view -f 2 -F 2308 bwa.bam

  • 對(duì)于flags信息的運(yùn)用
### 反鏈比對(duì)上的
samtools view -f 16 -c bwa.bam
# 6347

### 反鏈比對(duì)上的柔滔,且是非 未必對(duì)上的
samtools view -f 16 -F 4 -c bwa.bam

### 比對(duì)到正鏈上,且是非 未比對(duì)上的
samtools view -c -F 20 bwa.bam



  • 過(guò)濾低質(zhì)量比對(duì), 5列MAPQ
    • bwa比對(duì)的MAPQ值0代表未多次比對(duì)
    • q參數(shù)表示保留比對(duì)質(zhì)量值大于等于此q值
samtools view -c -q 1 bwa.bam

###比對(duì)質(zhì)量大于1萍虽,且比對(duì)到正鏈上
samtools view -q 1 -F 4 -F 16 -c bwa.bam

  • Secondary alignment 二次比對(duì):序列是多次比對(duì)睛廊,其中一個(gè)最好的比對(duì)為PRIMARY align,其余的都是二次比對(duì)杉编,F(xiàn)LAG值256
samtools flags SECONDARY
# 0x100 256

samtools view -c -F 4 -f 256 bwa.bam
# 0
  • 獲得PRIMARY or Representative 比對(duì)
    • only have one primary alignment and other secondary and supplemental alignments.
samtools flags SUPPLEMENT,SECONDARY
# 0x900 2304

samtools view -c -F 4 -F 2304 bwa.bam

處理分析 SAM files

  • 添加@RG分組信息
TAG='@RG\tID:xyz\tSM:Ebola\tLB:patient_100'

## 在比對(duì)過(guò)程中添加@RG信息tags
bwa mem -R $TAG $REF $R1 $R2 |samtools sort >bwa.bam
samtools index bwa.bam

### 改變分組@RG信息
NEWTAG='@RG\tID:abc\tSM:Ebola\tLB:patient_101'
samtools addreplacerg -m overwrite_all -r $NEWTAG bwa.bam -O BAM > newbam.bam


  • 合并BAM文件
## bwa 比對(duì)信息
BWA_TAG='@RG\tID:bwa\tSM:bwa\tLB:bwa'
samtools addreplacerg -m overwrite_all -r $BWA_TAG bwa.bam -O BAM > newbwa.bam

## bowtie2比對(duì)信息
BOWTIE_TAG='@RG\tID:bowtie\tSM:bowtie\tLB:bowtie'
samtools addreplacerg -m overwrite_all -r $BOWTIE_TAG bowtie.bam -O BAM > newbowtie.bam

## 合并成all_merge.bam
samtools merge all_merge.bam newbwa.bam newbowtie.bam 

### 去合并之后分組信息為bwa的bam,bowtie.  **參數(shù)-l **
samtools view -c -l bwa all_merge.bam
samtools view -c -l bowtie all_merge.bam

  • 指定比對(duì)到ref上的某一位置上查看信息
samtools view in.bam chr22:16050103-16050110

  • 快速查看比對(duì)情況
    • bam文件比較大超全,可以截取感興趣的區(qū)段成小的bam文件再查看
    • 直接samtools tview --reference hg38.fa in.bam
###截成小的bam文件
samtools view -h bwa.bam AF086833.2:1000-1100 |samtools view -Sb - >small.bam

### 直接tview 查看
samtools tview --reference ref/ebola.fa bwa.bam

參考文章:

  1. Biostar_handbook
  2. 解螺旋的礦工——從零開(kāi)始完整學(xué)習(xí)全基因組測(cè)序數(shù)據(jù)分析:第5節(jié) 理解并操作BAM文件
  3. 徐州更——SAM格式及其相關(guān)工具
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市邓馒,隨后出現(xiàn)的幾起案子嘶朱,更是在濱河造成了極大的恐慌,老刑警劉巖光酣,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疏遏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)财异,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門倘零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宝当,你說(shuō)我怎么就攤上這事视事。” “怎么了庆揩?”我有些...
    開(kāi)封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵俐东,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我订晌,道長(zhǎng)片吊,這世上最難降的妖魔是什么羡滑? 我笑而不...
    開(kāi)封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上强窖,老公的妹妹穿的比我還像新娘。我一直安慰自己夭问,他們只是感情好烛卧,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缝彬,像睡著了一般萌焰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谷浅,一...
    開(kāi)封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天扒俯,我揣著相機(jī)與錄音,去河邊找鬼一疯。 笑死撼玄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墩邀。 我是一名探鬼主播掌猛,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼眉睹!你這毒婦竟也來(lái)了留潦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辣往,失蹤者是張志新(化名)和其女友劉穎兔院,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體站削,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坊萝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片十偶。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡菩鲜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惦积,到底是詐尸還是另有隱情接校,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布狮崩,位于F島的核電站蛛勉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏睦柴。R本人自食惡果不足惜诽凌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望坦敌。 院中可真熱鬧侣诵,春花似錦、人聲如沸狱窘。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蘸炸。三九已至哑舒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幻馁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工越锈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仗嗦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓甘凭,卻偏偏與公主長(zhǎng)得像稀拐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丹弱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容