Run a PCA dimensionality reduction. For details about stored PCA calculation parameters, see PrintPCAParams.

RunPCA(object, ...)

# Default S3 method
RunPCA(
  object,
  assay = NULL,
  npcs = 50,
  rev.pca = FALSE,
  weight.by.var = TRUE,
  verbose = TRUE,
  ndims.print = 1:5,
  nfeatures.print = 30,
  reduction.key = "PC_",
  seed.use = 42,
  approx = TRUE,
  ...
)

# S3 method for class 'Assay'
RunPCA(
  object,
  assay = NULL,
  features = NULL,
  npcs = 50,
  rev.pca = FALSE,
  weight.by.var = TRUE,
  verbose = TRUE,
  ndims.print = 1:5,
  nfeatures.print = 30,
  reduction.key = "PC_",
  seed.use = 42,
  ...
)

# S3 method for class 'Seurat'
RunPCA(
  object,
  assay = NULL,
  features = NULL,
  npcs = 50,
  rev.pca = FALSE,
  weight.by.var = TRUE,
  verbose = TRUE,
  ndims.print = 1:5,
  nfeatures.print = 30,
  reduction.name = "pca",
  reduction.key = "PC_",
  seed.use = 42,
  ...
)

Arguments

object

An object

...

Arguments passed to other methods and PCA backends

assay

Name of Assay PCA is being run on

npcs

Total Number of PCs to compute and store (50 by default)

rev.pca

By default computes the PCA on the cell x gene matrix. Setting to true will compute it on gene x cell matrix.

weight.by.var

Weight the cell embeddings by the variance of each PC (weights the gene loadings if rev.pca is TRUE)

verbose

Print progress messages and the top genes associated with high/low loadings for the PCs

ndims.print

PCs to print genes for

nfeatures.print

Number of genes to print for each PC

reduction.key

dimensional reduction key, specifies the string before the number for the dimension names. PC by default

seed.use

Set a random seed. By default, sets the seed to 42. Setting NULL will not set a seed.

approx

Use an approximate PCA backend when available

features

Features to compute PCA on. If features=NULL, PCA will be run using the variable features for the Assay. Note that the features must be present in the scaled data. Any requested features that are not scaled or have 0 variance will be dropped, and the PCA will be run using the remaining features.

reduction.name

dimensional reduction name, pca by default

Value

Returns Seurat object with the PCA calculation stored in the reductions slot

PCA backends

With default settings, dense-matrix PCA uses dense Gram + top-k eigendecomposition: it forms the feature-by-feature Gram matrix \(XX^T\) and computes its leading eigenpairs using Eigen/Spectra. To use irlba instead of the Gram-matrix backend for an in-memory matrix, pass an irlba argument to RunPCA through ..., for example, RunPCA(object, maxit = 1000).