EpiGraphDB R package epigraphdb

CRAN status Codecov test coverage

EpiGraphDB is an analytical platform and database to support data mining in epidemiology. The platform incorporates a graph of causal estimates generated by systematically applying Mendelian randomization to a wide array of phenotypes, and augments this with a wealth of additional data from other bioinformatic sources. EpiGraphDB aims to support appropriate application and interpretation of causal inference in systematic automated analyses of many phenotypes.

epigraphdb is an R package to provide ease of access to EpiGraphDB services. We will refer to epigraphdb as the name of the R package whereas "EpiGraphDB" as the overall platform.


To install the latest development version from github ( devtools is required ):

# install.packages("devtools")

To install a stable version from CRAN:


NOTE: while the package repository is “epigraphdb-r”, the R package name is “epigraphdb”.

Using epigraphdb

epigraphdb provides a simple and intuitive way to query the API, as:

#>   EpiGraphDB v1.0 (API: https://api.epigraphdb.org)
mr(outcome_trait = "Body mass index")
#> # A tibble: 370 x 12
#>    exposure_id exposure_name outcome_id outcome_name estimate      se
#>    <chr>       <chr>         <chr>      <chr>           <dbl>   <dbl>
#>  1 627         Epiandroster… 785        Body mass i…   0.0950 2.28e-3
#>  2 541         X-11787       835        Body mass i…  -0.0578 1.77e-4
#>  3 971         Ulcerative c… 835        Body mass i…  -0.0111 1.76e-4
#>  4 60          Waist circum… 835        Body mass i…   0.861  2.07e-2
#>  5 UKB-a:426   Eye problems… 94         Body mass i…  -1.12   1.90e-2
#>  6 UKB-a:373   Ever depress… 95         Body mass i…  -0.616  4.80e-4
#>  7 29          Birth length  95         Body mass i…  -0.141  5.67e-4
#>  8 350         Laurate (12:… 974        Body mass i…   0.418  7.10e-3
#>  9 UKB-a:124   Treatment/me… 974        Body mass i…  -5.14   1.08e-1
#> 10 95          Body mass in… 974        Body mass i…   0.981  2.79e-2
#> # … with 360 more rows, and 6 more variables: p <dbl>, ci_upp <dbl>,
#> #   ci_low <dbl>, selection <chr>, method <chr>, moescore <dbl>)

For more information on how to use the epigraphdb R package and how to use the API in R please check out the following articles:

Getting started with EpiGraphDB in R
Using EpiGraphDB R package
Using EpiGraphDB API (from R and command line)
Package options
Meta functionalities of the EpiGraphDB platform
Case study 1: Distinguishing vertical and horizontal pleiotropy for SNP-protein associations
Case study 2: Identification of potential drug targets
Case study 3: Triangulating causal estimates with literature evidence

Package functionalities

Users can use the general query function query_epigraphdb to get data from an API endpoint on EpiGraphDB without having to deal with HTTP requests by themselves. We also provide a list of functions (see the table below) that are equivalent to the upstream endpoints for the ease of use.

API r package
General query
Topic queries
GET /mr mr
GET /ontology/gwas-efo ontology_gwas_efo
GET /obs-cor obs_cor
GET /genetic-cor genetic_cor
GET /pqtl/ pqtl
GET /pqtl/pleio/ pqtl_pleio
GET /pqtl/list pqtl_list
GET /confounder confounder
GET /pathway pathway
GET /drugs/risk-factors drugs_risk_factors
GET /xqtl/multi-snp-mr xqtl_multi_snp_mr
GET /xqtl/single-snp-mr xqtl_single_snp_mr
GET /literature/gwas literature_gwas
POST /protein/in-pathway protein_in_pathway
POST /mappings/gene-to-protein mappings_gene_to_protein
GET /meta/nodes/list meta_nodes_list
GET /meta/rels/list meta_rels_list
GET /meta/nodes/{meta_node}/list meta_nodes_list_node
GET /meta/rels/{meta_rel}/list meta_rels_list_rel
GET /meta/nodes/{meta_node}/search meta_nodes_search_node
POST /cypher cypher

EpiGraphDB resources

link screenshot
docs docs
API api
web application webapp
r package epigraphdb-r


Please cite EpiGraphDB as

Yi Liu, Benjamin Elsworth, Pau Erola, Valeriia Haberland, Gibran Hemani, Matt Lyon, Jie Zheng, Oliver Lloyd, Marina Vabistsevits, Tom R Gaunt, EpiGraphDB: a database and data mining platform for health data science, Bioinformatics, btaa961, https://doi.org/10.1093/bioinformatics/btaa961

    author = {Liu, Yi and Elsworth, Benjamin and Erola, Pau and Haberland, Valeriia and Hemani, Gibran and Lyon, Matt and Zheng, Jie and Lloyd, Oliver and Vabistsevits, Marina and Gaunt, Tom R},
    title = {{EpiGraphDB}: a database and data mining platform for health data science},
    journal = {Bioinformatics},
    year = {2020},
    month = {11},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/btaa961},
    url = {https://doi.org/10.1093/bioinformatics/btaa961},
    note = {btaa961},
    eprint = {https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btaa961/34178613/btaa961.pdf}


Please get in touch with us for issues, comments, suggestions, etc. via the following methods: