孟德尔随机化,其实MR自带循环

news/2024/10/27 16:19:01/

 关注微信公众号CodeMed

在进行孟德尔随机化研究中,尤其是目前组学当道,大家都纷纷加入,看已发表的文章,想把其他人的研究结局,替换成自己的的研究方向,进行探索(发SCI)... 

但是,不可避免的出现一个问题:我R基础不行,不会写循环啊......

   ---- 其实TwoSampleMR包自带循环

01

入门级做法

常规认知是如同TwoSampleMR Git Page官方文档提供的代码进行操作

例如我们要研究 HDL, LDL and Total cholesterol与coronary heart disease (CHD),首先肯定会做单因素。常规会像下面代码,进行三次重复操作

1. 先做HDL的

# 提取研究暴露的工具变量bmi_exp_dat <- extract_instruments(outcomes = 'ieu-a-299')# 根据暴露的SNP, 提取研究结局的chd_out_dat <- extract_outcome_data(snps = bmi_exp_dat$SNP, outcomes = 'ieu-a-7')#dat <- harmonise_data(bmi_exp_dat, chd_out_dat)# 后续一系列MR和敏感性分析mr(dat)

2. 在做LDL的

# 提取研究暴露的工具变量bmi_exp_dat <- extract_instruments(outcomes = 'ieu-a-300')# 根据暴露的SNP, 提取研究结局的chd_out_dat <- extract_outcome_data(snps = bmi_exp_dat$SNP, outcomes = 'ieu-a-7')#dat <- harmonise_data(bmi_exp_dat, chd_out_dat)# 后续一系列MR和敏感性分析mr(dat)

3. 在做Total cholesterol

# 提取研究暴露的工具变量bmi_exp_dat <- extract_instruments(outcomes = 'ieu-a-302')# 根据暴露的SNP, 提取研究结局的chd_out_dat <- extract_outcome_data(snps = bmi_exp_dat$SNP, outcomes = 'ieu-a-7')#dat <- harmonise_data(bmi_exp_dat, chd_out_dat)# 后续一系列MR和敏感性分析mr(dat)

...

如果还有其他变量,例如微生物组,蛋白组,代谢组...这些变量可不止3个,单独拿大家用的最多的菌群就有211个分类群,岂不是...

我又不会写什么for循环,封装什么Function

02

TSMR自带循环

接下来看下TwoSampleMR自带循环

大家可以复制下面代码直接放到R执行

library(TwoSampleMR)# 自动一次提取三个变量的工具变量,只需要把id填入Multiple_exp_dat <- extract_instruments(  outcomes = c("ieu-a-299", "ieu-a-300", "ieu-a-302"))# 提取三个变量合并SNP的结局# 当然这边也可以填入多个研究结局 outcomes=c("ieu-a-2","ieu-a-7")outcome <- extract_outcome_data(snps = Multiple_exp_dat$SNP,                     outcomes = "ieu-a-2")# harmonise # 【以这个函数,查看原理】Multiple_har <- harmonise_data(Multiple_exp_dat,outcome)# 进行mr分析Multiple_res <- mr(Multiple_har)# 进行过滤Multiple_har=steiger_filtering(Multiple_har)# 进行MRPRESSOres_MRPRESSO <- run_mr_presso(dat = Multiple_har)# 进行异质性heterogeneity <- mr_heterogeneity(Multiple_har)# 进行水平多效性pleiotropy <- mr_pleiotropy_test(Multiple_har)

上面结果大家可以看到,R的Console输出的信息,自动进行了一个个单因素分析。

查看Multiple_res,可以看到三份结果自动合并在一起了

TwoSampleMR自带的函数会自动根据id.exposure和id.outcome进行配套分析,就像你一个个分析HDL, LDL and Total cholesterol然后在合并起来的结果是一样的。

本地Summary GWAS数据导入,也会自动生成唯一的id.exposure与id.outcome

最后我们再来看下代码的原理,来验证下为什么说TwoSampleMR自带循环

以harmonise_data函数为例(选中函数,按F2)可以查看源码

subset(res.tab, !duplicated(paste(id.exposure, id.outcome)), select = c(id.exposure, id.outcome)) 提取配对的单因素

combs为有多少对id.exposure和id.exposure进行for循环分析

  • ​​​​​​​
# combs的数据提取出来例如为下面数据框# 3个暴露,2个结局> combs <- data.frame(expID=c("A1","A2","A3","A1","A2","A3"),>                     outID=c("B1","B1","B1","B2","B2","B2"))> 1:nrow(combs)[1] 1 2 3 4 5 6

http://www.ppmy.cn/news/557760.html

相关文章

孟德尔随机化——如何选择工具变量

背景知识&#xff0c;推荐阅读&#xff1a; Guidelines for performing Mendelian randomization investigations 讲了为什么要做MR、MR的原理、工具变量的选择、MR方法、 首先工具变量需要满足三个核心条件 Ref&#xff1a;Appraising the Causal Association of Plasma Hom…

孟德尔随机化,异质性Heterogeneity statistics

关注微信公众号CodeMed 在TwoSampleMR官方文档的敏感性分析Sensitivity analyses中&#xff0c;第一个就是今天要分享的异质性统计Heterogeneity statistics 做这个验证&#xff0c;代码也很简单&#xff0c;仅一个函数 mr_heterogeneity(dat) 主要看Cochran’s Q test的P值&…

历年诺贝尔物理学奖获得者名单及研究领域(1901-2016)

历年诺贝尔物理学奖获得者名单及研究领域&#xff08;1901&#xff0d;2016&#xff09; 1、1901年&#xff1a;威尔姆康拉德伦琴&#xff08;德国&#xff09;发现X射线 2、1902年&#xff1a;亨德瑞克安图恩洛伦兹&#xff08;荷兰&#xff09;、塞曼&#xff08;荷兰&#x…

孟德尔随机化,主要结果与阳性判断

关注微信公众号CodeMed 在进行MR分析中&#xff0c;由于存在多效性和异质性&#xff0c;并不是单纯用一种分析方法&#xff0c;就能证明我们研究的暴露和结局之间存在因果关联。在mr()函数&#xff0c;默认采用五种method&#xff08;图片绿框常用&#xff09;&#xff0c;外加…

AOSP开发环境搭建

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装虚拟机二、安装Ubuntu三、安装VMware tools3.1、通用安装3.2、Ubuntu22.04 中Drag and drop is not supported问题 四、安装依赖环境4.1、安装git4.2、…

misc和crtpto一些刷题(nssctf)

misc Spectre 将音频放进audacity 一下出 &#x1f434;utflag{sp3tr0gr4m0ph0n3} crypto [SWPUCTF 2022 新生赛]什锦 一眼猪圈密码 找个在线解密解一下 http://www.hiencode.com/pigpen.html 明文&#xff1a;pigissocutewhyyoukillpig 密码A是社会主义核心价值观密码 明…

Python办公自动化10大场景,你都知道吗?

在编程世界里&#xff0c;Python已经是名副其实的网红了。曾经一个学汉语言的研究生&#xff0c;问我怎么学Python&#xff0c;因为他们课程论文里需要用到文本分析&#xff0c;用Python来跑数据。我和他说&#xff0c;你看两天语法&#xff0c;就可以上手开干&#xff0c;不会…

初识burpsuite

文章目录 burpsuite实验环境安装激活端口设置浏览器 基本功能介绍实操 burpsuite Burp或Burp Suite&#xff08;饱嗝套装&#xff09;是一个用于测试网络应用程序安全性的图形化工具。以下简称bp&#xff0c;需要和浏览器联合使用。 实验环境 win10虚拟机&#xff0c;phpstu…