孟德尔随机化系列1
时间:2022-07-22
本文章向大家介绍孟德尔随机化系列1,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
孟德尔随机化(Mendelian Randomization, MR)是近几年流行起来的用来进行因果推断的有效方法,它以遗传变异为工具变量来推导结局和暴露的因果关系,能有效避免传统流行病学研究的混杂偏倚。如图所示,它的研究建立在三个假说之上:1)工具变量和暴露因素强相关;2)工具变量和混杂因素不相关;3)工具变量与结局不直接相关,它对结局的作用只能通过暴露来体现。
随着大量全基因组关联分析结果被发布和共享,现在的孟德尔随机化(主要是双样本孟德尔随机化)研究的文章数目也是逐年攀升,下面我将以‘TwoSampleMR’这个R包为例简单介绍孟德尔随机化的实施步骤。
1. 安装相关R包
install.packages('devtools')
library('devtools')
install_github("MRCIEU/TwoSampleMR")
2. 获取MR base的表型ID,将结果保存为pheno_info.csv这个文件
ao <-available_outcomes(access_token=NULL)
write.csv(ao,'pheno_info.csv',row.names=F)
3. 查看pheno_info.csv文件,获取与暴露相关的工具变量的信息以及结局信息。这里选择暴露为obesity class 2 (ID = 91), 结局为 type 2 diabetes (ID = 1090)
exp_dat <- extract_instruments(outcomes=91,access_token=NULL)
obesity_exp_dat <- clump_data(exp_dat)
t2d_out_dat <- extract_outcome_data(snps=obesity_exp_dat$SNP, outcomes=1090, access_token=NULL)
dat <- harmonise_data(exposure_dat =obesity_exp_dat, outcome_dat= t2d_out_dat)
4. 计算MR
res <- mr(dat)
下图是MR的计算结果
从上面的结果看,obesity class 2 与二型糖尿病之间并无因果关联
以上就是孟德尔随机化研究的第一部分,后续将为大家带来更深入和详细的探讨。如有问题,欢迎留言!
参考文献
- Emdin CA, Khera AV, Kathiresan S. MendelianRandomization. Jama 2017;318(19):1925-26.
- SmithGD, Ebrahim S. 'Mendelian randomization': can genetic epidemiology contributeto understanding environmental determinants of disease? Int J Epidemiol 2003;32(1):1-22.
- Haycock PC, Burgess S, Nounu A, et al. Association Between Telomere Length and Risk of Cancer and Non-Neoplastic Diseases: A Mendelian Randomization Study. JAMA oncology
- linux学习第四十三篇:LNMP架构介绍,mysql安装,php安装,Nginx介绍
- linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
- linux学习第四十二篇:PHP扩展模块安装
- linux学习第四十五篇:Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间
- 合格的配置中心应有的素养No.76
- linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
- linux学习第四十七篇:Nginx负载均衡,ssl原理,生产ssl密钥对,Nginx配置ssl
- linux学习第四十八篇:php-fpm的pool,php-fpm慢执行日志,定义open_basedir,php-fpm进程管理
- linux学习第五十一篇:NFS介绍,NFS服务端安装配置,NFS配置选项
- linux学习第五十二篇: exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp服务
- linux学习第五十四篇:Tomcat介绍,安装jdk,安装Tomcat
- linux学习第五十九篇:LVS DR模式搭建,keepalived lvs
- linux学习第五十四篇:配置Tomcat监听80端口,配置Tomcat的虚拟主机,Tomcat日志
- linux学习第五十六篇:集群介绍,keepalived介绍,用keepalived配置高可用集群
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题
- Kotlin 匿名类实现接口和抽象类的区别详解
- android实现微信朋友圈发布动态功能
- 基于Android studio3.6的JNI教程之helloworld思路详解
- 基于Android studio3.6的JNI教程之opencv实例详解
- AndroidStudio代码达到指定字符长度时自动换行实例
- android studio 新建项目报错的解决之路
- Android Studio 3.6中使用视图绑定替代 findViewById的方法
- Android 使用View Binding的方法详解
- CentOS一键安装Resilio Sync脚本
- Python从URL获取图片、读取图片格式并保存到本地
- Linux一键屏蔽指定国家所有的IP访问
- React基础(9)-React中发送Ajax请求以及Mock数据
- 一个快速引入CDN的workflow
- 在Ryzen平台上安装macOS High Sierra苹果系统