使用IMPUTE2進行基因型填充
- 2019 年 12 月 19 日
- 筆記
impute2是一款基因型填充軟體,和其他軟體相比,其填充的準確率最高,網址如下
https://mathgen.stats.ox.ac.uk/impute/impute_v2.html
提供了以下兩大功能
- haplotype phasing,單倍型分析
- genotype imputation,基因型填充
基因型填充的基本模型示意如下
需要兩個基本元素,第一個是檢測樣本的分型結果,即圖中所示的study genotypes, 第二個元素稱之為reference panel, 對應圖中的reference haplotypes, 利用高密度的reference panel對檢驗樣本為覆蓋到的SNP位點,或者缺失的分型結果進行填充,對應圖中問號表示的位點。
該軟體的安裝比較簡單,官網提供了編譯好的可執行文件,下載解壓縮即可
對應的程式碼如下
wget https://mathgen.stats.ox.ac.uk/impute/impute_v2.3.2_x86_64_static.tgz tar xzvf impute_v2.3.2_x86_64_static.tgz
除了軟體外,還需要reference panel,官網也提供了對應的下載文件,包括hapmap和1000G兩個常用的reference panel,鏈接如下
https://mathgen.stats.ox.ac.uk/impute/impute_v2.html#download
impute2官方推薦了一套基因型填充的最佳實踐,步驟如下
- 對檢測樣本的原始分型結果質控,使用GWAS分析的質控條件即可
- 校正基因組版本,hapmap和1000G都是基於hg19版本,必須保證和reference panel的基因組版本一致,才可以準確填充,如果不一致,可以使用UCSC的liftOver工具進行轉換
- 校正鏈的方向, hapmap和1000G的結果都是基於參考基因組的正鏈表示的,為了和reference panel進行匹配,必須將晶片的分型結果也統計校正到正鏈
- 選擇reference panel,1000G比hapmap的snp位點數量更多,密度更大,是目前最常用的reference panel, 其中又分成了不同的人群,對於某些研究,可以選擇更加契合自己的人群,比如選擇亞洲人群進行分析
- 基因型填充
- 填充後的質控,對填充後的分型結果進行過濾,同樣基於GWAS的質控條件
- 關聯分析,填充後的snp位點數量更多,有助於檢測陽性的訊號
- 顯著關聯區域的重新填充,對於GWAS篩選出來的陽性區域,可以使用更加嚴格的參數重新填充,再進行關聯分析,確保分析的可靠性
impute2提供了以下兩種用法
1. one step
填充準確率最高的方法,基本用法如下
impute2 -m ./Example/example.chr22.map -h ./Example/example.chr22.1kG.haps -l ./Example/example.chr22.1kG.legend -g ./Example/example.chr22.study.gens -strand_g ./Example/example.chr22.study.strand -int 20.4e6 20.5e6 -Ne 20000 -o ./Example/example.chr22.one.phased.impute2
基因型填充計算量非常大,所以需要先拆分染色體,對每條染色體進行填充。上述是官方自帶的一個例子,對22號染色體進行填充,-m
參數指定連鎖圖譜,-h
和-l
參數指定reference panel的單倍型結果,對應後綴為haps和legend,-g
參數指定study樣本的分型結果,格式為GEN, -strand_g
參數指定snp位點的正負鏈資訊,用於校正鏈的方向,-int
參數指定需要填充的染色體區域,包含了起始和終止兩個位置的值,對應的長須推薦小於5Mb, -Ne
參數官方推薦取值為20000,-o
參數指定輸出的填充結果。
2. two step
增加了對study樣本的pre-phasing, 運行速度更快,pre-phasing基本用法如下
impute2 -prephase_g -m ./Example/example.chr22.map -g ./Example/example.chr22.study.gens -int 20.4e6 20.5e6 -Ne 20000 -o ./Example/example.chr22.prephasing.impute2
-prephase_g
參數表示對study樣本進行pre-phasing, -m
參數可以提高單倍型分析的準確性。
基於pre-phasing的結果進行填充的基本用法如下
./impute2 -use_prephased_g -m ./Example/example.chr22.map -h ./Example/example.chr22.1kG.haps -l ./Example/example.chr22.1kG.legend -known_haps_g ./Example/example.chr22.prephasing.impute2_haps -strand_g ./Example/example.chr22.study.strand -int 20.4e6 20.5e6 -Ne 20000 -o ./Example/example.chr22.one.phased.impute2 -phase
即使採用兩步法,基因型填充仍然是一個運行時間很長的步驟,在實際操作中,可以同時結合染色體拆分和染色體劃分窗口兩種方式,再加上並行來提升運行效率。
官方提供了更多的用法示例,鏈接如下
https://mathgen.stats.ox.ac.uk/impute/impute_v2.html#examples
更多細節參數請參考官方文檔。