全基因组关联分析(GWAS):为何我的QQ图那么飘
前段时间有位小可爱问我,为什么她的QQ图特别飘,如果你不理解怎样算飘,请看下图:

理想的QQ图应该是这样的:

我当时的第一反应是:1)群体分层造成的;2)表型分布有问题。因此让她检查一下数据的群体分层情况,如果没有问题就看一下表型分布。
这段时间有空了,我觉得有必要梳理一下这个飘逸的QQ图,到底是怎么回事儿以及如何确定这么飘逸的QQ图有没有问题。
1.产生飘逸的QQ图的原因
产生飘逸的qq图的原因有很多,比如我们喜闻乐见的:基因多效性(polygenicity)。也有可能是混淆偏倚,比如群体分层,假如样本中混合了欧洲、非洲、亚洲等各个地方的群体,本身各个群体的SNP频率差异就很大,如果不加以群体分层控制,关联分析的时候就会产生很多偏离预期值的SNP位点。
很久以前,出现飘逸的QQ图的话,我们可以搭配膨胀系数(膨胀系数的计算)一起看,膨胀系数如果接近1(比如1.01,1.2这种不算接近1),那么也还算过得去。
但,膨胀系数接近1这种是比较理想的情况。实际情况是,很多人的QQ图不仅飘逸,膨胀系数还老高。
这就尴尬了,连膨胀系数都无法确定这个QQ图飘的正不正常了。
所以呢,接下来还有什么方法确定我们的基因组数据有没有问题呢?
2.怎么确定是基因多效性还是混淆偏倚呢
接下来我要介绍一款神人工具LDSC (LD SCore),全称是LD Score regression
这款工具就是帮我们实现如何区分飘逸的QQ图正不正常。
具体来说,就是通过LDSC工具计算基因组数据的LD回归截距,如果是基因多效性,那么截距会接近1(比如1.004),如果是群体分层等混淆因素引起的,那么LD回归截距就会远离1(比如1.30)。
除了看截距数值,我们还可以通过画LD Score的图来确定数据是否有问题。
2.1基因多效性
如果画出来的LDscore图是下面这种形式,说明GWAS结果是没有问题的,QQ图飘逸就让它飘逸吧。

2.2混淆偏倚
如果画出来的LDscore图是下面这种形式,说明QQ图是有问题的。

3.总结
总之,看截距。
截距很接近1,就不用管QQ图好不好看了。
远离1(1.3这种),说明基因组数据是有问题的,检查一下PCA加够了没有、群体分层有没有控制好、是否混了很多有亲缘关系的样本在里面。
如果你想了解怎么用LDSC计算截距,请见下回解析。
全基因组关联分析(GWAS):为何我的QQ图那么飘的更多相关文章
- GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing
现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...
- 一行命令学会全基因组关联分析(GWAS)的meta分析
为什么需要做meta分析 群体分层是GWAS研究中一个比较常见的假阳性来源. 也就是说,如果数据存在群体分层,却不加以控制,那么很容易得到一堆假阳性位点. 当群体出现分层时,常规手段就是将分层的群体独 ...
- GWAS 全基因组关联分析 | summary statistic 概括统计 | meta-analysis 综合分析
有很多概念需要明确区分: 人有23对染色体,其中22对常染色体autosome,另外一对为性染色体sex chromosome,XX为女,XY为男. 染色体区带命名:在标示一特定的带时需要包括4项:① ...
- 全基因组关联分析(GWAS)的计算原理
前言 关于全基因组关联分析(GWAS)原理的资料,网上有很多. 这也是我写了这么多GWAS的软件教程,却从来没有写过GWAS计算原理的原因. 恰巧之前微博上某位小可爱提问能否写一下GWAS的计算原理. ...
- 【GWAS文献解读】疟原虫青蒿素抗药性的全基因组关联分析
英文名:Genetic architecture of artemisinin-resistant Plasmodium falciparum 中文名:疟原虫青蒿素抗药性的全基因组关联分析 期刊:Na ...
- 全基因组关联分析(Genome-Wide Association Study,GWAS)流程
全基因组关联分析流程: 一.准备plink文件 1.准备PED文件 PED文件有六列,六列内容如下: Family ID Individual ID Paternal ID Maternal ID S ...
- 全基因组关联分析(GWAS)扫不出信号怎么办(文献解读)
假如你的GWAS结果出现如下图的时候,怎么办呢?GWAS没有如预期般的扫出完美的显著信号,也就没法继续发挥后续研究的套路了. 最近,nature发表了一篇文献“Common genetic varia ...
- R语言画全基因组关联分析中的曼哈顿图(manhattan plot)
1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot ...
- 全基因组关联分析学习资料(GWAS tutorial)
前言 很多人问我有没有关于全基因组关联分析(GWAS)原理的书籍或者文章推荐. 其实我个人觉得,做这个分析,先从跑流程开始,再去看原理. 为什么这么说呢,因为对于初学者来说,跑流程就像一个大黑洞,学习 ...
随机推荐
- 织梦cmsf表单提交到邮箱 织梦表单发送到邮箱 织梦自定义表单发邮箱
大家在做织梦做网站开发时会遇到一个问题:织梦的自定义表单是一个很鸡肋的功能,不仅在后台展示得奇丑,而且也没有提醒功能,使用起来很不方便.很多人用织梦自定义表单时,都想用户提交表单的时候可以发送到自己的 ...
- Centos7 minimal 安装npm
最小版本缺少很多源,需要手动去添加源 如何去判断yum中 有没有 npm 的源呢 yum list | grep npm 如果是这样的,就代表需要自己去添加 curl -sL -o /etc/yum. ...
- java.util.Properties 读取配置文件中的参数
用法 getProperty方法的返回值是String类型. java.util.Properties 读取配置文件中的参数 //读取配置文件 FileInputStream inStream = n ...
- C# 遍历 enum 枚举
foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit))) { } 注意:强制转换(Suit[])不是必需的,但确实使代码快0.5 ns.
- YAML_16 debug检测
ansible]# ansible-playbook --syntax-check http.yml //检测语法 playbook: http.yml ansible]# ansible-play ...
- 如何在Processing中用鼠标获取RGB颜色数值
要做一个抠图应用,所以随手做了个鼠标取色,代码如下: void mousePressed(){ int imgC = get(mouseX,mouseY); int R = (imgC >> ...
- Fiddler抓取https请求证书问题【转载】
转载链接: https://www.cnblogs.com/liulinghua90/p/9109282.html
- RabbitMQ面试问答(子文章)(持续更新)
-----> 总文章 入口 文章目录 [-----> 总文章 入口](https://blog.csdn.net/qq_37214567/article/details/90174445) ...
- 线程池(6)-submit与execute区别
在线程池里提交任务经常见到submit与execute,如何选择,傻傻分不清楚.那么他们俩有什么区别,使用场景是什么?这篇博客将会介绍. 1.方法定义 void execute(Runnable co ...
- 浅谈Python-IO多路复用(select、poll、epoll模式)
1. 什么是IO多路复用 在传统socket通信中,存在两种基本的模式, 第一种是同步阻塞IO,其线程在遇到IO操作时会被挂起,直到数据从内核空间复制到用户空间才会停止,因为对CPython来说,很多 ...