Description Usage Arguments Details Value Examples
Calculates the x-coordinates for the PDF of a given pathway.
1 | getXcoords(QSarray, path.index=1, addVIF=!is.null(QSarray$vif))
|
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 |
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
A numeric vector of length QSarray$n.points
.
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")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.