Runs a canonical correlation analysis using a diagonal implementation of CCA.

RunCCA(object1, object2, ...)

# Default S3 method
RunCCA(
  object1,
  object2,
  standardize = TRUE,
  num.cc = 20,
  seed.use = 42,
  svd.method = NULL,
  verbose = FALSE,
  ...
)

# S3 method for class 'Seurat'
RunCCA(
  object1,
  object2,
  assay1 = NULL,
  assay2 = NULL,
  num.cc = 20,
  features = NULL,
  renormalize = FALSE,
  rescale = FALSE,
  compute.gene.loadings = TRUE,
  add.cell.id1 = NULL,
  add.cell.id2 = NULL,
  svd.method = NULL,
  verbose = TRUE,
  ...
)

Arguments

object1

First Seurat object

object2

Second Seurat object.

...

Extra parameters (passed onto MergeSeurat in case with two objects passed, passed onto ScaleData in case with single object and rescale.groups set to TRUE)

standardize

Standardize matrices - scales columns to have unit variance and mean 0

num.cc

Number of canonical vectors to calculate

seed.use

Random seed to set. If NULL, does not set a seed

svd.method

SVD backend for CCA. If NULL, defaults to "irlba" except for pairs of dense CCA input matrices whose cell-by-cell cross-product matrix has at least 1,000,000 entries, in which case it defaults to "rspectra". "irlba" uses an explicit cross-product CCA path; "rspectra" uses an implicit operator to avoid forming the cross-product matrix.

verbose

Show progress messages

assay1, assay2

Assays to pull from in the first and second objects, respectively

features

Set of genes to use in CCA. Default is the union of both the variable features sets present in both objects.

renormalize

Renormalize raw data after merging the objects. If FALSE, merge the data matrices also.

rescale

Rescale the datasets prior to CCA. If FALSE, uses existing data in the scale data slots.

compute.gene.loadings

Also compute the gene loadings. NOTE - this will scale every gene in the dataset which may impose a high memory cost.

add.cell.id1, add.cell.id2

Add ...

Value

Returns a combined Seurat object with the CCA results stored.

See also

Examples

if (FALSE) { # \dontrun{
data("pbmc_small")
pbmc_small
# As CCA requires two datasets, we will split our test object into two just for this example
pbmc1 <- subset(pbmc_small, cells = colnames(pbmc_small)[1:40])
pbmc2 <- subset(pbmc_small, cells = colnames(x = pbmc_small)[41:80])
pbmc1[["group"]] <- "group1"
pbmc2[["group"]] <- "group2"
pbmc_cca <- RunCCA(object1 = pbmc1, object2 = pbmc2)
# Print results
print(x = pbmc_cca[["cca"]])
} # }