当前位置 : 主页 > 编程语言 > java >

使用TwoSampleMR进行两样本的孟德尔随机化研究

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ TwoSampleMR是MR-Base数据库开发团队提供的R包,可以调用MR-Base数据库中已有的gwas结果,来进行2SMR分析,官方文档链接如下 ​​https://mrcieu.github.io/TwoSampleMR/​​ 2SMR分析需要两个输入文

TwoSampleMR是MR-Base数据库开发团队提供的R包,可以调用MR-Base数据库中已有的gwas结果,来进行2SMR分析,官方文档链接如下

​​https://mrcieu.github.io/TwoSampleMR/​​

2SMR分析需要两个输入文件,第一个文件为遗传变异与暴露因素的gwas结果,第二个文件为遗传变异与结局变量的gwas结果。对于暴露因素相关的gwas结果,TwoSampleMR支持读取自定义的结果,同时也支持直接调用MR-Base中的结果;对于结局变量相关的gwas结果,仅支持调用MR-Base中的结果。

分析的pipeline示意如下

使用TwoSampleMR进行两样本的孟德尔随机化研究_数据分析

分为了以下4大步

1.  read exposure data

读取暴露因素的gwas结果,支持自定义,文件内容示意如下

使用TwoSampleMR进行两样本的孟德尔随机化研究_自定义_02

对于上述文件,读取的代码如下

exposure_dat <- read_exposure_data(exp_file)

2. read outcome data

读取结局变量的gwas结果,仅支持读取MR-base数据库中的gwas结果,需要google账号,读取的代码如下

ao <- available_outcomes()
outcome_dat <- extract_outcome_data(
snps=exposure_dat$SNP,
outcomes=7)

3.  Harmonise data

调整暴露因素和结局变量的gwas结果,主要目的

  • 将SNP位点统一调整成正链
  • 根据allele和频率判断两个gwas结果中的SNP位点是否一致,不一致的进行去除



  • 同一个位点在两个gwas结果中链的方向不一致的情况示意如下

    exposure effect = 0.5
    effect allele = A
    other allele = G
    outcome effect = -0.05
    effect allele = C
    other allele = T

    方向不一致的位点只需要统一调整成正链就可以了,snp位点不一致的情况示意如下

    exposure effect = 0.5
    effect allele = A
    other allele = G
    outcome effect = -0.05
    effect allele = A
    other allele = C

    从allele可以看出,这两个位点是不一致的,这样的位点需要被去除。这部分对应的代码如下

    dat <- harmonise_data(exposure_dat, outcome_dat)

    4. 运行MR分析

    协整之后就可以进行MR分析了,对应的代码如下

    res <- mr(dat)

    默认采用多种方法进行MR分析。其中MR-Egger回归和IVM方法还支持进行异质性的检验,用法如下

    mr_heterogeneity(dat)

    基因多效性则通过MR-Egger回归的截距进行判断,代码如下

    mr_pleiotropy_test(dat)

    TwoSampleMR对2SMR的过程进行了高度封装,保证了分析流程的易操作性,高准确度,美中不足的是,结局变量的gwas结果不支持自定义,缺乏了一丝灵活性。

    ·end·


    使用TwoSampleMR进行两样本的孟德尔随机化研究_自定义_03

    生物信息入门

    只差这一个

    公众号



    上一篇:【Rust日报】2021-12-11 Rust做的kitcat时钟
    下一篇:没有了
    网友评论