Compute scores based on the k-nearest neighbour batch effect test (kBET).
Accepts a DimReduc
instance or a
graph object (Graph
or
Neighbor
) provided that it
contains distances or connectivities.
If 'what
' is a DimReduc
object, a knn graph is computed for k = 50
. Then, (or if 'what
'
is a Graph
or a
Neighbor
object), connectivities
are derives from 50 nearest neighbours distances. Finally, the kBET test is
computed for each cell-type label of all provided cell.var
. kBET
measures if local batch label distribution is similar to the global one. The
result of kBET is the average test rejection rate (between 0 and 1). The
closest to zero, the less bias is attributable to the batch effect.
Usage
ScoreKBET(
object,
batch.var,
cell.var,
what,
graph.type = c("distances", "connectivities"),
seed.use = 42L,
verbose = TRUE,
assay = NULL,
layer = NULL
)
AddScoreKBET(
object,
integration,
batch.var,
cell.var,
what,
graph.type = c("distances", "connectivities"),
seed.use = 42L,
verbose = TRUE,
assay = NULL,
layer = NULL
)
Arguments
- object
A Seurat object
- batch.var
The name of the batch variable (must be in the object metadata)
- cell.var
The name of the column with cell type label variable (must be in the object metadata). If
NULL
is passed, the kBET score is computed for all cells at once.- what
the name of the dimension reduction or Graph/Neighbor object to score. Must be in the Seurat object.
- graph.type
one of 'distances' (default) or 'connectivities', to indicate the type of graph when
what
is not a dimension reduction.- seed.use
the value of the seed to obtain reproducible results.
NULL
disables to use of a seed- verbose
whether to print progress messages
- assay
assay to use. Passed to Seurat to automatically construct the
batch.var
when not provided (DefaultAssay()
is used by default). Useless otherwise- layer
layer to use. Passed to Seurat to automatically construct the
batch.var
when not provided. Useless otherwise- integration
name of the integration to score
Value
ScoreKBET
: a list with one element per cell.var
. Each
is a named numeric vector of kBET score (floats between 0 and 1), one per
cell-label.
AddScoreKBET
: the updated Seurat object
with the mean kBET
score(s) set for the integration.
References
Büttner, M., Miao, Z., Wolf, F. A., Teichmann, S. A. & Theis, F. J. A test metric for assessing single-cell RNA-seq batch correction. Nat Methods 16, 43–49 (2018). DOI
Luecken, M. D., Büttner, M., Chaichoompu, K., Danese, A., Interlandi, M., Mueller, M. F., Strobl, D. C., Zappia, L., Dugas, M., Colomé-Tatché, M. & Theis, F. J. Benchmarking atlas-level data integration in single-cell genomics. Nat Methods 19, 41–50 (2021). DOI