生信課程筆記10-變異的識別

宅在家兩個多月戒祠,不知不覺已經是春天了骇两,也許距離返校的日子更近了吧...

自己拍的


變異和突變

變異,指的是實際測序數據與國際規(guī)定的參考基因組之間的區(qū)別姜盈。很多變異其實只是造成人類多樣性的原因低千。突變,指的是那些與疾病相關的變異馏颂。
舉個例子:ENSEMBL等規(guī)定的人類參考基因組文件某位置是AAAAA示血,然后一個人實際測序得到的序列為AGCAA,那么相比于參考基因組救拉,這個人就有2個變異位點矾芙。對于第2個位置,如果查看所有已知的測序近上,絕大部分人都是G,說明是參考基因組出現了問題拂铡,這個變異就不能稱作突變壹无。對于第3個位置,如果查看所有已知的測序感帅,絕大部分人都是A斗锭,而恰好有一個人不是A,但他是個患者失球,那么這個變異就是突變了岖是。

變異的類型

SNP(single nucleotide polymorphism):單核苷酸多態(tài)性。個體間基因組DNA序列同一位置單個核苷酸變異(替換实苞、插入或缺失)所引起的多態(tài)性豺撑。在人類基因組中SNP分布普遍并且密度較大,總數超過107黔牵, 平均每300bp(也有說1kbp)就有一個SNP聪轿。或稱單核苷酸位點變異SNV猾浦。
INDEL(insertion-deletion):插入和缺失陆错。基因組上小片段(>50bp)的插入或缺失。
CNV(copy number variation):基因組拷貝數變異金赦。基因組中大片段的DNA形成非正常的拷貝數量音瓷。比如一個基因在染色體的一條染色單體上的數目為1,但是在染色體復制過程中夹抗,復制結束后該基因在染色單體數目由1變成了2或者n绳慎。它發(fā)生的頻率遠遠高于染色體結構變異,并且整個基因組中覆蓋的核苷酸總數大大超過SNP的總數。
SV(structure variation):結構變異偷线。染色體大片段的插入與缺失磨确,染色體內部的某區(qū)域發(fā)生翻轉顛換,兩條染色體之間發(fā)生重組声邦。

圖片來源于網絡

SNP

一般情況下只分析SNP乏奥,其它類型的變異分析有難度或不準確。
來自兩個不同個體的DNA片段AAGCCTA和AAGCTTA為等位基因亥曹。幾乎所有常見的SNP位點只有兩個等位基因邓了。
在人體中,SNP的發(fā)生機率大約是0.1%媳瞪,也就是每1000個堿基對就可能有一個SNP(密度高)骗炉。對疾病發(fā)生和藥物治療有重大影響的SNP,估計只占數以百萬計SNP的很小一部分蛇受。
SNP位點的分布是不均勻的句葵,在非轉錄序列比在轉錄序列更常見。編碼區(qū)的單核苷酸多態(tài)性——編碼 SNP(coding SNP兢仰,cSNP)也有同義和非同義兩種類型乍丈,非同義SNP會改變蛋白質的氨基酸序列“呀基因非編碼區(qū)轻专、基因間隔區(qū)的SNP仍然可能影響轉錄因子結合、剪接等過程察蹲。
從演化的觀點來看请垛,SNP具有相當程度的穩(wěn)定性,即使經過代代相傳洽议,SNP所引起的改變卻不大宗收,因此可用以研究族群演化。

基于測序數據檢測SNP的方法

圖片來源于網絡

基于測序數據檢測結構變異SV的方法

圖片來源于網絡

以HISAT2+Samtools+bcftools為例亚兄,識別變異的流程

HISAT2

HISAT2 是一款利用改進的BWT算法進行序列比對的軟件镜雨。由約翰霍普金斯大學計算生物學中心(CCB at JHU)開發(fā),是TopHat的升級版本儿捧,速度提高了50倍荚坞。利用 HISAT2 + StringTie 流程,可以快速地分析轉錄組測序數據菲盾,獲得每個基因和轉錄本的表達量颓影。

首先需要構建參考基因組索引用于下一步的比對。HISAT2提供了兩個腳本用于從基因組注釋GTF文件中提取剪接位點和外顯子位置懒鉴,基于這些特征诡挂,可以使 RNA-Seq reads 比對更加準確碎浇。然后再進行reads mapping。

#(1)下載參考基因組和注釋文件
# 例如:dmel.genome.fa.gz和dmel.annotation.gtf.gz
wget  dmel.genome.fa.gz
gzip  -d  dmel.genome.fa.gz  #或gunzip  dmel.genome.fa.gz
#(2)提取外顯子和剪接位點
extract_splice_sites.py  dmel.annotation.gtf  >  dmel.ss
extract_exons.py  dmel.annotation.gtf  >  dmel.exon
extract_snps.py  snp142Common.txt  >  genome.snp
#(3)構建參考基因組索引
hisat2-build  --ss  dmel.ss  --exon  dmel.exon  (--snp  genome.snp)  dmel.genome.fa  dmel
# 得到8個索引文件璃俗,以dmel為共同的前綴奴璃,dmel.1~8.ht2
#(4)也可以下載現成的index
wget  bdgp6.tar.gz
tar  -zxvf  bdgp6.tar.gz
#(5)reads mapping
hisat2  -p  8  (--dta)  -x  dmel  -1  sample_1.fq.gz  -2  sample_2.fq.gz  -S  sample.sam  (&)
# hisat2  [options]*  -x <ht2-idx>  {-1 <m1>  -2 <m2> | -U <r> | --sra-acc <SRA accession number>}  [-S <sam>]
# -p  線程數
# -t  記錄時間
# --dta   輸出專門為轉錄本組裝的比對結果(如果比對結果后續(xù)需要使用StringTie進行轉錄本組裝,則需要加入--dta選項)
# -x  指定基因組索引的文件前綴
# -S  指定輸出的SAM文件城豁。默認輸出到標準輸出苟穆,比對結束后統(tǒng)計結果輸出到標準錯誤輸出。
# -f  表示輸入文件格式為fasta(默認)唱星,-q表示輸入文件格式為fastq雳旅。可以是gzip壓縮的文件间聊。
# -phred33  輸入的FASTQ文件堿基質量值編碼標準為phred33(默認)攒盈。

比對結果:


比對輸出內容.PNG

Samtools

SAM(sequence Alignment/mapping)數據格式是目前高通量測序中存放比對數據的標準格式。BAM是SAM的二進制格式哎榴。使用samtools將sam文件轉化為bam文件型豁,并進行排序。

#(1)將sam文件轉化為bam文件
samtools view  -bS  sample.sam  >  sample_unsorted.bam
# -b:輸出為bam格式
# -S:出入為sam格式
#(2)將bam文件進行排序
samtools sort  -@  8  sample_unsorted.bam  -o  sample.sorted.bam
# -o:輸出文件的名字
# -@:線程數
#默認按照染色體位置進行排序尚蝌,-n是根據read名進行排序偷遗,-t 根據TAG進行排序。
#(3)版本1.4后可直接簡化
samtools sort  -@  8  -o  sample.sorted.bam  sample.sam
#(4)索引
samtools index  sample.sorted.bam
#得到sample.sorted.bam.bai索引文件

SAM文件:


SAM文件.PNG

bcftools

vcf格式(Variant Call Format)是存儲變異位點的標準格式驼壶,用于記錄variants(SNP / InDel)。BCF是VCF的二進制文件喉酌。

#(1)SNP calling
# mpileup命令:得到染色體上每個堿基的比對情況的匯總
bcftools mpileup  -Ob  -o  sample.bcf  -f  dmel.genome.fa  sample.sorted.bam
# 輸入BAM文件sorted.bam
# -f  --fasta-ref  指定參考序列的fasta文件
# -O  指定輸出文件的類型热凹,壓縮的BCF(b),未壓縮的BCF(u)泪电,壓縮的VCF(z)般妙,未壓縮的VCF(v) 
# -o  指定輸出文件的名字sample.bcf
# call命令:執(zhí)行SNP calling 
bcftools call  -vmO  z  -o  sample.vcf.gz  sample.bcf
# -v  只輸出變異位點的信息,如果一個位點不是snp/indel則不會輸出
# 兩種calling算法:-c參數對應consensus-caller算法相速,-m參數對應multiallelic-caller算法碟渺,后者更適合多種allel和罕見變異的calling
#(2)tabix
tabix  -p  vcf  sample.vcf.gz
# 輸入為壓縮文件vcf.gz,生成的索引文件為sample.vcf.gz.tbi
#(3)index對vcf文件建立索引
bgzip  view.vcf  #輸入的VCF文件必須是bgzip壓縮后的文件
gunzip  view.vcf.gz  #解壓縮
bcftools index  view.vcf.gz  #生成索引文件view.vcf.gz.csi
bcftools index  -t  view.vcf.gz  #生成索引文件view.vcf.gz.tbi
#(4)query通過表達式來指定輸出格式
bcftools query  -f  '%CHROM\t%POS\t%REF\t%ALT[\t%SAMPLE=%GT]\n'  view.vcf.gz
# -f  通過一個表達式來指定輸出格式
# %CHROM  代表VCF文件中染色體那一列突诬,其他的列POS, ID, REF, ALT, QUAL, FILTER也是類似的寫法
# []  對于FORMAT字段的信息用中括號括起來
# %SAMPLE  代表樣本名稱
# %GT  代表FORMAT字段中genotype的信息
# \t  代表制表符分隔
# \n  代表新的一行
#(5)sort按照染色體位置進行排序
bcftools sort  view.vcf.gz  -o  sort.view.vcf
#(6)filter過濾不可靠位點
bcftools filter  -O  z  -o  sample_filtered.vcf.gz  -s  LOWQUAL -i'%QUAL>10'  sample.vcf.gz
# -O  --output-type 輸出的格式苫拍,z和v都行,壓縮的VCF(z)旺隙,未壓縮的VCF(v)
# -o  --output 輸出文件的名稱
# -s  --soft-filter 將過濾掉的位點用字符串注釋
#(7)view命令用于VCF和BCF格式的轉換
bcftools view  view.vcf.gz  -O  u  -o  view.bcf  
bcftools view  view.vcf.gz  -s  NA00001,NA00002  -o  subset.vcf 
bcftools view  view.vcf.gz  -k  -o  known.vcf 
# -O  指定輸出文件的類型绒极,壓縮的BCF(b),未壓縮的BCF(u)蔬捷,壓縮的VCF(z)垄提,未壓縮的VCF(v) 
# -o  指定輸出文件的名字
# -s  想要保留的樣本信息榔袋,多個樣本用逗號分隔;如果樣本名稱添加了^前綴铡俐,代表去除這些樣本凰兑,比如-s ^NA00001,NA00002
# -k  表示篩選已知的突變位點,即ID那一列值不是.的突變位點
#(8)stats命令用于統(tǒng)計VCF文件的基本信息
bcftools stats  view.vcf  >  view.stats
bcftools stats  -F  dmel.genome.fa  -s  -  sample.vcf.gz  >  sample.vcf.gz.stats 
# -F  --fasta-ref  faidx indexed reference sequence(參考基因組) file to determine INDEL context
# -s  list of samples for sample stats, "-" to include all samples 統(tǒng)計的樣本列表审丘,-代表所有樣本
#(9)plot-vcfstats命令進行可視化
plot-vcfstats  sample.vcf.gz.stats  -p  plots/sample.vcf.gz.stats
# -p  指定輸出結果的目錄
#(這個腳本位于bcftools安裝目錄的misc目錄下吏够,依賴latex 生成pdf 文件。這里需要matplotlib)

stats統(tǒng)計文件:


stats結果.PNG
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末备恤,一起剝皮案震驚了整個濱河市稿饰,隨后出現的幾起案子,更是在濱河造成了極大的恐慌露泊,老刑警劉巖喉镰,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異惭笑,居然都是意外死亡侣姆,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門沉噩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捺宗,“玉大人,你說我怎么就攤上這事川蒙⊙晾鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵畜眨,是天一觀的道長昼牛。 經常有香客問我,道長康聂,這世上最難降的妖魔是什么贰健? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮恬汁,結果婚禮上伶椿,老公的妹妹穿的比我還像新娘。我一直安慰自己氓侧,他們只是感情好脊另,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著约巷,像睡著了一般尝蠕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上载庭,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天看彼,我揣著相機與錄音廊佩,去河邊找鬼。 笑死靖榕,一個胖子當著我的面吹牛标锄,可吹牛的內容都是我干的。 我是一名探鬼主播茁计,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼料皇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了星压?” 一聲冷哼從身側響起践剂,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娜膘,沒想到半個月后逊脯,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡竣贪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年军洼,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片演怎。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡匕争,死狀恐怖,靈堂內的尸體忽然破棺而出爷耀,到底是詐尸還是另有隱情甘桑,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布歹叮,位于F島的核電站跑杭,受9級特大地震影響,放射性物質發(fā)生泄漏盗胀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一锄贼、第九天 我趴在偏房一處隱蔽的房頂上張望票灰。 院中可真熱鬧,春花似錦宅荤、人聲如沸屑迂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惹盼。三九已至,卻和暖如春惫确,著一層夾襖步出監(jiān)牢的瞬間手报,已是汗流浹背蚯舱。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掩蛤,地道東北人枉昏。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像揍鸟,于是被迫代替她去往敵國和親兄裂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內容