Bioc2026 Registration Open!

jvecfor

This is the development version of jvecfor; for the stable release version, see jvecfor.

Fast K-Nearest Neighbor Search for Single-Cell Analysis


Bioconductor version: Development (3.24)

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.

Author: Anestis Gkanogiannis [aut, cre] ORCID iD ORCID: 0000-0002-6441-0688

Maintainer: Anestis Gkanogiannis <anestis at gkanogiannis.com>

Citation (from within R, enter citation("jvecfor")):
Seminal Bioconductor project articles:

Huber W, Carey VJ, Gentleman R, Anders S, Carlson M, Carvalho BS, Bravo HC, Davis S, Gatto L, Girke T, Gottardo R, Hahne F, Hansen KD, Irizarry RA, Lawrence M, Love MI, MacDonald J, Obenchain V, Oleś AK, Pagès H, Reyes A, Shannon P, Smyth GK, Tenenbaum D, Waldron L, Morgan M (2015). "Orchestrating high-throughput genomic analysis with Bioconductor." Nature Methods, 12(2), 115–121. doi:10.1038/nmeth.3252.

Gentleman RC, Carey VJ, Bates DM, Bolstad B, Dettling M, Dudoit S, Ellis B, Gautier L, Ge Y, Gentry J, Hornik K, Hothorn T, Huber W, Iacus S, Irizarry R, Leisch F, Li C, Maechler M, Rossini AJ, Sawitzki G, Smith C, Smyth G, Tierney L, Yang JYH, Zhang J (2004). "Bioconductor: open software development for computational biology and bioinformatics." Genome Biology, 5(10), R80. doi:10.1186/gb-2004-5-10-r80.

Installation

To install this package, start R (version "4.6") and enter:


if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

## The following initializes the development version of Bioconductor
BiocManager::install(version = "devel")

BiocManager::install("jvecfor")

For older versions of R, please refer to the appropriate Bioconductor release.

Documentation

To view documentation for the version of this package installed in your system, start R and enter:

browseVignettes("jvecfor")
jvecfor HTML R Script
Reference Manual PDF
NEWS Text

Details

biocViews Classification, Clustering, GraphAndNetwork, SingleCell, Software
Version 1.1.0
In Bioconductor since BioC 3.23 (R-4.6) (< 6 months)
License GPL-3
Depends R (>= 4.6.0)
Imports BiocNeighbors, BiocParallel, Matrix, bluster, data.table, methods, processx
System Requirements Java (>= 20)
URL https://github.com/gkanogiannis/jvecfor
Bug Reports https://github.com/gkanogiannis/jvecfor/issues
See More
Suggests BiocStyle, igraph, knitr, rmarkdown, testthat (>= 3.0.0)
Linking To
Enhances
Depends On Me
Imports Me
Suggests Me
Links To Me
Build Report Build Report

Package Archives

Follow Installation instructions to use this package in your R session.

Source Package jvecfor_1.1.0.tar.gz
Windows Binary (x86_64)
macOS Binary (big-sur-x86_64) jvecfor_1.1.0.tgz
macOS Binary (sonoma-arm64) jvecfor_1.1.0.tgz
Source Repository git clone https://git.bioconductor.org/packages/jvecfor
Source Repository (Developer Access) git clone git@git.bioconductor.org:packages/jvecfor
Bioc Package Browser https://code.bioconductor.org/browse/jvecfor/
Package Short Url https://bioconductor.org/packages/jvecfor/
Package Downloads Report Download Stats