# Import GWAS summary statistics from Open GWAS

Alan Murphy, Brian Schilder, and Nathan Skene

#### 2022-03-29

    library(MungeSumstats)

MungeSumstats now offers high throughput query and import functionality to data from the MRC IEU Open GWAS Project.

# 1 Find GWAS datasets

    #### Search for datasets ####
    metagwas <- MungeSumstats::find_sumstats(traits = c("parkinson","alzheimer"),
                                             min_sample_size = 1000)
    head(metagwas,3)
    ids <- (dplyr::arrange(metagwas, nsnp))$id

    ##          id               trait group_name year    author
    ## 1 ieu-a-298 Alzheimer's disease     public 2013   Lambert
    ## 2   ieu-b-2 Alzheimer's disease     public 2019 Kunkle BW
    ## 3 ieu-a-297 Alzheimer's disease     public 2013   Lambert
    ##                                                                                                                                                                                                                                                                                                                    consortium
    ## 1                                                                                                                                                                                                                                                                                                                        IGAP
    ## 2 Alzheimer Disease Genetics Consortium (ADGC), European Alzheimer's Disease Initiative (EADI), Cohorts for Heart and Aging Research in Genomic Epidemiology Consortium (CHARGE), Genetic and Environmental Risk in AD/Defining Genetic, Polygenic and Environmental Risk for Alzheimer's Disease Consortium (GERAD/PERADES),
    ## 3                                                                                                                                                                                                                                                                                                                        IGAP
    ##                 sex population     unit     nsnp sample_size       build
    ## 1 Males and Females   European log odds    11633       74046 HG19/GRCh37
    ## 2 Males and Females   European       NA 10528610       63926 HG19/GRCh37
    ## 3 Males and Females   European log odds  7055882       54162 HG19/GRCh37
    ##   category                subcategory ontology mr priority     pmid sd
    ## 1  Disease Psychiatric / neurological       NA  1        1 24162737 NA
    ## 2   Binary Psychiatric / neurological       NA  1        0 30820047 NA
    ## 3  Disease Psychiatric / neurological       NA  1        2 24162737 NA
    ##                                                                      note ncase
    ## 1 Exposure only; Effect allele frequencies are missing; forward(+) strand 25580
    ## 2                                                                      NA 21982
    ## 3                Effect allele frequencies are missing; forward(+) strand 17008
    ##   ncontrol     N
    ## 1    48466 74046
    ## 2    41944 63926
    ## 3    37154 54162

# 2 Import full results

You can supply `import_sumstats()` with a list of as many OpenGWAS IDs as you want, but we’ll just give one to save time.

    datasets <- MungeSumstats::import_sumstats(ids = "ieu-a-298",
                                               ref_genome = "GRCH37")

## 2.1 Summarise results

By default, `import_sumstats` results a named list where the names are the Open GWAS dataset IDs and the items are the respective paths to the formatted summary statistics.

    print(datasets)

    ## $`ieu-a-298`
    ## [1] "/tmp/RtmpMFMfZr/ieu-a-298.tsv.gz"

You can easily turn this into a data.frame as well.

    results_df <- data.frame(id=names(datasets),
                             path=unlist(datasets))
    print(results_df)

    ##                  id                             path
    ## ieu-a-298 ieu-a-298 /tmp/RtmpMFMfZr/ieu-a-298.tsv.gz

# 3 Import full results (parallel)

Optional: Speed up with multi-threaded download via axel.

    datasets <- MungeSumstats::import_sumstats(ids = ids,
                                               vcf_download = TRUE,
                                               download_method = "axel",
                                               nThread = max(2,future::availableCores()-2))

# 4 Further functionality

See the Getting started vignette for more information on how to use MungeSumstats and its functionality.

# 5 Session Info

    utils::sessionInfo()

    ## R version 4.1.3 (2022-03-10)
    ## Platform: x86_64-apple-darwin17.0 (64-bit)
    ## Running under: macOS Mojave 10.14.6
    ##
    ## Matrix products: default
    ## BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib
    ## LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
    ##
    ## locale:
    ## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
    ##
    ## attached base packages:
    ## [1] stats     graphics  grDevices utils     datasets  methods   base
    ##
    ## other attached packages:
    ## [1] MungeSumstats_1.2.4 BiocStyle_2.22.0
    ##
    ## loaded via a namespace (and not attached):
    ##   [1] fs_1.5.2
    ##   [2] bitops_1.0-7
    ##   [3] matrixStats_0.61.0
    ##   [4] bit64_4.0.5
    ##   [5] filelock_1.0.2
    ##   [6] progress_1.2.2
    ##   [7] httr_1.4.2
    ##   [8] GenomeInfoDb_1.30.1
    ##   [9] googleAuthR_2.0.0
    ##  [10] tools_4.1.3
    ##  [11] bslib_0.3.1
    ##  [12] utf8_1.2.2
    ##  [13] R6_2.5.1
    ##  [14] DBI_1.1.2
    ##  [15] BiocGenerics_0.40.0
    ##  [16] tidyselect_1.1.2
    ##  [17] prettyunits_1.1.1
    ##  [18] bit_4.0.4
    ##  [19] curl_4.3.2
    ##  [20] compiler_4.1.3
    ##  [21] cli_3.2.0
    ##  [22] Biobase_2.54.0
    ##  [23] xml2_1.3.3
    ##  [24] DelayedArray_0.20.0
    ##  [25] rtracklayer_1.54.0
    ##  [26] bookdown_0.25
    ##  [27] sass_0.4.1
    ##  [28] rappdirs_0.3.3
    ##  [29] stringr_1.4.0
    ##  [30] digest_0.6.29
    ##  [31] Rsamtools_2.10.0
    ##  [32] rmarkdown_2.13
    ##  [33] R.utils_2.11.0
    ##  [34] XVector_0.34.0
    ##  [35] BSgenome.Hsapiens.1000genomes.hs37d5_0.99.1
    ##  [36] pkgconfig_2.0.3
    ##  [37] htmltools_0.5.2
    ##  [38] MatrixGenerics_1.6.0
    ##  [39] dbplyr_2.1.1
    ##  [40] fastmap_1.1.0
    ##  [41] BSgenome_1.62.0
    ##  [42] rlang_1.0.2
    ##  [43] RSQLite_2.2.11
    ##  [44] jquerylib_0.1.4
    ##  [45] BiocIO_1.4.0
    ##  [46] generics_0.1.2
    ##  [47] jsonlite_1.8.0
    ##  [48] BiocParallel_1.28.3
    ##  [49] dplyr_1.0.8
    ##  [50] R.oo_1.24.0
    ##  [51] VariantAnnotation_1.40.0
    ##  [52] RCurl_1.98-1.6
    ##  [53] magrittr_2.0.2
    ##  [54] GenomeInfoDbData_1.2.7
    ##  [55] Matrix_1.4-1
    ##  [56] Rcpp_1.0.8.3
    ##  [57] S4Vectors_0.32.4
    ##  [58] fansi_1.0.3
    ##  [59] lifecycle_1.0.1
    ##  [60] R.methodsS3_1.8.1
    ##  [61] stringi_1.7.6
    ##  [62] yaml_2.3.5
    ##  [63] SummarizedExperiment_1.24.0
    ##  [64] zlibbioc_1.40.0
    ##  [65] BiocFileCache_2.2.1
    ##  [66] grid_4.1.3
    ##  [67] blob_1.2.2
    ##  [68] parallel_4.1.3
    ##  [69] crayon_1.5.1
    ##  [70] lattice_0.20-45
    ##  [71] Biostrings_2.62.0
    ##  [72] GenomicFeatures_1.46.5
    ##  [73] hms_1.1.1
    ##  [74] KEGGREST_1.34.0
    ##  [75] knitr_1.38
    ##  [76] pillar_1.7.0
    ##  [77] GenomicRanges_1.46.1
    ##  [78] rjson_0.2.21
    ##  [79] biomaRt_2.50.3
    ##  [80] stats4_4.1.3
    ##  [81] XML_3.99-0.9
    ##  [82] glue_1.6.2
    ##  [83] evaluate_0.15
    ##  [84] SNPlocs.Hsapiens.dbSNP144.GRCh37_0.99.20
    ##  [85] data.table_1.14.2
    ##  [86] BiocManager_1.30.16
    ##  [87] png_0.1-7
    ##  [88] vctrs_0.3.8
    ##  [89] purrr_0.3.4
    ##  [90] assertthat_0.2.1
    ##  [91] cachem_1.0.6
    ##  [92] xfun_0.30
    ##  [93] restfulr_0.0.13
    ##  [94] gargle_1.2.0
    ##  [95] tibble_3.1.6
    ##  [96] GenomicAlignments_1.30.0
    ##  [97] AnnotationDbi_1.56.2
    ##  [98] memoise_2.0.1
    ##  [99] IRanges_2.28.0
    ## [100] ellipsis_0.3.2