jvecfor
Fast K-Nearest Neighbor Search for Single-Cell Analysis
Bioconductor version: 3.23 · Package version: 1.0.0
Drop-in replacement for BiocNeighbors::findKNN using the jvecfor Java library, which builds on the jvector library to leverage the Java Vector API for portable SIMD acceleration across AVX2, AVX-512, and ARM NEON hardware. jvecfor/jvector implements HNSW-DiskANN approximate search and VP-tree exact search. The package achieves approximately 2x speedup over Annoy-based search at n >= 50K cells while returning output structurally identical to BiocNeighbors, making it suitable for seamless integration into existing Bioconductor single-cell workflows. Convenience wrappers delegate shared nearest-neighbor (SNN) and k-nearest-neighbor (KNN) graph construction to the bluster package.
Installation
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("jvecfor") Details
| Maintainer | Anestis Gkanogiannis <anestis@gkanogiannis.com> |
| Author | Anestis Gkanogiannis [aut, cre] (ORCID: <https://orcid.org/0000-0002-6441-0688>) |
| License | GPL-3 |
| URL | https://github.com/gkanogiannis/jvecfor |
| Bug Reports | https://github.com/gkanogiannis/jvecfor/issues |
| System Requirements | Java (>= 20) |
| Downloads rank | 45 |
| Source branch | RELEASE_3_23 |
| biocViews | Classification, Clustering, GraphAndNetwork, SingleCell, Software |
Documentation
Download
Dependencies
Depends: R (>= 4.5.0)
Imports: BiocNeighbors, BiocParallel, Matrix, bluster, data.table, methods, processx
Suggests: BiocStyle, igraph, knitr, rmarkdown, testthat (>= 3.0.0)