使用IMPUTE2進行基因型填充

  • 2019 年 12 月 19 日
  • 筆記

impute2是一款基因型填充軟體,和其他軟體相比,其填充的準確率最高,網址如下

https://mathgen.stats.ox.ac.uk/impute/impute_v2.html

提供了以下兩大功能

  1. haplotype phasing,單倍型分析
  2. 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官方推薦了一套基因型填充的最佳實踐,步驟如下

  1. 對檢測樣本的原始分型結果質控,使用GWAS分析的質控條件即可
  2. 校正基因組版本,hapmap和1000G都是基於hg19版本,必須保證和reference panel的基因組版本一致,才可以準確填充,如果不一致,可以使用UCSC的liftOver工具進行轉換
  3. 校正鏈的方向, hapmap和1000G的結果都是基於參考基因組的正鏈表示的,為了和reference panel進行匹配,必須將晶片的分型結果也統計校正到正鏈
  4. 選擇reference panel,1000G比hapmap的snp位點數量更多,密度更大,是目前最常用的reference panel, 其中又分成了不同的人群,對於某些研究,可以選擇更加契合自己的人群,比如選擇亞洲人群進行分析
  5. 基因型填充
  6. 填充後的質控,對填充後的分型結果進行過濾,同樣基於GWAS的質控條件
  7. 關聯分析,填充後的snp位點數量更多,有助於檢測陽性的訊號
  8. 顯著關聯區域的重新填充,對於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

更多細節參數請參考官方文檔。