Bioc2026 Registration Open!

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

MaintainerAnestis Gkanogiannis <anestis@gkanogiannis.com>
AuthorAnestis Gkanogiannis [aut, cre] (ORCID: <https://orcid.org/0000-0002-6441-0688>)
LicenseGPL-3
URLhttps://github.com/gkanogiannis/jvecfor
Bug Reportshttps://github.com/gkanogiannis/jvecfor/issues
System RequirementsJava (>= 20)
Downloads rank45
Source branchRELEASE_3_23
biocViewsClassification, 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)