Converts a list of gene sets into a GeneSetCollection and stores it in the metadata of the SingleCellExperiment object. These gene sets can be used in downstream quality control and analysis functions in singleCellTK.
importGeneSetsFromList(
inSCE,
geneSetList,
collectionName = "GeneSetCollection",
by = "rownames"
)
Input SingleCellExperiment object.
Named List. A list containing one or more gene sets. Each element of the list should be a character vector of gene identifiers. The names of the list will be become the gene set names in the GeneSetCollection object.
Character. Name of collection to add gene sets to.
If this collection already exists in inSCE
, then these gene sets will
be added to that collection. Any gene sets within the collection with the
same name will be overwritten. Default GeneSetCollection
.
Character or character vector. Describes the
location within inSCE
where the gene identifiers in
geneSetList
should be mapped. If set to "rownames"
then the
features will be searched for among rownames(inSCE)
. This can also be
set to one of the column names of rowData(inSCE)
in which case the
gene identifies will be mapped to that column in the rowData
of inSCE
. Finally, by
can be a vector the same length as
the number of gene sets in geneSetList
and the elements of the vector
can point to different locations within inSCE
. See
featureIndex for more information.
Default "rownames"
.
A SingleCellExperiment object
with gene set from collectionName
output stored to the
metadata slot.
The gene identifiers in gene sets in geneSetList
will be
mapped to the rownames of inSCE
using the by
parameter and
stored in a GeneSetCollection object from package
GSEABase. This object is stored in
metadata(inSCE)$sctk$genesets
, which can be accessed in downstream
analysis functions such as runCellQC.
importGeneSetsFromCollection for importing from GeneSetCollection objects, importGeneSetsFromGMT for importing from GMT files, and importGeneSetsFromMSigDB for importing MSigDB gene sets.
data(scExample)
# Generate gene sets from 'rownames'
gs1 <- rownames(sce)[seq(10)]
gs2 <- rownames(sce)[seq(11,20)]
gs <- list("geneset1" = gs1, "geneset2" = gs2)
sce <- importGeneSetsFromList(inSCE = sce,
geneSetList = gs,
by = "rownames")
# Generate a gene set for mitochondrial genes using
# Gene Symbols stored in 'rowData'
mito.ix <- grep("^MT-", rowData(sce)$feature_name)
mito <- list(mito = rowData(sce)$feature_name[mito.ix])
sce <- importGeneSetsFromList(inSCE = sce,
geneSetList = mito,
by = "feature_name")