GEMMA是一个在生信学习过程中必不可少的软件,它拥有很多强大便捷的功能,但通常会在操作中遇见数据格式错误,遗传力数值异常等问题。
今天我们来利用GEMMA计算混合线性模型,以寻找显著snp位点进行GWAS分析。
必要准备
1.GEMMA软件
2.二进制格式的源文件(bed bim fam)
3.记录的研究样本的对应表型数据
4.数值协变量文件(pca数值)
准备流程
1.GEMMA的下载安装
wget https://github.com/genetics-statistics/GEMMA/releases/download/v0.98.5/gemma-0.98.5-linux-static-AMD64.gz
下载后正常解压即可使用
2.表型数据的处理
在GEMMA中,表型数据有不止一种的导入方式,可以自行建立list文件,将样本名和数值放在同一行,利用空格隔开,也可以在fam文件中导入。每种方式对应的后续引用命令不同,由于我建立列表总是识别出错,所以在这里我使用第二种方法。
修改fam也很简单,打开二进制格式文件中的fam,看到最后一排的数值均为-9(表示缺失),我们把表型数据对齐这一排输入即可
3.pca文件准备
pca文件先通过plink计算得出,再自行转换格式
plink计算代码如下
plink --file test.vcf --pca 3 --allow-no-sex --out pca
得到这样的pca数据,再自行调整成如下格式(把样本名删除,以截距1代替)
正式开始GWAS分析
1.首先计算一次GLM矩阵(不包括协变量信息的一般线性模型)
gemma -bfile test -gk 2 -n 1
-bfile 输入二进制文件
-gk 选择2号算法
-n 选择fam文件中第一排的表型数据
这一步的结果会保存在当前目录下新创建的一个output文件夹中
2.再引入数值协变量进行MLM计算
gemma -bfile test -k output/result.sXX.txt -lmm 1 -n 1 -c cov.txt
-bfile 输入二进制文件
-k 指定上一步计算得出的GLM
-lmm 选择MLM的计算方法
-n 选择表型数据
-c 选择数值协变量(PCA数据)
3.遗传力评估
在进行第二步MLM计算的过程中,我们可以看见GEMMA输出了这一段预估数值
pve estimate即为遗传力估计值,该值无规范的标准,按照你所研究的物种和不同的性状发生该笔那,但合理值通常处于0.1-0.9区间内。
se(pve)是遗传力数值误差值,通常只要不太大就算合理
当遗传力估计值接近0时,说明这次位点分析与遗传的相关性过低,本次GWAS的结果基本无可信度,结果不可用。
当遗传力估计接近1时,说明GWAS的结果也不理想,说明遗传可能受其他因素影响。
4.遗传力优化方式
1.降低离群值影响,试着删除在建树时出现的离群样本,通常来说这会优化一部分的遗传力。
2.删除表型数据的异常值