马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
孟德尔随机化实战(三):从 IEU 数据库下载 GWAS 数据不报网络错
做两样本孟德尔随机化(TwoSampleMR)时,很多人卡在第一步——代码里调 API 下载数据,不是超时就是各种网络报错。解决办法很直接:绕开在线 API,直接从数据库把数据下载到本地,再读进 R 里。下面把数据要求和 IEU 下载流程一次讲清楚。
一、数据必须满足的最基本要求
TwoSampleMR 的工具变量数据框要求每行一个 SNP,至少要有这四列:
- SNP:rsID,SNP 的唯一标识符(形如 rs1234567)
- beta:效应大小。如果是二分类变量(比如是否患病),要用
log(OR),不能直接拿 OR 值
- se:效应大小的标准误差
- effect_allele:效应等位基因(A/T/C/G)
下面这些是加分项、不是必须:
- other_allele:非效应等位基因
- eaf:效应等位基因频率
- phenotype:SNP 有效应的表型名称
- chr / position:染色体与位置
- samplesize:估计效应量所用的样本量
- ncase / ncontrol:病例数 / 对照数
- pval:SNP 与暴露因子关联的 P 值
- units:效应量的单位
- gene:SNP 所在基因或其他注释
务必注意:不同来源的数据列名经常有出入(比如有的用 effect_allele、有的用 eaf 的拼写变体,有的把 beta 叫 effect),导入 R 之前先 colnames() 核一遍,再按 TwoSampleMR 需要的名字重命名。从数据库下的一般问题不大,从文献附表里抠出来的最容易缺列。
二、从 IEU OpenGWAS 数据库下载
第 1 步:找到数据
IEU 数据库官网:https://gwas.mrcieu.ac.uk/。首页中间那个搜索框直接输关键词就行;也可以点右上角的 datasets 进列表页,在 Trait contains 框里输关键词。这里以 bodymassindex(身体质量指数,也就是常说的 BMI)举例。
第 2 步:拿到 dataset id
搜出来会列出一堆数据集,每条都有一个形如 ieu-a-2 的 id(a 表示"发现"数据集,b 通常表示复制数据集)。记下这个 id,它就是后面拉取数据的钥匙。注意看每条的 ncase/ncontrol、 Population(人群,欧洲人为主)、Year 这几个字段——暴露和结局必须是同一人群,混着用是 MR 的经典错误。
第 3 步:两种取数方式
方式 A:命令行直接拉,适合网络不好的时候(在线 API 最容易超时,这也是最常见的报错来源):
wget "https://gwas-api.mrcieu.ac.uk/ieu-a-2/data"
# 或 curl
curl -o ieu-a-2.csv "https://gwas-api.mrcieu.ac.uk/ieu-a-2/data"
方式 B:在 R 里指定本地文件读,装好 TwoSampleMR 后:
library(TwoSampleMR)
dat <- read.csv("ieu-a-2.csv")
# 然后按列名整理成 mr_input 要求的格式
exposure_dat <- dat %>%
mutate(SNP = rsid, beta = effect, se = standard_error) %>%
select(SNP, beta, se, effect_allele, other_allele, eaf, pval)
out <- mr(exposure_dat, outcome_dat)
如果一定要走 API,就把 ieugwasr 的 token 配好(ieugwasr::get_gwas_info() 验证连通性),并设置代理,比裸连稳。
三、避免网络报错的四个做法
- 优先本地文件:数据下到本地再读,比每次分析都打 API 快得多,也不受网络波动影响。
- 下载完先体检:检查列名、检查有没有缺失的 beta/se、检查 effect_allele 是不是大写字母,有问题在这步修,别等到跑 MR 报错。
- 网络受限就换镜像/代理:IEU 的 API 在国内直连经常超时,配代理或走 mirror 都行。
- 缓存结果:处理好的 exposure/outcome 对象
saveRDS() 存下来,下次直接读,省得重复下载。
四、小结
MR 分析里"下载数据"这一步出状况,八成不是代码写错,而是在线 API 连不上。改成从 IEU 把数据下到本地、按四列基本要求整理好再进 TwoSampleMR,后面工具变量筛选、IVW、MR-Egger 那些步骤才跑得顺。
qidao123.com企服评测-应用市场 编辑提示 |