jvecfor
Fast K-Nearest Neighbor Search for Single-Cell Analysis
Bioconductor version: 3.24 · Package version: 1.1.0
Other Bioconductor versions
devel is the development version; release is the current stable one.
3.24 (devel), 3.23 (release)
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, https://gkanogiannis.github.io/jvecfor |
| Bug Reports | https://github.com/gkanogiannis/jvecfor/issues |
| System Requirements | Java (>= 20) |
| Source branch | devel |
| Build report | Bioconductor build system, r-universe |
| biocViews | Classification, Clustering, GraphAndNetwork, SingleCell, Software |
| Package Short Url | https://bioconductor.org/packages/jvecfor/ |
Citation
From within R, enter citation("jvecfor"):
Anestis Gkanogiannis. jvecfor: Fast K-Nearest Neighbor Search for Single-Cell Analysis. doi:10.18129/B9.bioc.jvecfor, R package version 1.1.0, https://bioconductor.org/packages/jvecfor.
Generated from the package metadata; it may differ from the package's own citation.
Documentation
Download
Follow the installation instructions to use this package in your R session.
| Source package | jvecfor_1.1.0.tar.gz |
| macOS binary (arm64) | jvecfor_1.1.0.tgz |
| macOS binary (x86_64) | jvecfor_1.1.0.tgz |
Dependencies
Depends: R (>= 4.5.0)
Imports: BiocNeighbors, BiocParallel, Matrix, bluster, data.table, methods, processx
Suggests: BiocStyle, igraph, knitr, rmarkdown, testthat (>= 3.0.0)