---
title: "Qtlizer: comprehensive QTL annotation of GWAS results"
output: BiocStyle::html_document
author: "Julia Remes & Matthias Munz"
vignette: >
    %\VignetteIndexEntry{Qtlizer}
    %\VignetteEngine{knitr::rmarkdown}
    %\VignetteEncoding{UTF-8}
---




# Introduction 
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).


# Installation

``` r
if(!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("Qtlizer")
```

# Loading package

``` r
library(Qtlizer)
#> Error in `library()`:
#> ! there is no package called 'Qtlizer'
```

# Example function calls
The Qtlizer database can be queried  with the function `get_qtls`. Accepted query terms are variant and gene identifiers of the form

+ Rsid : rs + number e.g. "rs4284742"
+ reference:chr:pos e.g. "hg19:19:45412079" (Allowed references: hg19/GRCh37, hg38/GRCh38; accepted chromosomes are 1-22)
+ Gene symbol consisting of letters and numbers according to  [https://www.genenames.org/about/guidelines/]( https://www.genenames.org/about/guidelines/)


``` r
# Call get_qtls with a variant as a single query term
get_qtls("rs4284742")
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
```

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:

``` r
# Call get_qtls with multiple query terms in single string
df = get_qtls("rs4284742, rs2070901")
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
```

Alternatively, terms can be passed as a vector:

``` r
# Call get_qtls with multiple query terms as vector
df = get_qtls(c("rs4284742", "DEFA1"))
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
```

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"

``` r
# Use parameters corr and ld_method
df = get_qtls(c("rs4284742", "DEFA1"), corr = 0.8, ld_method = "r2")
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
```

Also, column descriptions can be viewed:

``` r
# View meta info
df = get_qtls("rs4284742")
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
comment(df)
#> NULL
```

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).

``` r
# Return result as GRange object with ref_version hg38
granges = get_qtls("rs4284742", return_obj = "granges", ref_version = "hg38")
#> Error in `get_qtls()`:
#> ! could not find function "get_qtls"
```

# Output of Session Info
The output of ```sessionInfo()``` on the system 
on which this document was compiled: 

``` r
sessionInfo()
#> R version 4.6.0 (2026-04-24)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu Stonking Stringray (development branch)
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.12.1 
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.1;  LAPACK version 3.12.0
#> 
#> locale:
#>  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
#>  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
#>  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
#> [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
#> 
#> time zone: Etc/UTC
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] markdown_1.13 knitr_1.51   
#> 
#> loaded via a namespace (and not attached):
#> [1] compiler_4.6.0 cli_3.6.6      tools_4.6.0    xfun_0.57      rlang_1.2.0   
#> [6] evaluate_1.0.5
```

