温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

GWAS分析中如何使用PCA校正群体分层

发布时间:2021-09-19 15:24:14 来源:亿速云 阅读:803 作者:小新 栏目:大数据

小编给大家分享一下GWAS分析中如何使用PCA校正群体分层,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

GWAS通过分析case/control组之间的差异来寻找与疾病关联的SNP位点,然而case和control两组之间,可能本身就存在一定的差异,会影响关联分析的检测。

Population stratification,称之为群体分层,是最常见的差异来源,指的是case/control组的样本来自于不同的祖先群体,其分型结果自然是有差异的。GWAS分析的目的是寻找由于疾病导致的差异,其他的差异都属于系统误差,在进行分析时,需要进行校正。

对于群体分层的校正,通常采主成分分析的方法,即PCA, 对应的文章发表在nature genetics上,链接如下

https://www.nature.com/articles/ng1847

GWAS分析中如何使用PCA校正群体分层

核心处理如下图所示

GWAS分析中如何使用PCA校正群体分层

对分型结果对应的矩阵进行PCA分析,该矩阵中行为SNP位点,列为样本,分型结果为0,1,2。0表示没有突变,1表示杂合突变,2表示纯合突变。PCA分析之后,可以得到每个样本在PC1,PC2等主成分轴上对应的位置。

PCA本质属于排序分析,距离近的样本拥有相似的属性,根据PCA之后得到的位置信息,可以绘制如下所示的散点图

GWAS分析中如何使用PCA校正群体分层

上图中每个点代表一个样本,绘图使用的信息就是这些样本在PC1和PC2两个轴上的位置。这样的散点图可以直观展示样本的分层情况,对于显著偏离总体的部分样本,可以去除之后在重新进行分析。在后续进行GWAS分析时,这些PC轴上的位置信息可以作为回归分析中的协变量,进行校正。

文章中将针对分型结果进行PCA分析的功能打包成了一个软件,名字为EIGENSTRAT, github的网址如下

https://github.com/chrchang/eigensoft/tree/master/EIGENSTRAT

该软件支持自动去除离群值样本,显示主成分的占比等很多功能,缺点就是执行速度比较慢。对于GWAS中的PCA而言,核心的信息其实就是样本在各个主成分轴上的位置信息,我们需要这些信息来进行后续的校正。

面对GWAS规模的分型结果,运行速度是非常重要的一个因素。为此,实践中常常采用以下两款软件

1. plink

用法如下

plink  \
--bfile sample \
--pca --out pca
2. GCTA

用法如下

gcta64 \
--bfile sample \
--make-grm \
--thread-num 5 \
--out gcta

gcta64 \
--grm gcta \
--pca 20 \
--thread-num 5 \
--out pca

二者输出结果虽然不是完全相同,但是分布的趋势是一致的。不同之处在于,GCTA支持多线程,运行速度更快。输出结果有多个文件,核心是一个后缀为eigenvec的文件,该文件保存了样本在各个主成分轴上的位置信息,可以用于后续的校正。

这两个软件运行速度快,但是有个缺点就是不会输出各个主成分的占比,如果想要这个信息,可以考虑类似功能的R包,比如vcfR,SNPRelate,bigsnpr等。

以上是“GWAS分析中如何使用PCA校正群体分层”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI