EpiGraphDB R package epigraphdb

CRAN status Travis build 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.

Installation

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

# install.packages("devtools")
devtools::install_github("MRCIEU/epigraphdb-r")

To install a stable version from CRAN ( we are in the process of submitting epigraphdb to CRAN ):

install.packages("epigraphdb")

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:

library("epigraphdb")
#>   EpiGraphDB v0.3
#>
#>   Web API: https://api.epigraphdb.org
#>
#>   To turn off this message, use
#>   suppressPackageStartupMessages({library("epigraphdb")})
#>
#>
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:

Article
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
query_epigraphdb
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
Utilities
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

Citation

Please cite EpiGraphDB as

Yi Liu, Benjamin Elsworth, Pau Erola, Valeriia Haberland, Gibran Hemani, Matt Lyon, Jie Zheng, Tom R Gaunt. 2020. EpiGraphDB: a database and data mining platform for health data science. bioRxiv. doi:10.1101/2020.08.01.230193.

@article {epigraphdb2020,
  author = {Liu, Yi and Elsworth, Benjamin and Erola, Pau and Haberland, Valeriia and Hemani, Gibran and Lyon, Matt and Zheng, Jie and Gaunt, Tom R},
  title = {{EpiGraphDB}: a database and data mining platform for health data science},
  journal = {bioRxiv},
  year = {2020},
  doi = {10.1101/2020.08.01.230193},
  url = {https://epigraphdb.org}
}

Contact

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