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分析]( ...
随机推荐
- EFCore使用JSON_VALUE查询json对象的值
EFCore使用JSON_VALUE查询json对象的值 Intro SqlServer 从2016开始支持 JSON 操作,可以使用 JSON_VALUE 查询 JSON 对象的某个属性值,更多介绍 ...
- (办公)SpringBoot与mybatisGenerator自动生成.
20181206-自动生成,少写一点代码. (以下的内容主要参考csdn上的<[完美]SpringBoot+Mybatis-Generator自动生成>这篇文章,还有简书上的mbatis- ...
- Mybatis从认识到了解
目录 MyBatis的介绍 介绍: 为什么选择MyBatis: 与Hibernate的对比: MyBatis的优点: 入门示例 Mybatis核心组件 四大核心组件 SqlSessionFactory ...
- SQL Server实际执行计划COST"欺骗"案例
有个系统,昨天Support人员发布了相关升级脚本后,今天发现系统中有个功能不能正常使用了,直接报超时了(Timeout expired)的错误.定位到相关相关存储过程后,然后在优化分析的过程中,又遇 ...
- SQL学习笔记---常用命令
常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...
- c/c++ 多线程 利用条件变量实现线程安全的队列
多线程 利用条件变量实现线程安全的队列 背景:标准STL库的队列queue是线程不安全的. 利用条件变量(Condition variable)简单实现一个线程安全的队列. 代码: #include ...
- LeetCode算法题-K-diff Pairs in an Array(Java实现)
这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532).给定一个整数数组和一个整数k,您需要找到数组中唯一的k- ...
- .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...
- SDOI2019R1游记
差点退役,真是开心 Day -2 吐了一晚上,差点死掉 被拉去医院打针,结果蛇皮的被扎了两针,真是好疼啊嘤嘤嘤 决定第二天在家里咕一天 Day -1 结果在家里也得做\(loli\)昨天的不知道从哪里 ...
- 22 python 初学(类,面向对象)
python: 函数式 + 面向对象 函数式可以做所有的事,是否合适? 面向对象: 一.定义: 函数: def + 函数名(参数) 面向对象: class -> 名字叫 Bar 类 def ...