Seurat-CCA Integration
Usage
CCAIntegration(
object = NULL,
assay = NULL,
layers = NULL,
orig = NULL,
new.reduction = "integrated.dr",
reference = NULL,
features = NULL,
normalization.method = c("LogNormalize", "SCT"),
dims = 1:30,
k.filter = NA,
scale.layer = "scale.data",
dims.to.integrate = NULL,
k.weight = 100,
weight.reduction = NULL,
sd.weight = 1,
sample.tree = NULL,
preserve.order = FALSE,
svd.method = NULL,
verbose = TRUE,
...
)Arguments
- object
A
Seuratobject- assay
Name of
Assayin theSeuratobject- layers
Names of layers in
assay- orig
A DimReduc to correct
- new.reduction
Name of new integrated dimensional reduction
- reference
A reference
Seuratobject- features
A vector of features to use for integration
- normalization.method
Name of normalization method used: LogNormalize or SCT
- dims
Dimensions of dimensional reduction to use for integration
- k.filter
Number of anchors to filter
- scale.layer
Name of scaled layer in
Assay- dims.to.integrate
Number of dimensions to return integrated values for
- k.weight
Number of neighbors to consider when weighting anchors
- weight.reduction
Dimension reduction to use when calculating anchor weights. This can be one of:
A string, specifying the name of a dimension reduction present in all objects to be integrated
A vector of strings, specifying the name of a dimension reduction to use for each object to be integrated
A vector of
DimReducobjects, specifying the object to use for each object in the integrationNULL, in which case the full corrected space is used for computing anchor weights.
- sd.weight
Controls the bandwidth of the Gaussian kernel for weighting
- sample.tree
Specify the order of integration. Order of integration should be encoded in a matrix, where each row represents one of the pairwise integration steps. Negative numbers specify a dataset, positive numbers specify the integration results from a given row (the format of the merge matrix included in the
hclustfunction output). For example:matrix(c(-2, 1, -3, -1), ncol = 2)gives:Which would cause dataset 2 and 3 to be integrated first, then the resulting object integrated with dataset 1.
If NULL, the sample tree will be computed automatically.
- preserve.order
Do not reorder objects based on size for each pairwise integration.
- svd.method
SVD backend to use when
reduction = "cca". IfNULL, 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
Print progress
- ...
Arguments passed on to
FindIntegrationAnchors
Examples
if (FALSE) { # \dontrun{
# Preprocessing
obj <- SeuratData::LoadData("pbmcsca")
obj[["RNA"]] <- split(obj[["RNA"]], f = obj$Method)
obj <- NormalizeData(obj)
obj <- FindVariableFeatures(obj)
obj <- ScaleData(obj)
obj <- RunPCA(obj)
# After preprocessing, we integrate layers.
obj <- IntegrateLayers(object = obj, method = CCAIntegration,
orig.reduction = "pca", new.reduction = "integrated.cca",
verbose = FALSE)
# Modifying parameters
# We can also specify parameters such as `k.anchor` to increase the strength of integration
obj <- IntegrateLayers(object = obj, method = CCAIntegration,
orig.reduction = "pca", new.reduction = "integrated.cca",
k.anchor = 20, verbose = FALSE)
# Integrating SCTransformed data
obj <- SCTransform(object = obj)
obj <- IntegrateLayers(object = obj, method = CCAIntegration,
orig.reduction = "pca", new.reduction = "integrated.cca",
assay = "SCT", verbose = FALSE)
} # }