This function performs batch correction and integration of multiple Seurat objects using housekeeping genes and distance matrices. It supports human and mouse data, and can optionally use custom housekeeping genes provided by the user.

CAESAR.RUV(
  seuList,
  distList,
  verbose = FALSE,
  species = "human",
  custom_housekeep = NULL
)

Arguments

seuList

A list of Seurat objects to be integrated.

distList

A list of distance matrices corresponding to each Seurat object in `seuList`.

verbose

Logical, indicating whether to display progress messages. Default is FALSE.

species

A character string specifying the species, either "human" or "mouse". Default is "human".

custom_housekeep

A character vector of custom housekeeping genes. If NULL, default housekeeping genes for the species are used. Default is NULL.

Value

A Seurat object that contains the integrated and batch-corrected data in a new assay called "CAESAR".

Examples

data(toydata)

seu <- toydata$seu
markers <- toydata$markers

seu <- ProFAST::pdistance(seu, reduction = "caesar")
#> Calculate co-embedding distance...

marker.freq <- markerList2mat(list(markers))
anno_res <- CAESAR.annotation(seu, marker.freq, cal.confidence = FALSE, cal.proportions = FALSE)

seuList <- list(seu, seu)
distList <- list(anno_res$ave.dist, anno_res$ave.dist)
seuInt <- CAESAR.RUV(seuList, distList, species = "human", verbose = TRUE)
#> Using both housekeeping genes and CAESAR results for batch correction.