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 ...
随机推荐
- 003. 什么是 正向代理 & 反向代理
正向代理: 客户端的代理: 反向代理: 服务端的代理:
- 解决select2 在modal中搜索框无效的问题
$.fn.modal.Constructor.prototype.enforceFocus = function() {};
- Dotspatial 空间要素选择
//通过遍历选择要素,获取选择要素相交的要素 private void toolStripButton43_Click(object sender, EventArgs e) { //查看与选中要素重 ...
- Python笔记-IO编程
IO在计算机中是指input和output(数据输入与输出),涉及到数据交换(磁盘.网络)的地方就需要IO接口. 输入流input stream是指数据从外面(磁盘.网络服务器)流入内存:输出流out ...
- Ubuntu 18.04中截图工具Shutter的编辑按钮不可用的解决办法
Shutter是一个由第三方提供的在Ubuntu上运行的截图工具,相对于系统自带的截图工具(默认可通过Ctrl + Shift + Print快捷键启动截图),最大的优点就是可以即时对图片进行编辑,在 ...
- ajax实现用户登陆,退出,java做后端
最近http老师布置了个任务,用cookie完成登陆,退出.Http老师讲的是node.js写后端,由于自己还是擅长java些,还是用Java做了. 以前跟着教程写过一个网站,当初是用jsp+serv ...
- Python 爬虫 之 阅读呼叫转移(一)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/jcjc918/article/details/37533073 你是否苦恼于网上无法下载的& ...
- js 秒数格式化
function formatSeconds(value) { var theTime = parseInt(value);// 秒 var theTime1 = 0;// 分 var theTime ...
- 用Redis管理Session
maven <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</ar ...
- [原创]基于SpringAOP开发的方法调用链分析框架
新人熟悉项目必备工具!基于SpringAOP开发的一款方法调用链分析插件,简单到只需要一个注解,异步非阻塞,完美嵌入Spring Cloud.Dubbo项目!再也不用担心搞不懂项目! 很多新人进入一家 ...