Skip to contents
library(gwasglue2)
library(TwoSampleMR)
library(ieugwasr)
devtools::load_all("../") # this was added just for development

The usecase in this tutorial will be performing a basic MR analysis, using the TwoSampleMR package.

We will perform an MR analysis of body mass index (exposure - ieu-a-2) against coronary heart disease (outcome - ieu-a-7).

Obtain the data

x <- ieugwasr::tophits("ieu-a-2")$rsid
d1 <- ieugwasr::associations(variants = x, id = "ieu-a-2")
d2 <- ieugwasr::associations(variants = x, id = "ieu-a-7")

Obtain the metadata and create a metadata object

m1 <- ieugwasr::gwasinfo( "ieu-a-2")
m2 <- ieugwasr::gwasinfo( "ieu-a-7")
meta1 <-create_metadata(m1)
meta2 <-create_metadata(m2)

Construct the Summary Sets and set the tool and metadata (it uses ieugwasr::gwasinfo() with the source and id arguments)

sumset1 <- create_summaryset(d1, metadata=meta1)
sumset2 <- create_summaryset(d2, metadata=meta2)

Set the MR labels for each of your summary sets

sumset1 <-setAttributes(sumset1, mr_label = "exposure")
sumset2 <-setAttributes(sumset2, mr_label = "outcome")

Check the Metadata and MR labels

getMetadata(sumset1)
getAttributes(sumset1)

getMetadata(sumset2)
getAttributes(sumset2)

Create the DataSet object and Convert it to TwoSampleMR format


  #  create dataset and convert it to mr format
summary_sets <- list(sumset1,sumset2)
 
    # create dataset
    dataset <- create_dataset(summary_sets, harmonise = TRUE, tolerance = 0.08, action = 1)  %>%
    # Convert dataset to TwoSampleMR format
   convertForTwoSampleMR(.)

Perform the MR analysis

mr_result <-  merge(getData(dataset,1),getData(dataset,2), by = c("SNP", "mr_keep"))  %>%
  TwoSampleMR::mr(., method_list="mr_ivw")

mr_result