全基因组关联分析(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)原理的书籍或者文章推荐. 其实我个人觉得,做这个分析,先从跑流程开始,再去看原理. 为什么这么说呢,因为对于初学者来说,跑流程就像一个大黑洞,学习 ...
随机推荐
- Excel技巧大全
1.一列数据同时除以10000 复制10000所在单元格,选取数据区域 - 选择粘性粘贴 - 除 2.同时冻结第1行和第1列 选取第一列和第一行交汇处的墙角位置B2,窗口 - 冻结窗格 3.快速把公式 ...
- kvm创建win7虚拟机默认只识别2个cpu解决方法
现在人在部署OpenStack之后会发现按照配额运行Linux的虚拟机没有问题,但是运行windows的虚拟机会发现如果配置2个以上的核则无法识别,windows server也最多支持到4个核.无法 ...
- 在golang中使用json
jsoniter高性能json库 非常快,支持java和go marshal使用的一些坑 package main import ( "encoding/json" "f ...
- 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)
描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...
- C# 调用 C++ Dll 类型转换的方式 全
摘要:C#引用C++ Dll 所有类型转换的方式 //C++中的DLL函数原型为 //extern "C" __declspec(dllexport ...
- learning java AWT 布局管理器FlowLayout
AWT提供了FlowLayout 从左到右排列所有组件,遇到边界就会折回下一行重新开始. import java.awt.*; public class FlowLayoutTest { publ ...
- 《挑战30天C++入门极限》在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子。
在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子. 以下两个例子要非常注意,函数传递的不是数组中数组元素的真实值而是数组在内存中的实际地址. #include <std ...
- jmeter之timer --笔记一
简介:测试过程中需要用到time进行造数据测试,需要各种年月日,或者未来时间,就像python中的time和datetime 1.jmeter中timer,使用—time()函数 1.1 timeSh ...
- Picture Control 加载路径图片
//CBitmap bitmap; //HBITMAP hBmp; //bitmap.LoadBitmap(strImgPath); //hBmp = (HBITMAP)bitmap.GetSafeH ...
- jquery 如何在js中间加入css?
) { $() + 'rem' }) } ) { $( + '%' }) }