欢迎关注”生信修炼手册”!

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

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

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

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

核心处理如下图所示

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

PCA本质属于排序分析,距离近的样本拥有相似的属性,根据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 gctagcta64 \
--grm gcta \
--pca 20 \
--thread-num 5 \
--out pca

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

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

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描关注微信号,更多精彩内容等着你!

GWAS分析中使用PCA校正群体分层相关推荐

  1. GWAS分析中协变量的区分(性别?PCA?初生重?)

    1. 电子书领取 前几天发了一篇GWAS电子书分享,异常火爆,阅读量8000+,很多人评价比较基础.这本电子书主要特点是比较基础,GLM模型用软件和R语言进行比较,如何添加数字协变量.因子协变量.PC ...

  2. GWAS分析中SNP解释百分比PVE | 第二篇,GLM模型中如何计算PVE?

    上一篇,介绍了一下显著性的SNP,他们的解释表型变异百分比(PVE)之和,为何可能大于1. https://yijiaobani.blog.csdn.net/article/details/12209 ...

  3. GWAS分析中SNP解释百分比PVE | 第三篇,MLM模型中如何计算PVE?

    之前,想研究一下GWAS分析汇中PVE(表型方差解释百分比)的计算方法,写了两篇: GWAS分析中SNP解释百分比PVE | 第一篇,SNP解释百分比之和为何大于1? GWAS分析中SNP解释百分比P ...

  4. GWAS分析中SNP解释百分比PVE | 第四篇,MLM模型中如何手动计算PVE?

    系列部分: GWAS分析中SNP解释百分比PVE | 第一篇,SNP解释百分比之和为何大于1? GWAS分析中SNP解释百分比PVE | 第二篇,GLM模型中如何计算PVE? GWAS分析中SNP解释 ...

  5. GWAS分析中SNP解释百分比PVE | 第一篇,SNP解释百分比之和为何大于1?

    关于GWAS分析中PVE的计算方法: 我查了一下,大体计算PVE的方法有三种:第一种回归分析或者方差分析的方法,计算R方(GLM模型),第二种是根据effect,se,maf计算PVE,第三种是根据L ...

  6. GWAS分析中0-1-2的编码问题

    昨天一个小伙伴给我写了封信,问我了几个GWAS的问题,我就回信说,答案可以写一下公众号了. 这不,就来了. 邓老师,您好,看了好多博文,学到好多,最近看一些GWAS原理相关的内容,有些疑惑.想请教一下 ...

  7. 笔记 GWAS 操作流程6-2:手动计算GWAS分析中的GLM和Logistic模型

    1. 名词解释 GWAS 全基因组关联分析 手动计算 使用R语言编程GLM模型和Logistic模型,提取Effect和Pvalue GLM 一般线性模型 Logistic 主要分析广义线性模型,Y变 ...

  8. python绘制基因结构图_使用Python绘制GWAS分析中的曼哈顿图和QQ图

    [前言]其实这篇文章是为了简单介绍一下geneview的用法,它是一个Python高级库,建立在matplotlib的基础之上,专门用于基因组数据的可视化,目的是为了使创建高大上(精致)的基因组数据图 ...

  9. GWAS分析中曼哈顿图如何显示SNP信息

    大家好,我是邓飞. 今天介绍一下曼哈顿图如何打印出SNP的名称,类似这样的: 1. 软件包 qqman 下载 在CRAN中下载: install.packages("qqman") ...

最新文章

  1. 《Spark大数据分析:核心概念、技术及实践》一1.5 NoSQL
  2. 关于 Notepad++ 崩溃之后正在编辑文件内容被清空的致命问题的补救措施
  3. Maven常见问题和陷阱
  4. 海洋大数据关键技术及在灾害天气下船舶行为预测上的应用
  5. 6.4 tensorflow2实现FNN推荐系统——Python实战(第一篇)
  6. CSS3实现渐变背景
  7. JAVA 05 输入年份判断生肖
  8. windows远程桌面自动切换到360安全登录界面
  9. C++中在堆区用new开辟空间
  10. 如何让 PPT 中的表格更美观?
  11. 【解读黑客】何为Rootkit?
  12. 计算方法-数值积分与微分
  13. 聚焦一带一路建设,助推装备工业发展—西部制博会3月15日即将启幕
  14. 代理网易云音乐,免费听歌与下载
  15. 构建“未来级”企业,如何做对这道必答题
  16. 因为热爱,所以坚持;因为坚持,得以突破!
  17. vb播放声音程序代码
  18. NIO 选择 Onsemi 的 SiC 牵引功率模块
  19. 拉仇恨!李想靠微博股票赚了两三倍,只有千把万
  20. 使用python pylab库 画线

热门文章

  1. RadioButton 圆圈颜色设置
  2. Android7.0以上手机调用系统裁剪提示“无法保存经过裁剪的图片”
  3. 前端radio单选框默认选中_html中radio单选按钮控件标签用法解析及如何设置默认选中...
  4. nyoj312 20岁生日
  5. 解决Deepin下qq无法显示图片
  6. Operation and maintenance
  7. linux中tldr(命令手册)
  8. 小程序编程基础(二)
  9. python3.5/site-packages/tensorflow/python/framework/dtypes
  10. MatlabR2016b安装及弹出“弹出dVd1 并插入dVd2”解决方法