GWAS分析基本流程及分析思路
数据预处理(DNA genotyping、Quality control、Imputation)
QC的工作可以做PLINK上完成Imputation的工作用IMPUTE2完成
2. 表型数据统计分析
逻辑回归(表型数据为二元)
线性回归(表型数据为连续性变量)
表型数据正态分析(如果不是正态分布,需转换处理为正态分布)
表型数据均值、中值、最大值、最小值
影响因子对表型的影响分析
3.画曼哈顿图(GWAS)和QQ plot图
(一)、准备plink文件
(1)、准备PED文件
PED文件有六列,六列内容如下:Family IDIndividual IDPaternal IDMaternal IDSex (1=male; 2=female; other=unknown)PhenotypePED文件是空格(空格或制表符)分隔的文件。
(2)、准备MAP文件
MAP文件有四列,四列内容如下:chromosome (1-22, X, Y or 0 if unplaced)rs# or snp identifierGenetic distance (morgans)Base-pair position (bp units)
(3)、生成bed、fam、bim、文件
在plink中输入命令:plink --file mydata --out mydata --make-bedplink指的是plink软件,如果软件安装在某个指定的路径的话,前面还要加上路径,比如安装在路径为/your/pathway/的文件夹下,则命令应该为“/your/pathway/plink --file mydata --out mydata --make-bed”mydata指的是1和2生成的PED和MAP文件名,不需要写.ped和.map后缀(二)、准备表型文件(Alternate phenotype files)
一般表型文件为txt格式,表型文件有三列,分别为:Family IDIndividual IDPhenotype假如有多种表型,第一列和第二列还是Family ID、Individual ID,第三列及以后的每列都是表型,例如以下:Family IDIndividual IDPhenotype APhenotype BPhenotype CPhenotype DPhenotype E……
(三)、准备协变量文件(Covariate files)
协变量文件同表型文件类似,第一列和第二列是Family ID、Individual ID,第三列及以后的每列都是协变量Family IDIndividual IDCovariate ACovariate BCovariate CCovariate DCovariate E……
(四)、plink进行表型和基因型以及协变量的关联分析
命令如下:plink --bfile mydata --linear --pheno pheno.txt --mpheno 1 --covar covar.txt --covar-number 1,2,3 --out mydata –noweb生成的文件为mydata.assoc.linear注:“mydata”mydata文件不需要后缀,“--mpheno 1”指的是表型文件的第三列(即第一个表型)“--covar-number 1,2,3”指的是协变量文件的第三列、第四列、第五列(即第一个、第二个、第三个协变量)“--linear”指的是用的连续型线性回归,如果表型为二项式(即0、1)类型,则用“--logistic”
(五)、画曼哈顿图(GWAS)图
安装R语言的CpGassoc包,其中的manhattan(),即可画曼哈顿图
(六)、画QQ plot图
R语言中的 qqnorm() 和 qqplot() 包提供了QQ plot的画法,具体自行搜索用法;
4. GWAS进阶分析
群体分层分析,Population Stratification
如果研究的群体是混合群体,遗传异质性高,存在群体分层现象,易造成实验的误差或者检测出假阳性位点。因此检测群体分层对效应值的影响是非常必要的。
不同群体重复验证分析,Replication
Regional association plots
用LocusZoom(http://csg.sph.umich.edu/locuszoom/)画出来的相似条件分析,Approximate conditional analysis
相似条件分析的目的是,去掉lead SNPs后,再跑一次GWAS关联分析,以此找到更多有强关联的信号。
连锁不平衡得分评估表型间遗传相关性,Linkage-disequilibrium score regression
遗传相关性 genetic correlation, 这是指在杂种群体表型间的相关性中,由基因型所产生的相关性。遗传相关是仅由遗传原因引起的相关。
基因富集分析,Gene setenrichment analysis
从文献,GTEX、 GEUVADIS等据数据找到与 Lead SNPs 关系很大的基因、变异等,以及与 Lead SNPs 连锁不平衡分析r2大于0.8的SNP,则这些SNP的基因可以作为候选基因。汇总了所有的候选基因后,在GOTERM、KEGG、Panther等数据库分析这些候选基因的富集分析。
层次聚类分析,Hierarchicalclustering
层次聚类分析的作用是更进一步看出研究的表型相关的 lead SNPs与其他表型的相关性;
蛋白质-蛋白质互作网络分析,Protein–proteininteraction network analyses
蛋白质互作网络的目的是看哪些蛋白共同调控了表型
Point ofcontact analyses
Point of contact analyses的作用是哪些位点导致了表型间有相关性
参考文献:
Horikoshi, Momoko, et al. "Genome-wide associations for birth weight and correlations with adult disease." Nature 538.7624 (2016): 248.
Okbay A, Beauchamp J P, Fontana M A, et al. Genome-wide association study identifies 74 loci associated with educational attainment[J]. Nature, 2016, 533(7604): 539.
GWAS分析基本流程及分析思路的更多相关文章
- Ecshop的购物流程代码分析详细说明
Ecshop的购物流程代码分析详细说明 (2012-07-30 10:41:12) 转载▼ 标签: 购物车 结算中心 商品价格 ecshop ecshop购物流程 杂谈 分类: ECSHOP研究院 同 ...
- Raid1源代码分析--写流程
正确写流程的总体步骤是,raid1接收上层的写bio,申请一个r1_bio结构,将其中的所有bios[]指向该bio.假设盘阵中有N块盘.然后克隆N份上层的bio结构,并分别将每个bios[]指向克隆 ...
- 通过官方API结合源码,如何分析程序流程
通过官方API结合源码,如何分析程序流程通过官方API找到我们关注的API的某个方法,然后把整个流程执行起来,然后在idea中,把我们关注的方法打上断点,然后通过Step Out,从内向外一层一层分析 ...
- Openfire注册流程代码分析
Openfire注册流程代码分析 一.客户端/服务端注册用户流程 经过主机连接消息确认后,客户端共发送俩条XML完成注册过程.服务器返回两条XML. 注:IQ消息节点用于处理用户的注册.好友.分组.获 ...
- Linux Kernel文件系统写I/O流程代码分析(二)bdi_writeback
Linux Kernel文件系统写I/O流程代码分析(二)bdi_writeback 上一篇# Linux Kernel文件系统写I/O流程代码分析(一),我们看到Buffered IO,写操作写入到 ...
- Linux Kernel文件系统写I/O流程代码分析(一)
Linux Kernel文件系统写I/O流程代码分析(一) 在Linux VFS机制简析(二)这篇博客上介绍了struct address_space_operations里底层文件系统需要实现的操作 ...
- Flink 源码解析 —— Standalone Session Cluster 启动流程深度分析之 Job Manager 启动
Job Manager 启动 https://t.zsxq.com/AurR3rN 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Mac ...
- Flink 源码解析 —— Standalone Session Cluster 启动流程深度分析之 Task Manager 启动
Task Manager 启动 https://t.zsxq.com/qjEUFau 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Ma ...
- Okhttp3源码解析(3)-Call分析(整体流程)
### 前言 前面我们讲了 [Okhttp的基本用法](https://www.jianshu.com/p/8e404d9c160f) [Okhttp3源码解析(1)-OkHttpClient分析]( ...
随机推荐
- C#开发WEBService服务 C++开发客户端调用WEBService服务
编写WEBService服务端应用程序并部署 http://blog.csdn.net/u011835515/article/details/47615425 编写调用WEBService的C++客户 ...
- Python+ITchart实现微信中男女比例,城市分布统计并可视化显示
直接上代码: import itchat import os import csv import pandas as pd from pyecharts import Bar,Pie,Geo impo ...
- restful api与传统api的区别(方式及语法)
示例:一个状态数据操作接口 传统模式: api/getstate.aspx- 获取状态信息api/updatestate.aspx - 更新状态信息api/deletestate.aspx - 删除该 ...
- Windows 下端口被占用
0. 参考 参考链接: Windows下如何查看某个端口被谁占用 1. 遇到的问题 在 Windows 下的 IDEA 中启动 Web 服务显示 8080 端口被占用,程序无法正确启动. 2. 解决 ...
- Java 集合系列(一)
Java集合系列文章将以思维导图为主要形式来展示知识点,让零碎的知识形成体系. 这篇文章主要介绍的是[Java 集合的基本知识],即Java 集合简介. 毕业出来一直使用 PHP 进行开发,对于大学所 ...
- vi命令下常用命令
dd:删除游标所在的一整行(常用)ndd:n为数字.删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行d1G:删除光标所在到第一行的所有数据dG:删除光标所在到最后一行的所有数据d$:删 ...
- supervisor 工具 配置
配置supervisor工具,管理django后台 supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可 ...
- 在app中从下向上滑动,以找到不在默认第一页的元素
1.在app中,如果第一面没有出现你要的元素,需要下滑拉动到你需要的元素的位置
- 【Git】+ 新建+删除+上传+覆盖
上传代码时邮箱格式不符合:https://blog.csdn.net/u012558695/article/details/64921922 在本地新建一个分支: git branch newBran ...
- JavaScript简单了解
一.JavaScript 的诞生历史 在最初的时候 JS 主要解决的问题是一些服务器端语言(perl)对数据的 验证功能,在js 出现之前要对表单的数据进行验证需要将数据提交到服务器 端之后才能验证数 ...