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")
- Fix
trim <- trim %||% 10 * ncol(nn.idx)
. The correct code should betrim <- trim %||% (10 * ncol(nn.idx))
. (#10)
- Add
k_build_nndescent = 30
parameter to match the implementation of pythonbbknn
.
- Remove
reticulate
dependency. Now use kNN algorithms provided byRcppAnnoy
andrnndescent
- Add
return.umap.model
forRunBBKNN.Seurat
- Improvements for
testthat
- Compatibility with Seurat v5
- Improvements for documentation and verbose.
- Explicit import of
get_dummies.()
from tidytable - Fix a bug when pass only one
batch_key
toRidgeRegression()
- Import public function
similarity_graph()
fromuwot==0.1.14
incompute_connectivities_umap()
to follow the CRAN policy
- Initially released to CRAN
Please 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.