Learn R Programming

XGR (version 1.0.7)

xGR2nGenes: Function to define nearby genes given a list of genomic regions

Description

xGR2nGenes is supposed to define nearby genes given a list of genomic regions (GR) within certain distance window. The distance weight is calcualted as a decaying function of the gene-to-GR distance.

Usage

xGR2nGenes(data, format = c("chr:start-end", "data.frame", "bed", "GRanges"), build.conversion = c(NA, "hg38.to.hg19", "hg18.to.hg19"), distance.max = 50000, decay.kernel = c("rapid", "slow", "linear", "constant"), decay.exponent = 2, GR.Gene = c("UCSC_knownGene", "UCSC_knownCanonical"), scoring = F, scoring.scheme = c("max", "sum", "sequential"), scoring.rescale = F, verbose = T, RData.location = "http://galahad.well.ox.ac.uk/bigdata")

Arguments

data
input genomic regions (GR). If formatted as "chr:start-end" (see the next parameter 'format' below), GR should be provided as a vector in the format of 'chrN:start-end', where N is either 1-22 or X, start (or end) is genomic positional number; for example, 'chr1:13-20'. If formatted as a 'data.frame', the first three columns correspond to the chromosome (1st column), the starting chromosome position (2nd column), and the ending chromosome position (3rd column). If the format is indicated as 'bed' (browser extensible data), the same as 'data.frame' format but the position is 0-based offset from chromomose position. If the genomic regions provided are not ranged but only the single position, the ending chromosome position (3rd column) is allowed not to be provided. The data could also be an object of 'GRanges' (in this case, formatted as 'GRanges')
format
the format of the input data. It can be one of "data.frame", "chr:start-end", "bed" or "GRanges"
build.conversion
the conversion from one genome build to another. The conversions supported are "hg38.to.hg19" and "hg18.to.hg19". By default it is NA (no need to do so)
distance.max
the maximum distance between genes and GR. Only those genes no far way from this distance will be considered as seed genes. This parameter will influence the distance-component weights calculated for nearby GR per gene
decay.kernel
a character specifying a decay kernel function. It can be one of 'slow' for slow decay, 'linear' for linear decay, and 'rapid' for rapid decay. If no distance weight is used, please select 'constant'
decay.exponent
a numeric specifying a decay exponent. By default, it sets to 2
GR.Gene
the genomic regions of genes. By default, it is 'UCSC_knownGene', that is, UCSC known genes (together with genomic locations) based on human genome assembly hg19. It can be 'UCSC_knownCanonical', that is, UCSC known canonical genes (together with genomic locations) based on human genome assembly hg19. Alternatively, the user can specify the customised input. To do so, first save your RData file (containing an GR object) into your local computer, and make sure the GR object content names refer to Gene Symbols. Then, tell "GR.Gene" with your RData file name (with or without extension), plus specify your file RData path in "RData.location". Note: you can also load your customised GR object directly
scoring
logical to indicate whether gene-level scoring will be further calculated. By default, it sets to false
scoring.scheme
the method used to calculate seed gene scores under a set of GR. It can be one of "sum" for adding up, "max" for the maximum, and "sequential" for the sequential weighting. The sequential weighting is done via: $\sum_{i=1}{\frac{R_{i}}{i}}$, where $R_{i}$ is the $i^{th}$ rank (in a descreasing order)
scoring.rescale
logical to indicate whether gene scores will be further rescaled into the [0,1] range. By default, it sets to false
verbose
logical to indicate whether the messages will be displayed in the screen. By default, it sets to true for display
RData.location
the characters to tell the location of built-in RData files. See xRDataLoader for details

Value

If scoring sets to false, a data frame with following columns:
  • Gene: nearby genes
  • GR: genomic regions
  • Dist: the genomic distance between the gene and the GR
  • Weight: the distance weight based on the genomic distance
If scoring sets to true, a data frame with following columns:
  • Gene: nearby genes
  • Score: gene score taking into account the distance weight based on the genomic distance

See Also

xRDataLoader, xGR

Examples

Run this code
## Not run: 
# # Load the XGR package and specify the location of built-in data
# library(XGR)
# RData.location <- "http://galahad.well.ox.ac.uk/bigdata_dev"
# 
# # a) provide the genomic regions
# ## load ImmunoBase
# ImmunoBase <- xRDataLoader(RData.customised='ImmunoBase',
# RData.location=RData.location)
# ## get lead SNPs reported in AS GWAS and their significance info (p-values)
# gr <- ImmunoBase$AS$variant
# df <- as.data.frame(gr, row.names=NULL)
# chr <- df$seqnames
# start <- df$start
# end <- df$end
# data <- paste(chr,':',start,'-',end, sep='')
# 
# # b) define nearby genes taking into acount distance weight
# # without gene scoring
# df_nGenes <- xGR2nGenes(data=data, format="chr:start-end",
# distance.max=10000, decay.kernel="slow", decay.exponent=2,
# RData.location=RData.location)
# # with their scores
# df_nGenes <- xGR2nGenes(data=data, format="chr:start-end",
# distance.max=10000, decay.kernel="slow", decay.exponent=2, scoring=T,
# scoring.scheme="max", RData.location=RData.location)
# 
# # c) define nearby genes without taking into acount distance weight
# # without gene scoring
# df_nGenes <- xGR2nGenes(data=data, format="chr:start-end",
# distance.max=10000, decay.kernel="constant",
# RData.location=RData.location)
# # with their scores
# df_nGenes <- xGR2nGenes(data=data, format="chr:start-end",
# distance.max=10000, decay.kernel="constant", scoring=T,
# scoring.scheme="max", RData.location=RData.location)
# ## End(Not run)

Run the code above in your browser using DataLab