怎么办,孟德尔随机化连锁不平衡跑不了!这里有本地连锁不平衡分析方法

大家都知道,孟德尔随机化很大程度依赖于国外的服务器。

最近我们发现孟德尔随机化常用的TwoSampleMR包的clump函数经常报错,这是由于服务器访问人群超时造成的现象,当线上版本失效。

很多人做孟德尔随机化,就卡在clump上。

于是我们就找了本地方法来进行连锁不平衡分析。

今天教一下大家如何操作:

第一步:下载两个东西

pink link软件data_maf0.01_rs_ref参考文件下载

pink link软件:https://www.cog-genomics.org/plink/1.9/

data_maf0.01_rs_ref参考文件:https://github.com/MRCIEU/gwasvcf

1)下载pink link软件

2f978226a0eef94f892fe63c53b20c7e.png

2)下载data_maf0.01_rs_ref参考文件

37faa85041f91f5dca10211d3a935e06.png

下载后将文件解压后放在工作空间即可

3e68148bbbb0db35700229c955b40e90.png

第二步:在R中安装相应的包

dd76741a878c164b23b3d5ce3fbba7be.png

第三步:读取数据后将数据框中的ID列和P值列进行保留

44b0bde7d1c5c6129af8394fd939b55c.png

将列名重新命名成rsid和pval,否则接下来的操作会报错

18bb7ed478d91e2ae938c223ffe2e3e2.png

第四步:通过下面函数进行连锁不平衡操作

a85f3521e97ccbe86a7d54096995494a.png

注意:bfile上写的是之前下载的data_maf0.01_rs_ref的工作路径,设置完后再加一个data_maf0.01_rs_ref(代表文件夹里的三个文件)。同理,plink_bin上写的之前下载的plink工作路径,再在后面加上plink

最后,通过以下函数保存文件

f30902d607ee4194d771f73f45422c4b.png

最后得到的文件就可以进行后续的孟德尔随机化分析啦~

一个专门做公共数据库的公众号,关注我们

d5c88860754e15eea517dcbd72f8966b.png

<think>嗯,用户想解决孟德尔随机化分析中数据无法直接提取的问题。首先,我得回忆一下孟德尔随机化的基本流程。根据引用[1],工具变量需要自己收集,而是通过GWAS数据合并来的。所以数据提取可能涉及从公开数据库获取GWAS和eQTL数据。 用户提到的错误可能是TwoSampleMR包的API请求过多导致的429错误,引用[3]提到这个情况。解决方法可能需要调整请求频率或使用本地数据。比如使用本地存储的GWAS数据,或者设置延迟,比如time.sleep()来避免频繁请求。 另外,引用[4]提到TWAS分析需要读入GWAS和eQTL数据,可能用户需要的数据格式转换问题。比如将下载的数据整理成适合TwoSampleMR包的格式,比如使用format_data函数转换。 还有,用户可能知道如何找到合适的公开数据库,比如IEU OpenGWAS、MR-Base等,这些地方可以直接获取数据,避免手动提取的问题。同时,预处理步骤也很重要,比如去除连锁平衡、检查弱工具变量等,确保数据质量。 可能用户遇到的问题还包括数据匹配,比如暴露和结局的SNP需要一致,这时候需要进行SNP匹配和补全,使用harmonise_data函数处理。如果数据量太大,可以考虑分批次处理或者使用并行计算。 总之,解决方案应该包括使用公开数据库、调整API请求策略、数据格式转换、预处理和SNP协调这几个方面。需要一步步引导用户,从数据获取到处理,确保他们能顺利提取所需的数据进行后续分析。</think>### 孟德尔随机化分析中数据提取问题的解决方案 #### 一、问题本质 孟德尔随机化分析需要GWAS汇总数据和eQTL数据作为输入,但原始数据往往无法直接获取[^1]。数据提取障碍主要来自: 1. API请求限制(如HTTP 429错误)[^3] 2. 数据格式兼容 3. 多源数据协调困难 #### 二、分步解决方法 **第一步:GWAS数据获取** 1. 优先使用MR-Base平台(https://gwas.mrcieu.ac.uk/)的预格式化数据 2. 通过TwoSampleMR包调用本地存储的GWAS数据: ```r exposure_dat <- extract_instruments("ieu-a-2") outcome_dat <- extract_outcome_data(exposure_dat$SNP, "ieu-a-7") ``` **第二步:API请求优化** 1. 添加请求间隔控制: ```r Sys.sleep(5) # 设置5秒间隔 mr_results <- mr(exposure_dat, outcome_dat) ``` 2. 使用本地缓存: ```r saveRDS(exposure_dat, "local_cache.rds") ``` **第三步:数据格式转换** 对于非标准格式数据,使用格式转换函数: ```r formatted_data <- format_data( raw_data, type = "exposure", snp_col = "rsID", beta_col = "BETA", se_col = "SE", effect_allele_col = "ALT" ) ``` **第四步:预处理增强** 1. 连锁平衡过滤: ```r clumped_data <- clump_data(exposure_dat) ``` 2. 工具变量强度检验: ```r F_stat <- (exposure_dat$beta.exposure / exposure_dat$se.exposure)^2 ``` #### 三、典型错误处理 **HTTP 429错误应对方案:** 1. 减少并发请求量 2. 使用离线模式(需预先下载数据) 3. 联系数据库管理员申请API密钥 #### 四、辅助工具推荐 | 工具名称 | 功能特点 | 访问地址 | |----------------|----------------------------|----------------------------| | MR-Base | 预格式化GWAS数据集 | https://gwas.mrcieu.ac.uk/ | | PhenoScanner | SNP表型关联查询 | http://www.phenoscanner.medschl.cam.ac.uk/ | | LDlink | 连锁平衡分析 | https://ldlink.nci.nih.gov/| #### 五、质量保障措施 1. 执行异质性检验: ```r mr_heterogeneity(res) ``` 2. 水平多效性检验: ```r mr_pleiotropy_test(res) ``` 3. 留一法敏感性分析: ```r leaveoneout_res <- mr_leaveoneout(dat) ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值