GEMMA (Genome-wide Efficient Mixed Model Association) 是基于混合模型进行全基因组关联分析的工具。运行速度非常快,结果准确,使用也十分方便,非常适合初学者做GWAS分析。
首先我们要下载和安装GEMMA。
代码语言:javascript复制## 下载GEMMA
wget -c https://github.com/genetics-statistics/GEMMA/releases/download/0.98.1/gemma-0.98.1-linux-static.gz
## 解压
gzip -d gemma-0.98.1-linux-static.gz
## 设置权限
chmod a x gemma-0.98.1-linux-static
GEMMA的输入文件格式为Plink二进制格式 (bed/bim/fam),具体的转换方法可以参考我之前的推送 一文掌握Plink文件格式转换。
代码语言:javascript复制## 转换格式
plink --vcf snp.vcf --recode --out snp
plink --file snp --make-bed --out gemma_input
需要注意的是,fam文件的第六列需要是真实的表型数据,缺失值用"-9"表示。
接下来计算kinship矩阵。
代码语言:javascript复制./gemma-0.98.1-linux-static -bfile gemma_input -gk 2 -o gemma
-bfile:输入Plink二进制格式文件的前缀。
-gk:指定生成的kinship矩阵类型。-gk 1 为centered matrix,-gk 2 为standardized matrix。
-o:输出文件前缀。
计算好的kinship矩阵在目录下的output文件夹中,接下来就可以进行关联分析了。
代码语言:javascript复制./gemma-0.98.1-linux-static -bfile gemma_input -k ./output/gemma.sXX.txt -lmm 4 -o gemma_out
-bfile:输入Plink二进制格式文件的前缀。
-k:输入kinship矩阵。
-lmm:选择Frequentist test方法。-lmm 1 表示使用Wald test,-lmm 2 表示使用likelihood ratio test,-lmm 3 表示使用score test,-lmm 4 表示同时执行三种方法。
-o:输出文件前缀。
GEMMA的计算速度很快,大概几分钟就可以执行完。
输出文件在目录下的output文件夹中。
比较重要的结果有以下几列:
chr:染色体名称。
rs:SNP编号。
ps:SNP物理位置。
p_wald:Wald test的P值。
p_lrt:Likelihood ratio test的P值。
p_score:Score test的P值。
这三种P值我们选一个就行。
接下来还可以根据我们之前的推送绘制QQ图和曼哈顿图。
R语言绘图 | 绘制QQ图和曼哈顿图
参考资料:
https://github.com/genetics-statistics/GEMMA/blob/master/doc/manual.pdf