Learn R Programming

bbknnR

Use batch balanced KNN (BBKNN) in R

Introduction

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.

System requirements

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

Installation

bbknnR has been released to CRAN:

install.packages("bbknnR")

or can be installed from github:

devtools::install_github("ycli1995/bbknnR")

Quick start

library(bbknnR)
library(Seurat)
data("panc8_small")
panc8_small <- RunBBKNN(panc8_small, batch_key = "tech")

Release

2.0.1

  • Add k_build_nndescent = 30 parameter to match the implementation of python bbknn.

2.0.0

  • Remove reticulate dependency. Now use kNN algorithms provided by RcppAnnoy and rnndescent
  • Add return.umap.model for RunBBKNN.Seurat
  • Improvements for testthat

1.1.0

  • Compatibility with Seurat v5
  • Improvements for documentation and verbose.

1.0.2

  • Explicit import of get_dummies.() from tidytable
  • Fix a bug when pass only one batch_key to RidgeRegression()

1.0.1

  • Import public function similarity_graph() from uwot==0.1.14 in compute_connectivities_umap() to follow the CRAN policy

1.0.0

  • Initially released to CRAN

Citation

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.

Copy Link

Version

Install

install.packages('bbknnR')

Monthly Downloads

648

Version

2.0.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Yuchen Li

Last Published

June 5th, 2025

Functions in bbknnR (2.0.1)

panc8_small

A small example version of the pancreas scRNA-seq dataset
RunBBKNN

Perform batch balanced KNN
RidgeRegression

Perform ridge regression on scaled expression data
bbknnR-package

bbknnR: Perform Batch Balanced KNN in R