diff --git a/R/accessMSigDB.R b/R/accessMSigDB.R index 405b0ed..626e545 100644 --- a/R/accessMSigDB.R +++ b/R/accessMSigDB.R @@ -139,8 +139,12 @@ subsetCollection <- function(gsc, collection = c(), subcollection = c()) { #filter collection & sub-collection ctype = lapply(gsc, GSEABase::collectionType) - gsc = gsc[sapply(ctype, GSEABase::bcCategory) %in% collection | - sapply(ctype, GSEABase::bcSubCategory) %in% subcollection] + if (length(subcollection) == 0){ + gsc = gsc[sapply(ctype, GSEABase::bcCategory) %in% collection] + } else { + gsc = gsc[sapply(ctype, GSEABase::bcCategory) %in% collection & + sapply(ctype, GSEABase::bcSubCategory) %in% subcollection] + } return(gsc) } @@ -186,4 +190,4 @@ listSubCollections <- function(gsc) { subcat = unique(sapply(lapply(gsc, GSEABase::collectionType), GSEABase::bcSubCategory)) subcat = as.character(stats::na.omit(subcat)) return(subcat) -} \ No newline at end of file +}