前段时间有位小可爱问我,为什么她的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图那么飘的更多相关文章

  1. GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing

    现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...

  2. 一行命令学会全基因组关联分析(GWAS)的meta分析

    为什么需要做meta分析 群体分层是GWAS研究中一个比较常见的假阳性来源. 也就是说,如果数据存在群体分层,却不加以控制,那么很容易得到一堆假阳性位点. 当群体出现分层时,常规手段就是将分层的群体独 ...

  3. GWAS 全基因组关联分析 | summary statistic 概括统计 | meta-analysis 综合分析

    有很多概念需要明确区分: 人有23对染色体,其中22对常染色体autosome,另外一对为性染色体sex chromosome,XX为女,XY为男. 染色体区带命名:在标示一特定的带时需要包括4项:① ...

  4. 全基因组关联分析(GWAS)的计算原理

    前言 关于全基因组关联分析(GWAS)原理的资料,网上有很多. 这也是我写了这么多GWAS的软件教程,却从来没有写过GWAS计算原理的原因. 恰巧之前微博上某位小可爱提问能否写一下GWAS的计算原理. ...

  5. 【GWAS文献解读】疟原虫青蒿素抗药性的全基因组关联分析

    英文名:Genetic architecture of artemisinin-resistant Plasmodium falciparum 中文名:疟原虫青蒿素抗药性的全基因组关联分析 期刊:Na ...

  6. 全基因组关联分析(Genome-Wide Association Study,GWAS)流程

    全基因组关联分析流程: 一.准备plink文件 1.准备PED文件 PED文件有六列,六列内容如下: Family ID Individual ID Paternal ID Maternal ID S ...

  7. 全基因组关联分析(GWAS)扫不出信号怎么办(文献解读)

    假如你的GWAS结果出现如下图的时候,怎么办呢?GWAS没有如预期般的扫出完美的显著信号,也就没法继续发挥后续研究的套路了. 最近,nature发表了一篇文献“Common genetic varia ...

  8. R语言画全基因组关联分析中的曼哈顿图(manhattan plot)

    1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot ...

  9. 全基因组关联分析学习资料(GWAS tutorial)

    前言 很多人问我有没有关于全基因组关联分析(GWAS)原理的书籍或者文章推荐. 其实我个人觉得,做这个分析,先从跑流程开始,再去看原理. 为什么这么说呢,因为对于初学者来说,跑流程就像一个大黑洞,学习 ...

随机推荐

  1. java中equals和==的使用

    ==可以用来比较基本数据类型和引用数据类型,在进行基本数据类型的比较时,比较的具体的值,进行引用数据类型比较,比较的是引用指向对象在内存中的地址,但是String进行比较需要注意 package cn ...

  2. oracle数据库创建表且主键自增

    唠叨几句:几年前的知识忘却了,整理一下笔记,提供一下方便 1.创建数据库表 设置主键 create table users( userid number(10) primary key, /*主键,自 ...

  3. 肤浅的聊聊 TiDB 扫表算子, 扫索引算子, 合取范式(CNF), 析取范式(DNF), skyline pruning

    这一章主要涉及TiDB如下的源码: 1. 扫表算子怎样转换为扫索引算子; 2. 怎样把Selection算子的过滤条件化简, 转为区间扫描; 假设我们有一个表: t1( id int primary ...

  4. Three.js实现滚轮放大展现不同的模型

    目录 Three.js实现滚轮放大展现不同的模型 修改OrbitControls.js的源码 OrbitControls在透视相机(PerspectiveCamera)的控制原理 具体实现 Three ...

  5. 简要描述Python的垃圾回收机制(garbage collection)

    这里能说的很多.你应该提到下面几个主要的点: Python在内存中存储了每个对象的引用计数(reference count).如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用 ...

  6. [提权]mysql中的UDF提权

    由于udf提权是需要构造UDF函数文件的,涉及到了写文件.所以本次实验已经将mysql的配置做了改动:–secure-file-priv=''. 剧情须知: secure_file_priv 为 NU ...

  7. Mysql中EXISTS关键字用法、总结

    在做教务系统的时候,一个学生(alumni_info)有多个教育经历(alumni_education),使用的数据库是mysql,之前使用左链接查询的,发现数据量才只有几万条时,查询就很慢了,早上想 ...

  8. Oracle中查询走索引的情况

    1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引 ...

  9. BS4库详解

    from bs4 import BeautifulSoup html = """ <html><head><title>This is ...

  10. pymongo错误记录

    1.AutoReconnect pymongo.errors.AutoReconnect: connection closed 2.ServerSelectionTimeoutError pymong ...