Use batch balanced KNN (BBKNN) in R
BBKNN is a fast and intuitive batch effect removal tool for single-cell data. It is originally used in the scanpy workflow, and now can be used with Seurat seamlessly.
bbknnR has been tested on R versions >= 4.1. Please
consult the DESCRIPTION file for more details on required R
packages. bbknnR has been tested on Linux platforms
To use the full features of bbknnR, you also need to
install the bbknn
python package:
pip install bbknn
bbknnR has been released to CRAN:
install.packages("bbknnR")
or can be installed from github:
devtools::install_github("ycli1995/bbknnR")
library(bbknnR)
library(Seurat)
data("panc8_small")
panc8_small <- RunBBKNN(panc8_small, batch_key = "tech")
trim <- trim %||% 10 * ncol(nn.idx). The correct
code should be trim <- trim %||% (10 * ncol(nn.idx)).
(#10)k_build_nndescent = 30 parameter to match the
implementation of python bbknn.reticulate dependency. Now use kNN algorithms
provided by RcppAnnoy and rnndescentreturn.umap.model for
RunBBKNN.Seurattestthatget_dummies.() from tidytablebatch_key to
RidgeRegression()similarity_graph() from
uwot==0.1.14 in compute_connectivities_umap()
to follow the CRAN policyPlease cite this implementation R in if you use it:
Yuchen Li (2022). bbknnR: Use batch balanced KNN (BBKNN) in R.
package version 0.1.0 https://github.com/ycli1995/bbknnR
Please also cite the original publication of this algorithm.
Polanski, Krzysztof, et al. "BBKNN: fast batch alignment of single cell transcriptomes." Bioinformatics 36.3 (2020): 964-965.