.broadSets <- function()
getBroadSets(system.file("extdata", "Broad.xml", package="GSEABase"))
.gsc <- function() {
gs1 <- GeneSet(setName="set1", setIdentifier="id1",
geneIds=LETTERS[1:5])
gs2 <- GeneSet(setName="set2", setIdentifier="id2",
geneIds=letters[1:5])
GeneSetCollection(list(gs1, gs2))
}
test_GSC_list_constructor <- function() {
gs1 <- GeneSet(setName="123", setIdentifier="456",
geneIds=LETTERS[1:5])
gs2 <- GeneSet(setName="234", setIdentifier="567",
geneIds=letters[1:5])
gsc <- GeneSetCollection(list(gs1, gs2))
checkTrue(validObject(gsc))
checkEquals(2, length(gsc))
checkIdentical(gs1, gsc[[1]])
checkIdentical(gs2, gsc[[2]])
## duplicate entries
checkException(GeneSetCollection(gs1, gs1), silent=TRUE)
}
test_GSC_list_constructor_strips_names <- function() {
gsc <- .gsc()
lst <- list(gsc1=gsc[[1]], gsc2=gsc[[2]])
checkTrue(is.null(attr(GeneSetCollection(lst),"names")))
}
test_GSC_docs_constructor <- function() {
gs1 <- GeneSet(setName="123", setIdentifier="456",
geneIds=LETTERS[1:5])
gs2 <- GeneSet(setName="234", setIdentifier="567",
geneIds=letters[1:5])
gsc <- GeneSetCollection(gs1, gs2)
checkTrue(validObject(gsc))
checkEquals(2, length(gsc))
checkIdentical(gs1, gsc[[1]])
checkIdentical(gs2, gsc[[2]])
}
test_GSC_idAndSetType_constructor <- function() {
gsc1 <- GeneSetCollection(idType=AnnotationIdentifier("hgu95av2"),
setType=KEGGCollection())
checkEquals(length(reverseSplit(as.list(hgu95av2PATH))),
length(gsc1))
i1 <- incidence(gsc1)
i1 <- i1[sort(rownames(i1)), sort(colnames(i1))]
gsc2 <- GeneSetCollection(idType=AnnotationIdentifier("hgu95av2.db"),
setType=KEGGCollection())
i2 <- incidence(gsc2)
i2 <- i2[sort(rownames(i2)), sort(colnames(i2))]
checkIdentical(i1, i2)
}
test_GSC_ExpressionSet_constructor <- function() {
data(sample.ExpressionSet)
gss <- GeneSetCollection(sample.ExpressionSet[200:220,],
setType=KEGGCollection())
checkTrue(is(collectionType(gss[[1]]), "KEGGCollection"))
checkTrue(is(geneIdType(gss[[1]]), "AnnotationIdentifier"))
kids <- mget(featureNames(sample.ExpressionSet[200:220,]),
hgu95av2PATH)
kids <- kids[!is.na(kids)]
ukids <- unique(unlist(kids))
checkEquals(length(ukids), length(gss))
checkEquals(table(sapply(reverseSplit(kids), length)),
table(sapply(lapply(gss, geneIds), length)))
gss <- GeneSetCollection(sample.ExpressionSet[200:220,],
setType=GOCollection())
checkTrue(is(collectionType(gss[[1]]), "GOCollection"))
checkTrue(is(geneIdType(gss[[1]]), "AnnotationIdentifier"))
kids <- mget(featureNames(sample.ExpressionSet[200:220,]),
hgu95av2GO)
kids <- kids[!is.na(kids)]
ukids <- unique(unlist(sapply(kids, names)))
checkTrue(all(sort(ukids)==sort(names(gss))))
rkids <- lapply(kids, lapply, "[[", "GOID")
checkEquals(table(sapply(reverseSplit(lapply(rkids, unique)),
length)),
table(sapply(lapply(gss, geneIds), length)))
}
test_GSC_validity <- function() {
gsc <- .gsc()
gsc@.Data <- append(gsc@.Data, 1)
checkException(validObject(gsc), silent=TRUE)
}
test_GSC_length <- function() {
checkTrue(length(.gsc())==2)
}
test_GSC_names <- function() {
checkTrue(all(c("set1", "set2")==names(.gsc())))
}
test_GSC_subset_by_name<- function() {
gsc <- .gsc()
gsc1 <- gsc["set1"]
checkTrue(is(gsc1, "GeneSetCollection"))
checkTrue(validObject(gsc1))
checkEquals(1, length(gsc1))
checkEquals("set1", names(gsc1))
gsc21 <- gsc[c("set2", "set1")]
checkTrue(validObject(gsc21))
checkEquals(2, length(gsc21))
checkTrue(all(c("set2", "set1")==names(gsc21)))
checkException(gsc["set3"], silent=TRUE) # no element
checkException(gsc[c("set1", "set1")], silent=TRUE) # duplicate entries
}
test_GSC_subset_by_index <- function() {
gsc <- .gsc()
gsc1 <- gsc[1]
checkTrue(is(gsc1, "GeneSetCollection"))
checkTrue(validObject(gsc1))
checkEquals(1, length(gsc1))
checkEquals("set1", names(gsc1))
gsc21 <- gsc[2:1]
checkTrue(validObject(gsc21))
checkEquals(2, length(gsc21))
checkTrue(all(c("set2", "set1")==names(gsc21)))
checkException(gsc[3], silent=TRUE) # no element
checkException(gsc[c(1,1)], silent=TRUE) # duplicate entries
}
test_GSC_subset_by_logical <- function() {
gsc <- .gsc()
checkException(gsc[rep(TRUE, 3)], silent=TRUE) # out-of-bounds
}
test_GSC_subset2 <- function() {
gsc <- .gsc()
gsc2 <- gsc[[2]]
checkTrue(is(gsc2, "GeneSet"))
checkTrue(validObject(gsc2))
checkTrue("set2"==setName(gsc2))
gsc2 <- gsc[["set2"]]
checkTrue(is(gsc2, "GeneSet"))
checkTrue(validObject(gsc2))
checkTrue("set2"==setName(gsc2))
## subscript out of bounds
checkException(gsc[[c(1,2)]], silent=TRUE)
checkException(gsc[[c("set1", "set2")]], silent=TRUE)
checkException(gsc[[3]], silent=TRUE)
checkException(gsc[["set3"]], silent=TRUE)
}
## test_GSC_subset_assign <- function() {
## checkTrue(FALSE)
## }
## test_GSC_subset2_assign <- function() {
## checkTrue(FALSE)
## }
test_GSC_incidence <- function() {
## empty set
res <- incidence(GeneSetCollection(list()))
checkIdentical(res, matrix(0L, 0, 0, dimnames = list(NULL, NULL)))
## simple gene set collection
gss <- .broadSets()
res <- incidence(gss)
checkTrue(all(dim(res)==c(2, 215)))
checkTrue(sum(res)== 215)
## duplicate gene sets --> duplicate incidence rows
res <- incidence(gss, gss)
checkTrue(all(dim(res)==c(4, 215)))
checkTrue(sum(res)== 430)
}
test_GSC_logic <- function() {
gsc <- GeneSetCollection(list(GeneSet(letters[1:3], setName="A"),
GeneSet(letters[3:5], setName="B"),
GeneSet(letters[5:7], setName="C")))
expected <- list(letters[1:3], "c", character(0))
checkEquals(expected,
sapply(gsc & geneIds(gsc[[1]]), geneIds))
checkEquals(expected,
sapply(gsc & gsc[[1]], geneIds))
checkEquals(expected,
sapply(gsc[[1]] & gsc, geneIds))
expected <- list(letters[1:3],
c(letters[3:5], letters[1:2]),
c(letters[5:7], letters[1:3]))
checkEquals(expected, sapply(gsc | geneIds(gsc[[1]]), geneIds))
checkEquals(expected, sapply(gsc | gsc[[1]], geneIds))
checkEquals(expected, sapply(gsc[[1]] | gsc, geneIds))
}
test_GSC_mapIdentifiers <- function() {
data(sample.ExpressionSet)
gsc <- GeneSetCollection(sample.ExpressionSet[200:205],
setType=GOCollection())
gsc1 <- mapIdentifiers(gsc, EntrezIdentifier())
checkTrue(is(gsc1, "GeneSetCollection"))
checkEquals(length(gsc), length(gsc1))
checkTrue(all(sapply(gsc1, function(x) {
is(geneIdType(x), "EntrezIdentifier")
})))
checkEquals(length(unlist(geneIds(gsc))), length(unlist(geneIds(gsc1))))
}
test_GSC_GOCollection_ontology <- function() {
idType <- AnnotationIdentifier("org.Hs.eg.db")
eids <- as.character(1:2)
expect0 <- select(org.Hs.eg.db::org.Hs.eg.db, eids, "GO", "ENTREZID")
expect <- unique(expect0[, c("GO", "ONTOLOGY")])
setType <- GOCollection()
gsc <- GeneSetCollection(eids, idType=idType, setType=setType)
checkIdentical(length(gsc), nrow(expect))
tbl <- table(unlist(eapply(GOTERM[names(gsc)], Ontology)))
checkIdentical(tbl, table(expect$ONTOLOGY))
expect <- expect[expect$ONTOLOGY == "BP", , drop = FALSE]
setType <- GOCollection(ontology="BP")
gsc <- GeneSetCollection(eids, idType=idType, setType=setType)
checkIdentical(length(gsc), nrow(expect))
tbl <- table(unlist(eapply(GOTERM[names(gsc)], Ontology)))
checkIdentical(tbl, table(expect$ONTOLOGY))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.