【GWAS】GAPIT使用教程 簡介 安裝 輸入文件 輸出文件 GAPIT 的詳細參數 示例 結果解讀

GAPIT(genome association and prediction integrated tool)華盛頓大學等於 2012 年開發的軟件(軟件主頁:http://www.zzlab.net/GAPIT/)。GAPIT 是個.R 文件,一共 16317 行,可以在多平臺使用。截至 2020-03-27,被引了 853 次。引用的文章中不乏 Nature geneticsNature Biotechnology 等。

GAPIT 的使用真的是超級簡單,一般只需要表型文件和基因型文件即可,一行代碼即可完成所有的分析,自動生成所有結果文件


簡介

GAPIT 使用 EMMA(高效混合模型關聯)、CMLM(混合線性模型)和 P3D(population parameters previously determined)完成 GWAS 分析和基因組預測。GAPIT 能夠快速完成 1000,000SNP×10,000 樣本的分析。在最短的時間內用最少的代碼完成大數據集的分析。GAPIT 支持多種形式的基因型數據,能夠將基因型數據拆分成多個文件,減少計算壓力。GAPIT 導出的結果包括.csv 格式的表和.pdf 格式的圖。


安裝

在使用 GAPIT 之前需要安裝依賴包:

if (!requireNamespace("BiocManager", quietly = TRUE))    install.packages("BiocManager")BiocManager::install("multtest")install.packages("gplots")install.packages("LDheatmap")install.packages("genetics")install.packages("ape")install.packages("EMMREML")install.packages("scatterplot3d") #The downloaded link at: http://cran.r-project.org/package=scatterplot3d

在官網上 GAPIT 是一個.txt 文件,直接 source 即可:

source("http://zzlab.net/GAPIT/gapit_functions.txt")

最後需要 source EMMA 的代碼:

source("http://zzlab.net/GAPIT/emma.txt")

爲了方便,可以直接將這兩個文件保存成了.R 格式的文件,在往後使用的時候就不用考慮網速等因素的影響了。


輸入文件

官方推薦所有的輸入文件都保存成.txt 格式的文件,以 Tab 進行分割。

表型文件

官方給出的示例如下:

輸入的表型文件的第一列是樣品名稱,往後的列是不同的表型數據,表型數據中有缺失值的需要用 NaNNA 進行填充。讀入的表型文件是需要有表頭的。

讀入表型文件示例:

myY <- read.table("mdp_traits.txt", head = TRUE)

基因型文件

基因型文件對 GWAS 是必須的,如果是基因組預測,則不需要基因型文件。GAPIT 接受多種格式的基因型文件。

HapMap

SNP 信息常用 HapMap 格式的文件進行存儲。其中前 11 列是 SNP 的信息,往後的列是樣品的 SNP 信息。前 11 列中必須有的列是:rs,SNP 編號;chrom,SNP 所在染色體信息;pos,SNP 位置信息。這三列是必須有的,剩下的 8 列可以用 NA 進行填充。基因型缺失的數據需要用 NNN 進行填充。需要注意的是這種基因型文件讀入 R 時, 是不能將第一行作爲表頭的。

數字格式

GAPIT 也可以使用數字型的基因型文件。行是樣品,列是 SNP 數據。純合子用 02 表示,雜合子用 1 表示。但是這個表裏面只包含了樣品的 SNP 數據,並沒有 SMP 的信息數據,所以需要另外一個文件來存儲 SNP 的詳細信息。


Kinship

Kinship 矩陣比較特殊的是第一列是樣品信息,但是沒有表頭。


協變量

可以是種羣結構的 Q 矩陣。比如可以是種羣數據的 PCA 值。同樣第一列是樣品名稱,後面就是對於的協變量的數據。


輸出文件

GAPIT 的輸出文件包括.csv 的表格和.pdf 的圖。


GAPIT 的詳細參數

下表就是 GAPIT 的參數及參數定義等信息。


示例

次處只演示最簡單的使用情況,其他使用情況請參照官方文檔或查看 GitHub:

# 下載好的GAPIT文件進行source#source("http://zzlab.net/GAPIT/gapit_functions.txt")source('code/gapit_functions.R')# 下載好的EMMA文件進行source#source("http://zzlab.net/GAPIT/emma.txt")source('code/emma.R')# A Basic Scenario#Step 1: 讀入表型文件和基因型文件myY <- read.table("data/mdp_traits.txt", head = TRUE)myG <- read.table("data/mdp_genotype_test.hmp.txt" , head = FALSE)#Step 2: 運行GAPITsetwd('results/A_Basic_Scenario/') # 設置結果保存的目錄myGAPIT <- GAPIT(        Y = myY,        G = myG,        PCA.total = 3# 展示PCA的主成分數量)setwd('../../') # 返回到上上級目錄,方便其他分析

結果解讀

如果是進行 GWAS 分析,不同的性狀會生成的對應的 GWAS 結果文件。通常只關注幾個結果圖表:性狀分佈情況、PCA 結果、曼哈頓圖、Q-Q 圖等。

表型數據展示

PCA 圖

GAPIT 結果提供了二維和三維的 PCA 圖。

曼哈頓圖

GAPIT 提供的曼哈頓圖不是那麼好看,可以自己重新進行繪製。

res = read.csv('results/A_Basic_Scenario/GAPIT.MLM.EarHT.GWAS.Results.csv', header = T)colnames(res)[1:4] = c('SNP','CHR','BP','P')library(qqman)manhattan(res[,1:4],col = c("blue","orange"),          main="Manhattan plot",          annotatePval = .01,          suggestiveline = -log10(2e-03),          genomewideline = -log10(5e-04))

Q-Q 圖


示例數據、代碼等下載地址:https://github.com/lixiang117423/PLANTOMIX/tree/master/20200330%E3%80%90GWAS%E3%80%91GAPIT%E7%9A%84%E4%BD%BF%E7%94%A8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章