GWAS后续分析:多基因风险评分(Polygenic Risk Score)的计算
一、什么是多基因风险评分
传统的GWAS研究只计算单个SNP位点与表型之间的关联性,再用Bonferroni校正,通过给定的阈值,筛选出显著的SNP位点。
这样会存在两个问题,第一、Bonferroni校正非常严格,很多对表型也有贡献的位点会因为达不到阈值而被过滤掉。第二、单个位点对表型的解释度是很低的,尤其是对于高血压这种多基因控制的表型,用一个个单独的位点解释高血压患病风险,就显得很单薄。
因此,开发一个能让我们直观的感受,患某种疾病的风险多高的工具,显然是非常有必要的。
为了更好理解多基因风险得分(PRS)的概念,我画了一个图,假如翠花的多基因风险评分处于第二个柱形图那里,那么我们就会认为翠花得某种疾病的风险比普通人要低。

二、多基因风险得分的公式
多基因风险得分的公式如下:

PT表示P值的阈值;
i表示符合该阈值下的SNP的数量,i = 1, 2, ..., m;
βi表示SNP的效应值,在GWAS当中,如果是线性表型,该值为β,如果是二元表型,该值为OR;
Gi,j 表示SNP的基因型,分别用{0,1,2}显示;
三、怎么计算多基因风险评分
目前计算PRS的主流软件有PRSice,截止目前为止,引用率有366次。
下面详细讲讲如何应用PRSice计算多基因风险得分。
1、PRSice安装
进入下载链接。选择所需的系统,以下安装以Linux系统为例。
wget https://github.com/choishingwan/PRSice/releases/download/2.1.11/PRSice_linux.zip
2、解压PRSice
unzip PRSice_linux.zip
解压完以后,出现以下几个测试文件:

3、测试是否安装成功
输入命令
./PRSice_linux
如果安装成功,则会出现如下的界面:

4、使用PRSice计算多基因风险得分(PRS)
对于二元表型,使用以下代码
Rscript PRSice.R --dir . --prsice ./PRSice_linux --base TOY_BASE_GWAS.assoc --target TOY_TARGET_DATA --thread 1 --stat OR --binary-target T
对于连续型变量的表型,使用以下代码
Rscript PRSice.R --dir . --prsice ./PRSice_linux --base TOY_BASE_GWAS.assoc --target TOY_TARGET_DATA --thread 1 --stat BETA --beta --binary-target F
四、生成文件结果解读
跑完上面的命令后会生成以下文件:
PRSice.best,PRSiceBARPLOT.png,PRSiceHIGH-RES_PLOT.png,PRSice.log ,PRSice.prsice,PRSice.summary
下面一个个的讲解这些文件包含哪些重要的信息。
PRSice.prsice文件
PRSice.prsice的文件格式如下:

PRSice.prsice文件包含:在给定不同阈值的P值以后,符合要求的SNP数量(Num_SNP),SNP的解释度(R2),回归系数
PRSice.best文件
PRSice.best文件格式如下:

文件包含FID,IID,是否回归,PRS值。这个文件计算的是每个个体最优的PRS值。
PRSice.summary文件
PRSice.summary文件内容如下:

包含表型,P的阈值,PRS的解释方差,所有变量的解释方差,协变量的解释方差,回归系数,P值,该阈值下的SNP数量。 这个文件给出的是该表型下最优的模型。
PRSice_BARPLOT.png图片
PRSice柱状图显示的是不同P值阈值(横轴)下的多基因风险得分(纵轴),柱状图最高的点表示模型最优,如该图显示的是P值阈值为0.4463时,模型最优,该表型的多基因风险得分为0.052,P值为4.7*10-18

PRSiceHIGH-RESPLOT.png图片
这张图显示的是,在该模型下,最佳的P值阈值为绿色最高点处,此时P值的阈值为0.4463

参考文献:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3605113/
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1987352/
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3912837/
GWAS后续分析:多基因风险评分(Polygenic Risk Score)的计算的更多相关文章
- GWAS后续分析:LocusZoom图的绘制
LocusZoom图几乎是GWAS文章的必备图形之一,其主要作用是可以快速可视化GWAS找出来的信号在基因组的具体信息:比如周围有没有高度连锁的位点,高度连锁的位点是否也显著. 下面是locuszoo ...
- 数据分析 - 美国金融科技公司Prosper的风险评分分析
数据分析 - 美国金融科技公司Prosper的风险评分分析 今年Reinhard Hsu觉得最有意思的事情,是参加了拍拍贷第二届魔镜杯互联网金融数据应用大赛.通过"富爸爸队",认识 ...
- Methods for follow-up research of exome analysis:外显子后续分析研究思路总结
外显子后续分析研究思路一般有以下几种(Methods for follow-up research of exome analysis): 1.对突变频率.突变类型.突变方式进行统计分析 Mutati ...
- GWAS条件分析(conditional analysis)
一.为什么要做GWAS的条件分析(conditional analysis) 我们做GWAS的时候,经常扫出一堆显著的信号,假设rs121是我们扫出来与某表型最显著相关的位点(P=1.351e-36) ...
- QQ快速登录协议分析以及风险反思
前言 众所周知,Tencent以前使用Activex的方式实施QQ快速登录,现在快速登录已经不用控件了.那现在用了什么奇葩的方法做到Web和本地的应用程序交互呢?其实猜测一下,Web和本地应用进行交互 ...
- 《深入理解Spark-核心思想与源码分析》(六)第六章计算引擎
RDD是Spark对各类数据计算模型的统一抽象,被用于迭代计算过程以及任务输出结果的缓存读写. 在所有MapReduce框架中,shuffle是连接map任务和reduce任务的桥梁.shuffle性 ...
- LC滤波电路分析,LC滤波电路原理及其时间常数的计算
LC滤波器具有结构简单.设备投资少.运行可靠性较高.运行费用较低等优点,应用很广泛. LC滤波器又分为单调谐滤波器.高通滤波器.双调谐滤波器及三调谐滤波器等几种. LC滤波主要是电感的电阻小,直流损耗 ...
- 全基因组关联分析学习资料(GWAS tutorial)
前言 很多人问我有没有关于全基因组关联分析(GWAS)原理的书籍或者文章推荐. 其实我个人觉得,做这个分析,先从跑流程开始,再去看原理. 为什么这么说呢,因为对于初学者来说,跑流程就像一个大黑洞,学习 ...
- GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing
现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...
随机推荐
- vue -webkit-box-orient: vertical webpack打包后被过滤掉了 线上没有这行代码
(1)方法一:加上绿色注释,跳过webpack的css打包 .word-overflow-{ overflow:hidden; text-overflow:ellipsis; display:-web ...
- 小程序开发基础-view视图容器
view 视图容器. // wxml <view class="section"> <view class="section__title"& ...
- SQLServer之数据库行锁
行锁使用注意事项 1.ROWLOCK行级锁确保在用户取得被更新的行,到该行进行更新,这段时间内不被其它用户所修改.因而行级锁即可保证数据的一致性,又能提高数据操作的并发性. 2.ROWLOCK告诉SQ ...
- 编辑器之神-vim的使用
vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 vi三种模式 命令模式(默认):是文件的入口, ...
- JSX有感
开发一个网页,我们要写视图部分HTML,也要写交互逻辑JS. 写JS时,不断翻看HTML,确保querySelector能取到期望的元素. 改HTML时,一个个排查JS文件,确保其没受影响. -- 类 ...
- YASnippet - emacs 的代码片段管理工具
添加 snippet M-x 然后输入 yas-new-snippet 回车 RET,会出现一个新的 buffer # -*- mode: snippet -*- # name: # key: # - ...
- Mysql语句删除主键的自增
ALTER TABLE 表名MODIFY COLUMN 字段名 int(2) NOT NULL FIRST ;
- 用Redis管理Session
maven <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</ar ...
- 好程序员web前端分享javascript关联数组用法总结
好程序员web前端分享javascript关联数组用法总结,有需要的朋友可以参考下. Hash关联数组定义 代码如下 // 定义空数组 myhash = { } // 直接定义数组 myhash = ...
- 类 Random
什么是Random类 此类的实例用于生成伪随机数 Random使用步骤 查看类 java.util.Random :该类需要 import导入使后使用. 查看构造方法 public Random() ...