This R package provides access to the Qtlizer web server. Qtlizer annotates lists of common small variants (mainly SNPs) and genes in humans with associated changes in gene expression using the most comprehensive database of published quantitative trait loci (QTLs).
if(!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("Qtlizer")
library(Qtlizer)
#>
#> ---------
#>
#> For example usage please run: vignette('Qtlizer')
#>
#> Web-based GUI: http://genehopper.de/qtlizer
#> Documentation: http://genehopper.de/help#qtlizer_docu
#> Github Repo: https://github.com/matmu/Qtlizer
#>
#> Citation appreciated:
#> Munz M, Wohlers I, Simon E, Busch H, Schaefer A* and Erdmann J* (2018) Qtlizer: comprehensive QTL annotation of GWAS results. bioRxiv DOI: https://doi.org/10.1101/495903
#>
#> ---------
The Qtlizer database can be queried with the function get_qtls
. Accepted query terms are variant and gene identifiers of the form
# Call get_qtls with a variant as a single query term
get_qtls("rs4284742")
#> 1 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 6 data point(s) received
#> query_type query_term sentinel proxy_variant corr ld_method corr_thr chr
#> 1 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> 2 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> 3 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> 4 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> 5 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> 6 Variant rs4284742 rs4284742 <NA> <NA> <NA> <NA> 19
#> var_pos_hg19 var_pos_hg38 type gene ensgid colocalization
#> 1 52131733 51628480 eQTL CD33 ENSG00000105383 cis
#> 2 52131733 51628480 eQTL SIGLEC5 ENSG00000105501 cis
#> 3 52131733 51628480 eQTL ZNF813 ENSG00000198346 trans
#> 4 52131733 51628480 eQTL NDUFA3 ENSG00000170906 trans
#> 5 52131733 51628480 eQTL SYT5 ENSG00000129990 trans
#> 6 52131733 51628480 eQTL ZNF787 ENSG00000142409 trans
#> distance tissue p sign_info beta
#> 1 384.6 Cells - Lymphoblastoid cell lines 1.2e-01 Q-value; FDR<5% <NA>
#> 2 0.0 Peripheral blood 7.7e-14 FDR<5% <NA>
#> 3 1839.3 Brain - Cerebellum 4.5e-03 FWER<5% <NA>
#> 4 2474.2 Brain - Parietal lobe 4.3e-03 FWER<5% <NA>
#> 5 3542.7 Brain - Parietal lobe 8.7e-03 FWER<5% <NA>
#> 6 4458.9 Brain - Parietal lobe 6.4e-03 FWER<5% <NA>
#> ea nea source pmid is_sign is_best n_qtls n_best
#> 1 <NA> <NA> seeQTL PMID:22171328 false false 8 0
#> 2 A G Blood eQTL Browser PMID:24013639 true false 151 0
#> 3 <NA> <NA> ScanDB PMID:19933162 false false 18 0
#> 4 <NA> <NA> ScanDB PMID:19933162 false false 8 0
#> 5 <NA> <NA> ScanDB PMID:19933162 false false 9 0
#> 6 <NA> <NA> ScanDB PMID:19933162 false false 21 0
#> n_sw_sign n_occ
#> 1 0 1
#> 2 1 1
#> 3 0 1
#> 4 0 1
#> 5 0 1
#> 6 0 1
Common seperators (space, comma, space + comma, …) are accepted. Multiple terms can be passed in a single string, each term separated by comma, whitespace or both:
# Call get_qtls with multiple query terms in single string
df = get_qtls("rs4284742, rs2070901")
#> 2 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 29 data point(s) received
Alternatively, terms can be passed as a vector:
# Call get_qtls with multiple query terms as vector
df = get_qtls(c("rs4284742", "DEFA1"))
#> 2 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 217 data point(s) received
Input variants can be enriched by variants in linkage disequilibrium (LD). The correlation method to be used can be set with ld_method
. Default is “r2”, alternatively “dprime” can be used. The correlation threshold, above which other correlated variants should be included, can be set with corr
and ranges between 0 and 1. Default is “NA”
# Use parameters corr and ld_method
df = get_qtls(c("rs4284742", "DEFA1"), corr = 0.8, ld_method = "r2")
#> 2 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 217 data point(s) received
Also, column descriptions can be viewed:
# View meta info
df = get_qtls("rs4284742")
#> 1 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 6 data point(s) received
comment(df)
#> [1] "# query_type:Query type"
#> [2] "# query_term:Query term"
#> [3] "# sentinel:Index variant"
#> [4] "# chr: Chromosome name of sentinel/proxy variant on reference genome"
#> [5] "# var_pos_hg19: Position of sentinel (or proxy if defined) variant on reference genome hg19"
#> [6] "# var_pos_hg38: Position of sentinel (or proxy if defined) variant on reference genome hg38"
#> [7] "# type:QTL type"
#> [8] "# gene:Gene"
#> [9] "# ensgid:Ensembl Gene ID"
#> [10] "# colocalization:Co-localization;Cis indicates, if index/proxy variant and gene are located in the same topologically associated domain, trans if not"
#> [11] "# distance:Distance;Distance between index/proxy variant and gene in kilobases"
#> [12] "# tissue:Tissue"
#> [13] "# p:P-value"
#> [14] "# sign_info:Significance info"
#> [15] "# beta:Beta;Effect size and direction with respect to effect allele"
#> [16] "# ea:EA;Effect allele"
#> [17] "# nea:NEA;Non-effect allele"
#> [18] "# source:Source"
#> [19] "# pmid:PMID"
#> [20] "# is_sign:Is sign"
#> [21] "# is_best:Is best"
#> [22] "# n_qtls:N QTLs"
#> [23] "# n_best:N best"
#> [24] "# n_sign:N sign"
#> [25] "# n_occ:N occ"
The QTL results is returned as data frame by default or as GenomicRanges::GRanges
object. To return the results as GenomicRanges::GRanges object, return_obj
is set to “granges”. If return_obj
is set to “granges”, parameter ref_version
sets the reference version in which the GRange object is returned. Allowed values are “hg19” (GRCh37) by default and “hg38” (GRCh38).
# Return result as GRange object with ref_version hg38
granges = get_qtls("rs4284742", return_obj = "granges", ref_version = "hg38")
#> 1 unique query term(s) found
#> Retrieving QTL information from Qtlizer...
#> 6 data point(s) received
The output of sessionInfo()
on the system
on which this document was compiled:
sessionInfo()
#> R version 3.6.1 (2019-07-05)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 18.04.3 LTS
#>
#> Matrix products: default
#> BLAS: /home/biocbuild/bbs-3.10-bioc/R/lib/libRblas.so
#> LAPACK: /home/biocbuild/bbs-3.10-bioc/R/lib/libRlapack.so
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] Qtlizer_1.0.0 BiocStyle_2.14.0
#>
#> loaded via a namespace (and not attached):
#> [1] Rcpp_1.0.2 XVector_0.26.0 knitr_1.25
#> [4] magrittr_1.5 zlibbioc_1.32.0 GenomicRanges_1.38.0
#> [7] BiocGenerics_0.32.0 IRanges_2.20.0 R6_2.4.0
#> [10] rlang_0.4.1 stringr_1.4.0 httr_1.4.1
#> [13] GenomeInfoDb_1.22.0 tools_3.6.1 parallel_3.6.1
#> [16] xfun_0.10 htmltools_0.4.0 yaml_2.2.0
#> [19] digest_0.6.22 bookdown_0.14 GenomeInfoDbData_1.2.2
#> [22] BiocManager_1.30.9 S4Vectors_0.24.0 bitops_1.0-6
#> [25] RCurl_1.95-4.12 curl_4.2 evaluate_0.14
#> [28] rmarkdown_1.16 stringi_1.4.3 compiler_3.6.1
#> [31] stats4_3.6.1