8 类高频报错速查

报错现象根因解决方法
Cannot allocate vector of size X GB读入 GWAS 汇总数据超出内存分块读取;32GB+ 内存;关闭其他 R 会话
JDK/openjdk 相关 Java 报错rJava 依赖缺失apt install default-jdk 后重装 rJava
extract_outcome_data 返回 0 行SNP 不重叠或 ID 版本不一致统一 rsID 版本;检查 effect_allele 列
API 401/403(ieugwasr)OpenGWAS 需要 JWT token注册账号并 set_jwt()
ld_clump 卡住不动远程 LD 服务限流本地跑 plink + 1000G 参考面板
包安装 dependency failed依赖版本锁死renv 隔离环境;或 mamba 装 r-base
Warning: palindromic SNP回文 SNP 方向不确定用 MR-PRESSO 或按 allele frequency 推断
harmonise 后 SNP 大量丢失MAF 阈值/去重设置检查 clump_r2 与 p1 参数合理性

环境层面的根治方案

多数“玄学报错”的根源是 R 环境被反复装卸弄脏。推荐两条路线:

什么时候该换服务器

如果本地排查 + 改代码后仍然频繁 OOM,或 plink 本地 clumping 需要排队等机器,说明该上 32GB+ 内存的独立环境了——MR 讲究快速迭代试错,环境稳定比算力峰值更重要。

常见问题

TwoSampleMR 安装总是失败怎么办?

九成是依赖包版本冲突。建议新建一个干净的 R 环境(R ≥ 4.2),先安装 remotes,再用 remotes::install_github('MRCIEU/TwoSampleMR'),并确保系统已装 openjdk 和 libcurl 开发库。

为什么 extract_outcome_data 返回空结果?

通常是 SNP 的 rsID 在结局数据中不存在,或 allele 方向/坐标不匹配。先用 ieugwasr::assoc_qq 检查 SNP 重叠率,必要时把 SNP 升级到统一版本的 rsID(用 dbSNP merged 字段)。