getXcoords: Get the X coordinates for the points of the PDF

Description Usage Arguments Details Value Examples

View source: R/qusage.R

Description

Calculates the x-coordinates for the PDF of a given pathway.

Usage

1
getXcoords(QSarray, path.index=1, addVIF=!is.null(QSarray$vif))

Arguments

QSarray

A QSarray object as output by qusage (or aggregateGeneSet)

path.index

either an integer between 1 and numPathways(QSarray), or the name of the pathway to retrieve.

addVIF

a logical indicating whether to use the VIF when calculating the variance

Details

The calculation of the x-coordinates for a PDF is not straightforward, and as such they are not included in the QSarray object initially. During the numerical convolution step, the gene set PDF is calculated at a number of points (equal to QSarray$n.points) over a range defined by:

c(path.mean - range, path.mean + range)

However, the resulting PDF is actually the sum of the individual gene PDFs, rather than the desired average PDF. Therefore the range which is stored in the resulting QSarray is divided by the number of genes in the pathway, QSarray$path.size.

In addition, the width of the PDF can be expanded by the Variance Inflation Factor (VIF), which is equivalent to multiplying the range of the x-coordinates by the sqrt(VIF). If the parameter addVIF=TRUE, the VIF calculatd using the calcVIF method will be included in the calculation of the x-coordinates.

In general, the x-coordinates for a pathway are calculated for each point n using the following formula:

x.n = ( seq(-1,1,length.out=N.points) * range * sqrt(VIF) ) + path.mean

Value

A numeric vector of length QSarray$n.points.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 
  ##create example data
  eset = matrix(rnorm(500*20),500,20, dimnames=list(1:500,1:20))
  labels = c(rep("A",10),rep("B",10))
   
  ##first 30 genes are differentially expressed
  eset[1:30, labels=="B"] = eset[1:30, labels=="B"] + 1
  geneSets = list(diff.set=1:30, base.set=31:60)
  
  ##Run qusage
  set.results = qusage(eset, labels, "B-A", geneSets)
  
  ##Plot the PDF (see also: plotDensityCurves() )
  x = getXcoords(set.results, 1)
  y = set.results$path.PDF[,1]
  plot(x,y, type="l")
 

qusage documentation built on Nov. 8, 2020, 8:09 p.m.