| topGOdata-class {topGO} | R Documentation |
TODO: The node atributes are environments containing the genes/probes annotated to the respective node
If genes is a numeric vector than this should represent the gene's score. If it is factor it should discriminate the genes in interesting genes and the rest
TODO: it will be a good idea to replace the allGenes and allScore with an exprSet class. In this way we can use tests like global test, globalAncova.... – ALL variables sarting with . are just for internal class usage (private)
Objects can be created by calls of the form new("topGOdata", ontology, allGenes, geneSelectionFun, description, annotationFun, ...).
~~ describe objects here ~~
description:"character" ~~ ontology:"character" ~~ allGenes:"character" ~~ allScores:"ANY" ~~ geneSelectionFun:"function" ~~ feasible:"logical" ~~ graph:"graphNEL" ~~ signature(object = "topGOdata"): ... signature(object = "topGOdata", attr = "character", whichGO = "character"): ... signature(object = "topGOdata", attr = "character", whichGO = "missing"): ... signature(object = "topGOdata", whichGO = "character"): ... signature(object = "topGOdata", whichGO = "missing"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata", whichGO = "character"): ... signature(object = "topGOdata", whichGO = "missing"): ... signature(object = "topGOdata", resList = "list"): ... signature(object = "topGOdata", ...): ... signature(object = "topGOdata", test.stat = "classicCount"): ... signature(object = "topGOdata", test.stat = "classicScore"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(.Object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata"): ... signature(x = "topGOdata"): ... signature(object = "topGOdata"): ... signature(object = "topGOdata", whichGO = "character"): ... signature(object = "topGOdata", whichGO = "missing"): ... signature(object = "topGOdata", geneList = "numeric", geneSelFun = "function"): ... signature(object = "topGOdata", geneList = "factor", geneSelFun = "missing"): ... signature(object = "topGOdata", attr = "character"): ... signature(object = "topGOdata"): ... Adrian Alexa
buildLevels,
mapGenes2GOgraph,
annFUN.hgu
## load the ALL dataset and the annotation library
library(ALL); data(ALL)
affyLib <- annotation(ALL)
library(package = affyLib, character.only = TRUE)
library(genefilter)
f1 <- pOverA(0.25, log2(100))
f2 <- function(x) (IQR(x) > 0.5)
ff <- filterfun(f1, f2)
ALL <- ALL[genefilter(ALL, ff), ]
## obtain the list of differentially expressed genes
## discriminate B-cell from T-cell
classLabel <- as.integer(sapply(ALL$BT, function(x) return(substr(x, 1, 1) == 'T')))
## over-expressed genes for T-cell samples
geneList <- getPvalues(exprs(ALL), classlabel = classLabel)
## the distribution of the adjusted p-values
hist(geneList, 100)
hist(geneList[geneList < 1], 100)
## define a function to select the "significant" genes
topDiffGenes <- function(allScore) {
return(allScore < 0.01)
}
## how many differentially expressed genes are:
sum(topDiffGenes(geneList))
## build the topGOdata class
GOdata <- new("topGOdata",
ontology = "BP",
allGenes = geneList,
geneSel = topDiffGenes,
description = "GO analysis of ALL data: Differential Expression between B-cell and T-cell",
annot = annFUN.hgu,
affyLib = affyLib)
## display the GOdata object
GOdata
##########################################################
## Examples on how to use the methods
## description of the experiment
description(GOdata)
## obtain the genes that will be used in the analysis
a <- genes(GOdata)
str(a)
numGenes(GOdata)
## obtain the score (p-value) of the genes
selGenes <- names(geneList)[sample(1:length(geneList), 10)]
gs <- geneScore(GOdata, whichGenes = selGenes)
print(gs)
## if we want an unnamed vector containing all the feasible genes
gs <- geneScore(GOdata, use.names = FALSE)
str(gs)
## the list of significant genes
sg <- sigGenes(GOdata)
str(sg)
numSigGenes(GOdata)
## to update the gene list
.geneList <- geneScore(GOdata, use.names = TRUE)
GOdata ## more available genes
GOdata <- updateGenes(GOdata, .geneList, topDiffGenes)
GOdata ## the available genes are now the feasible genes
## the available GO terms (all the nodes in the graph)
go <- usedGO(GOdata)
length(go)
## to list the genes annotated to a set of specified GO terms
sel.terms <- sample(go, 10)
ann.genes <- genesInTerm(GOdata, sel.terms)
str(ann.genes)
## the score for these genes
ann.score <- scoresInTerm(GOdata, sel.terms)
str(ann.score)
## to see the number of annotated genes
num.ann.genes <- countGenesInTerm(GOdata)
str(num.ann.genes)
## to summarise the statistics
termStat(GOdata, sel.terms)