最近大家学习MR热情空前高涨,导致服务器常常拥堵。。。
就算不clump也还是极其卡顿:
难道真的要从vcf开始处理数据吗?
代码语言:javascript复制 # remotes::install_github("mrcieu/gwasvcf")
# suppressWarnings(suppressPackageStartupMessages({
# library(gwasvcf)
# library(VariantAnnotation)
# library(dplyr)
# library(magrittr)
# }))
# data0=VariantAnnotation::readVcf("../Confounders/met-d-SFA.vcf.gz")
# data1=gwasvcf::vcf_to_tibble(data0,id='ieu-b-4979')
差点卡死,赶紧中止,此路看来不通啊!
没办法,本地看来是跑不了了,有没有捷径可走呢?
零代码转换GWAS VCF文件 - 知乎 (zhihu.com)
再次谢谢医工科研MedicineIT团队
直接就转换为csv文件了( •̀ ω •́ )y~
代码语言:javascript复制alcohol <- fread("../Confounders/convert_met-d-SFA.vcf.gz.csv",data.table = F)
View(alcohol[1:4,1:9])
dim(alcohol)
# [1] 11633920 9
格式非常简洁!就是数据量特别大
再根据p值先简单筛选一下:
代码语言:javascript复制alcodat <- alcohol %>% filter(.,pval<1e-05)
dim(alcodat)
# [1] 17866 9
然后,就可以本地clump了:
ClumpMR/README.md at main · huangyebao/ClumpMR · GitHub deCODE数据处理(三) - 知乎 (zhihu.com)
1000G 参考基因组:https://data.broadinstitute.org/alkesgroup/FUSION/LDREF.tar.bz2
其他的参考基因组可以通过MAGMA | CTG (cncr.nl)找
代码语言:javascript复制# devtools::install_github("huangyebao/ClumpMR")
# devtools::install_github("explodecomputer/plinkbinr")
library(ClumpMR)
library(plinkbinr)
get_plink_exe()
#在线方式去除连锁不平衡--------
exposure_alco <- clump_dat(alcodat, clump_kb = 10000, clump_r2 = 0.001, clump_p1 = 1, clump_p2 = 1, pop = "EUR")
#或本地方式去除连锁不平衡
ieugwasr::ld_clump_local(clump.dat,clump_r2=0.001,clump_kb=10000,clump_p=1,
bfile="path/to/reference/EUR", ## 欧洲的EUR
plink_bin="path/to/plink_Windows.exe")
然后,(转了这几个弯)就能产生和运行extract_instruments
这一行代码同样的数据了。
【如果是多变量MR分析的话】再把多个变量合并起来,
代码语言:javascript复制l <- list(exposure1,exposure2,exposure3,exposure4)
mvdat <- rbindlist(l, use.names=TRUE)
over!