Perform dataset integration using a pre-computed Anchorset of specified low dimensional representations.

IntegrateEmbeddings(anchorset, ...)

# S3 method for IntegrationAnchorSet
  anchorset, = "integrated_dr",
  reductions = NULL, = NULL,
  k.weight = 100,
  weight.reduction = NULL,
  sd.weight = 1,
  sample.tree = NULL,
  preserve.order = FALSE,
  verbose = TRUE,

# S3 method for TransferAnchorSet
  query.assay = NULL, = "integrated_dr",
  reductions = "pcaproject", = NULL,
  k.weight = 100,
  weight.reduction = NULL,
  reuse.weights.matrix = TRUE,
  sd.weight = 1,
  preserve.order = FALSE,
  verbose = TRUE,



An AnchorSet object


Reserved for internal use

Name for new integrated dimensional reduction.


Name of reductions to be integrated. For a TransferAnchorSet, this should be the name of a reduction present in the anchorset object (for example, "pcaproject"). For an IntegrationAnchorSet, this should be a DimReduc object containing all cells present in the anchorset object.

Number of dimensions to return integrated values for


Number of neighbors to consider when weighting anchors


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 DimReduc objects, specifying the object to use for each object in the integration

  • NULL, in which case the full corrected space is used for computing anchor weights.


Controls the bandwidth of the Gaussian kernel for weighting


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 hclust function output). For example: matrix(c(-2, 1, -3, -1), ncol = 2) gives:

            [,1]  [,2]
       [1,]   -2   -3
       [2,]    1   -1

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.


Do not reorder objects based on size for each pairwise integration.


Print progress bars and output


Reference object used in anchorset construction


Query object used in anchorset construction


Name of the Assay to use from query


Can be used in conjunction with the store.weights parameter in TransferData to reuse a precomputed weights matrix.


When called on a TransferAnchorSet (from FindTransferAnchors), this will return the query object with the integrated embeddings stored in a new reduction. When called on an IntegrationAnchorSet (from IntegrateData), this will return a merged object with the integrated reduction stored.


The main steps of this procedure are identical to IntegrateData with one key distinction. When computing the weights matrix, the distance calculations are performed in the full space of integrated embeddings when integrating more than two datasets, as opposed to a reduced PCA space which is the default behavior in IntegrateData.