A wrapper to runPCA function to compute principal component analysis (PCA) from a given SingleCellExperiment object.
scaterPCA(
inSCE,
useAssay = "logcounts",
useFeatureSubset = "hvg2000",
scale = TRUE,
reducedDimName = "PCA",
nComponents = 50,
ntop = 2000,
useAltExp = NULL,
seed = 12345,
BPPARAM = BiocParallel::SerialParam()
)Input SingleCellExperiment object.
Assay to use for PCA computation. If useAltExp is
specified, useAssay has to exist in
assays(altExp(inSCE, useAltExp)). Default "logcounts"
Subset of feature to use for dimension reduction. A
character string indicating a rowData variable that stores the logical
vector of HVG selection, or a vector that can subset the rows of
inSCE. Default "hvg2000".
Logical scalar, whether to standardize the expression values.
Default TRUE.
Name to use for the reduced output assay. Default
"PCA".
Number of principal components to obtain from the PCA
computation. Default 50.
Automatically detect this number of variable features to use for
dimension reduction. Ignored when using useReducedDim or using
useFeatureSubset. Default 2000.
The subset to use for PCA computation, usually for the
selected.variable features. Default NULL.
Integer, random seed for reproducibility of PCA results.
Default NULL.
A BiocParallelParam object specifying whether the PCA should be parallelized.
A SingleCellExperiment object with PCA computation
updated in reducedDim(inSCE, reducedDimName).
data(scExample, package = "singleCellTK")
sce <- subsetSCECols(sce, colData = "type != 'EmptyDroplet'")
sce <- scaterlogNormCounts(sce, "logcounts")
# Example of ranking variable genes, selecting the top variable features,
# and running PCA. Make sure to increase the number of highly variable
# features (hvgNumber) and the number of principal components (nComponents)
# for real datasets
sce <- runModelGeneVar(sce, useAssay = "logcounts")
sce <- setTopHVG(sce, method = "modelGeneVar", hvgNumber = 100,
featureSubsetName = "hvf")
#> Wed Apr 23 11:42:33 2025 ... Feature subset variable 'hvf' created.
sce <- scaterPCA(sce, useAssay = "logcounts", scale = TRUE,
useFeatureSubset = "hvf", nComponents = 5)
#> Wed Apr 23 11:42:33 2025 ... Computing Scater PCA.
# Alternatively, let the scater PCA function select the top variable genes
sce <- scaterPCA(sce, useAssay = "logcounts", scale = TRUE,
useFeatureSubset = NULL, ntop = 100, nComponents = 5)
#> Wed Apr 23 11:42:33 2025 ... Computing Scater PCA.