基因型填充(Genotype-Imputation):從原理到操作

移步 github 實現目錄跳轉,獲得更好的閱讀體驗

目錄

    1. 基因型填充
    • 1.1. 問題描述
    • 1.2. 技術來源的基因型缺失
    • 1.3. 缺失的判斷:缺失率
    • 1.4. 基因型缺失的影響
    • 1.5. 基因型填充的原理
    • 1.6. 實現工具
    1. 實操:用IMPUTE2實現基因型填充
    • 2.1. 兩種應用場景
    • 2.2. Best Practices
    • 2.3. 1000 Genomes Imputation Cookbook
      • 2.3.1. Before Imputation
      • 2.3.2. Pre-Phasing
        • 2.3.2.1. using IMPUTE2
        • 2.3.2.2. using SHAPEIT (recommended)
      • 2.3.3. Imputation

1. 基因型填充

1.1. 問題描述

基因型缺失:樣本中沒有被測序數據覆蓋到的區域,基因型就屬于未知的,我們將之稱為缺失位點

基因型數據的缺失又分為遺傳性缺失檢測性缺失

  • 遺傳性缺失:個體遺傳信息的變異(例如,這個位點DNA片段真實缺失)導致的基因型缺失

  • 檢測性缺失:由于檢測技術的局限、錯誤等導致的信息丟失。各類基因型檢測技術都會產生檢測性的基因型缺失。

1.2. 技術來源的基因型缺失

  1. 全基因組重測序技術

    全基因組重測序理論上應該覆蓋整個基因組,因此未覆蓋的區域都可以被定義為缺失。那么群體研究中的低深度測序(一般平均深度低于10X),不可避免會產生大量隨機缺失。

  2. 簡化基因組測序

    簡化基因組測序是通過酶切,并富集限制性內切酶周邊的片段并進行測序的策略。針對簡化基因組,我們稱的缺失一般指的是沒有被檢測到的酶切片段相關的位點。簡化基因組的缺失,主要與酶切效率有關。酶切效率越高,缺失率越低。

  3. 外顯子測序以及目標區域捕獲測序

    同簡化基因組測序類似,基于探針雜交的DNA捕獲以及測序技術,同樣會產生大量的缺失。這種缺失主要是由于探針雜交捕獲的效率所致。

  4. SNP芯片

    SNP芯片利用芯片雜交后的熒光信號,來判斷某個位點的基因型。SNP芯片同樣也會產生大量缺失。但在實際的研究中,SNP 芯片主要面臨的問題是芯片型號不同,甚至來源不同的廠商,那么芯片中包含的SNP位點也不同。當來源不同的數據一起分析的時候,將面臨數據不一致的問題。簡單說來,就是你有的我沒有,我有的你沒有。如下圖,Affymetrix和illuminate兩大SNP 芯片廠商生產的人類芯片就使用的是不同的SNP集,當放在一起分析的時候將面臨SNP不一致的問題。

注意!

基因型缺失是一個相對性的概念。以上缺失的概念都是針對同種技術的比較。不同的技術比較,也可以定義為缺失。例如,同樣一份樣本,我們使用全部以上4種技術檢測。如果以全基因組高深度測序(>30X)為參照標準,后續的3種技術都有大量位點沒有檢測到,處于基因型缺失的狀態。

1.3. 缺失的判斷:缺失率

分為樣本水平的缺失率位點水平的缺失率

例如下圖,0、1、2 分別代表三種檢測到的基因型,圖中缺失位點使用“?”表示。那么樣本1的缺失率=20%(總體10個位點,有兩個位點缺失),而位點2的缺失率=60%(總體5個位點,有3個位點缺失)

1.4. 基因型缺失的影響

基因型缺失最直接的影響就是這個位置的信息缺失,從而影響下游分析(包括遺傳圖譜構建,QTL定位,選擇壓力分析,GWAS分析等)的信息完整性和準確性。

例如,(b)中紅色的點是(a)中缺失的位點。而與性狀關聯的SNP位點,恰恰位于虛線所在的區域內。這些顯著位點在(a)中是缺失的,所以(a)沒有檢測到關聯信號,從丟失了非常關鍵的信息

基因型缺失對GWAS分析、選擇壓力分析影響都比較大

1.5. 基因型填充的原理

原理:

基于家系樣本的遺傳特性。具有已知親緣關系的個體之間具有共享的單體型(haplotype),這些由有限個遺傳標記所構成的單體型隨祖先一起遺傳,反映連鎖不平衡。

在具有相同單體型的家系中,遺傳標記少的樣本可以參照遺傳標記多的樣本進行基因型填充。對于沒有親緣關系的樣本,以上理論也基本適用,主要的差別在于無血緣關系的樣本之間共享的單體型比家系樣本之間的要短很多。對無親緣關系樣本進行基因型填充需要一個高密度遺傳標記構成的單體型圖譜作為參照。

通過對比待填充樣本和參考模板,找到兩者之間共有的單體型,然后就可以將匹配上的參考模板中的位點復制到目標數據集中。

常見imputation的基本邏輯包括兩步:

  • 從目標位點/區域非缺失的位點中,總結這個區域的基因型規律,并分類。其實就是分析各個區域的單體型組成;

  • 根據某樣本缺失位點的上下其他非缺失位點,判斷這個區域屬于哪種單倍型。然后根據所屬單倍型的基因型補充該樣本的缺失位點;

根據缺失樣本有限的基因型信息(僅有3個位點),就可以判斷這個樣本與參考單倍型集中的哪種單倍型最為相似(圖中分別對應紫色、綠色、黃色三種單倍型)。然后,將對應的最相似的單倍型賦予給該樣本,從而讓該樣本獲得完整的基因型,圖b

1.6. 實現工具

(1) 計算密集型,比如IMPUTE、 IMPUTE2、MACH、 和fastPHASE/BIMBAM

這種類型的方法在填充的過程中充分考慮到全部可以觀察到的基因型信息,使得對缺失值的估算更加精確;但以上大部分軟件都是針對人類的開發的。人類種群的遺傳特性是個體雜合率較高、近交率低、系譜關系來源隨機。很多植物,尤其作物的遺傳特性則和人類相反。

(2) 計算高效型,比如PLINK、TUNA、WHAP和BEAGLE

此種算法僅僅關注與特定位點相鄰的一小部分標記的基因型,因此在計算上更加快捷

2. 實操:用IMPUTE2實現基因型填充

2.1. 兩種應用場景

Impute2的基因填充 (genotype imputation) 分為兩種應用情景:

  1. ONE REFERENCE PANEL

    ./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
    

    參數說明:

    • -m <file>: 目標區域重組率圖譜文件(Fine-scale recombination map for the region to be analyzed),記錄的是基因組中各個位點的重組率和彼此間物理距離的關系

    這個文件應該包含三列:

    (1) physical position: in base pairs
    (2) recombination rate: between current position and next position in map (in cM/Mb)
    (3) genetic map position: in cM
    
    例如:
    position COMBINED_rate(cM/Mb) Genetic_Map(cM)
    35326 0.251801 0.000000
    35411 0.482009 0.000021
    40483 0.598191 0.002466
    

    • -h <file 1> <file 2>: 已知的單體型信息文件,每行表示一個SNP位點,每列表示一個單體型 (one row per SNP and one column per haplotype)

    所有的allele必須表示成0或1的形式

    一旦用-h參數指定一個單體型文件,就需要用-l參數指定一個對應的Legend文件

    Impute2允許同時指定兩個單體型文件: -h <file 1> <file 2>


    • -l <file 1> <file 2>:與單體型文件對應的Legend文件,保存的是對每個SNP位點的描述信息

    這個文件包含四列:

    rsID, physical position (in base pairs), allele 0, and allele 1
    
    最后兩列的 allele 0 和 allele 1 是對堿基組成的說明
    

    • -g <file>: 包含目標研究群體的genotypes的文件,即Genotype File Format,對它進行后續的基因型填充 (impute) 和分型 (phase)

    該文件每行表示一個SNP,前五列分別為:

    (1) SNP ID:這一列一般表示為染色體號
    (2) RS ID of the SNP
    (3) base-pair position of the SNP
    (4) the allele coded A
    (5) the allele coded B
    

    緊接著的3列是群體中的一個個體的三種可能的基因型:AA,AB或BB

    再接著3列是第二個個體的,以此類推,示例文件如下:

    SNP1 rs1 1000 A C 1 0 0 1 0 0
    SNP2 rs2 2000 G T 1 0 0 0 1 0
    SNP3 rs3 3000 C T 1 0 0 0 1 0
    SNP4 rs4 4000 C T 0 1 0 0 1 0
    SNP5 rs5 5000 A G 0 1 0 0 0 1
    

    • -strand_g <file>: 指定SNP所在的鏈的方向

    該文件每行表示一個SNP,包含兩列(列之間用單個空格隔開):(1)SNP所在的堿基位置;(2)鏈的方向,+-

    • -int <lower> <upper>: 用于基因型推斷的基因組間隔的長度,可以以長格式表示,如 -int 5420000 10420000,也可以以指數形式表示,如 -int 5.42e6 10.42e6

    • -Ne <int>: 這個參數的說明看不懂,把原文貼在下面:

    "Effective size" of the population (commonly denoted as Ne in the population genetics literature) from which your dataset was
     sampled. This parameter scales the recombination rates that IMPUTE2 uses to guide its model of linkage disequilibrium patterns.
    When most imputation runs were conducted with reference panels from HapMap Phase 2, we suggested values of 11418 for imputation 
    from HapMap CEU, 17469 for YRI, and 14269 for CHB+JPT. 
    
    • -o <file>: 輸出文件名,文件格式與-g參數指定的文件相同,即都是Genotype File Format
  2. TWO REFERENCE PANELS

    在這種應用情景中,用到了兩個refrence panel,分別記作 panel 0 和 panel 1

    例如,panel 0 可以是1000 Genomes Project的haplotype,包含了基因組中幾乎全部的常見SNPs;panel 1 可以是HapMap Phase 3的haplotype,僅包含了基因組中的部分的常見SNPs;panel 3 是用商用SNPs芯片得到的一系列的case和control的樣本的genotype

    之所以使用兩套reference panels,是想通過兩個reference panels互相填充對方中缺失的部分來得到SNP密度更高的一套merged reference panel

2.2. Best Practices

  1. 基因型填充前 (pre-imputation) 進行genotypes質控

    過濾低質量的變異位點和樣本

    質控方法可以參照:

    Anderson, C.A. et al. Data quality control in genetic case-controlassociation studies. Nat. Protoc. 5, 1564–1573 (2010)

  2. 保證分析中使用的基因組坐標系統一致

    NCBI build number (e.g., "b36" or "b37") 對應于 UCSC version (e.g., "hg18" or "hg19")

  3. 選擇reference panel

    之前的GWAS研究中,研究人員一般都是選擇與對應人群遺傳距離最相近的reference panel,而Impute2推薦使用worldwide reference panel,程序能夠從中選出最合適的haplotype用于基因型填充

    這樣做的好處是:

    • 不需要費時費力去挑選haplotypes來構造reference panel;
    Good results can be obtained in any study population by tuning a single software parameter (-k_hap) with a simple rule of thumb
    
    • 該策略適用于各種人群的研究;
    Our group and others have used this approach to successfully impute populations ranging from homogeneous isolates to recent and
    complex admixtures
    
    • 填充效果往往優于研究人員自己挑選構造的小reference panel
    This is because individuals from "diverged" populations may still share genomic segments of recent common ancestry, and IMPUTE2
     can use this haplotype sharing to improve accuracy. At the same time, the software can ignore haplotypes that are not helpful.
    
    • 對于大的reference panel,Impute2也能進行高效地處理,不需要擔心會帶來的計算負擔
  4. 填充后 (post-imputation) 質控

    質控方法可以參照:

    Verma, S.S. et al. Imputation and quality control steps for combining multiple genome-wide datasets. Front. Genet. 5, 370 (2014).

2.3. 1000 Genomes Imputation Cookbook

2.3.1. Before Imputation

  1. 對Genotype數據進行質控

    包括樣本水平的質控和marker水平的質控

    • 樣本水平:
      • call rate
      • heterozygosity
      • relatedness between genotyped individuals
      • correspondence between sex chromosome genotypes and reported gender
    • marker水平:
      • call rates
      • deviations from Hardy-Weinberg Equilibrium
      • excluding low frequency SNPs,for older genotyping platforms,

    質控代碼參考自:http://sites.google.com/site/mikeweale/software/gwascode

  2. 將Genotype數據轉換為Build 37

    目前的1000 Genome Project的數據使用的是NCBI genome build 37 (hg19)的坐標系統,因此在基因型填充之前需要保證你的Genotype文件也是hg19的坐標系統,且位點是落在正鏈上

    若坐標系統不一致,可以使用LiftOver進行坐標轉換,但是轉換過程中可能有少量的SNP轉換失敗

  3. 將Genotype文件轉換為IMPUTE格式

    在格式轉換之前,需要先按照坐標進行排序

    GTOOL可以將PLINK PED轉換為IMPUTE格式

2.3.2. Pre-Phasing

對于大規模的reference panels,基因型填充建議分兩步進行:

  • pre-phasing:推斷每個樣本的單體型
  • imputation:對分型得到的單體型 (phased haplotypes) 中缺失的allele進行基因型填充

IMPUTE2SHAPEIT 都可以執行pre-phasing操作,Drs. Bryan Howie 和 Jonathan Marchini推薦使用SHAPEIT進行pre-phasing,因為該工具采用的phasing方法更準確

2.3.2.1. using IMPUTE2

IMPUTE2的pre-phasing推薦采用滑動窗口法 (Sliding Window Analyses) 進行:

將一個染色體分割成若干Mb的塊 (blocks),對這個塊中的genotypes進行phasing。分塊需要通過設置-int <start> <end>參數實現

用這種phasing方法可能遇到的兩種棘手的情況

  • 若每個塊的大小一致,可能不同的塊之間SNP的分布密度存在很大差異;
  • 若某個塊正好跨過著絲點 (centromere),而著絲點附近區域的SNP密度極低,往往意味著是 large gap in 1000 Genome SNPs;

若SNP密度太低是很難進行phasing的,此時可以采取的解決策略是:

  • 若某一個塊的SNP密度太低(例如少于200個),可以將它與鄰居的塊合并成一個更大的塊一起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 \
 -allow_large_regions

2.3.2.2. using SHAPEIT (recommended)

對整條染色體進行pre-phasing建議使用SHAPEIT

SHAPEIT接受PLINK PED和IMPUTE的格式輸入

$ shapeit \
 --input-bed gwas.bed gwas.bim gwas.fam \
 --input-map genetic_map.txt \
 --thread 8 \
 --effective-size 11418 \
 --output-max gwas.phased.haps gwas.phased.sample \
 --output-log gwas.phasing.log

2.3.3. Imputation

$ 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

參考資料:

(1) 【簡書】群體遺傳學習筆記-基因型缺失數據的填充

(2) Impute2官方文檔

(3) Genotype File Format

(4) IMPUTE2: 1000 Genomes Imputation Cookbook

(5) Weale M (2010) Quality Control for Genome-Wide Association Studies. Methods Mol. Biol. 628:341–372

(6) van Leeuwen EM, et al. Population-specific genotype imputations using minimac or IMPUTE2[J]. Nature Protocols, 2015, 10(9):1285-1296.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內容