安装并载入软件包:
install.packages("devtools")
devtools::install_github("MRCIEU/TwoSampleMR")
install_github("MRCIEU/TwoSampleMR")
library("devtools")
library(TwoSampleMR)
运行TSMR
提取暴露因素的工具变量
options(ieugwasr_api = 'gwas-api.mrcieu.ac.uk/')#让IEU网站即时出结果
exposure_dat <- extract_instruments(outcomes = 'ebi-a-GCST90029019')
head(exposure_dat)
如果想要调整clump参数,可以把R方调整成0.01
exposure_dat <- extract_instruments(outcomes = 'prot-c-2992_59_2',
clump = TRUE, r2 = 0.01,
kb = 5000)
如果想要调整P值,r2<0.001,kb=10000用于去除连锁不平衡
exposure_dat <- extract_instruments(outcomes = 'ebi-a-GCST006956',
p1 = 5e-08,
clump = TRUE,r2 = 0.001,kb = 10000,
)
将工具SNP作为一个新的csv文件输出
write.csv(exposure_dat,"exposure_dat.csv", row.names=F)
在胃癌ebi-a-GCST90018849这个数据中找到与上面SNP匹配的数据,这样就生成了暴露数据
outcome_dat<-extract_outcome_data(snps=exposure_dat$SNP,
outcomes='ebi-a-GCST90018849',
proxies = FALSE,
maf_threshold = 0.01)
效应等位与效应量保持统一
dat <- harmonise_data(
exposure_dat = exposure_dat,
outcome_dat = outcome_dat
)
res <- mr(dat)
res
异质性检验 mr_heterogeneity
mr_heterogeneity(dat)
水平多效性检验,如果变量工具不通过暴露影响结果(p值大于0.05是正确的),就违反了孟德尔的假设,就是存在多水平效应。
mr_pleiotropy_test(dat)
res_loo <- mr_leaveoneout(dat)
mr_leaveoneout_plot(res_loo)
可视化,做出散点图,看相关趋势。
p1 <- mr_scatter_plot(res, dat)
p1
森林图,森林图主要是看总效应
res_single <- mr_singlesnp(dat)
mr_forest_plot(res_single)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具