Bioc2026 Registration Open!

jvecfor

Fast K-Nearest Neighbor Search for Single-Cell Analysis

Bioconductor version: 3.24 · Package version: 1.1.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, https://gkanogiannis.github.io/jvecfor
Bug Reportshttps://github.com/gkanogiannis/jvecfor/issues
System RequirementsJava (>= 20)
Downloads rank158
Source branchdevel
biocViewsClassification, Clustering, GraphAndNetwork, SingleCell, Software

Documentation

Download

Follow the installation instructions to use this package in your R session.

Source packagejvecfor_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)