Skip to contents

Single cell GPU

Different GPU-accelerated methods specifically for the single cell applications.

calculate_pca_gpu_sc()
GPU-accelerated PCA for single cell
generate_gpu_knn_sc()
Generate GPU kNN data for single cells
harmony_v2_gpu_sc()
Run Harmony v2 (GPU)
find_neighbours_gpu_sc()
Find GPU-accelerated neighbours for single cells
generate_seacells_gpu_sc()
Generate meta cells based on SEACells on the GPU
scenic_grn_sc_gpu()
GPU-accelerated SCENIC GRN inference
scrublet_gpu_sc()
Doublet detection with Scrublet on the GPU
fast_cluster_gpu_sc()
Run fast Louvain clustering on a SingleCells object (GPU)
bbknn_gpu_sc()
Run BBKNN on the GPU
nebula_gpu_sc()
Run NEBULA on single cells on the GPU
nmf_gpu_sc()
Run single-run NMF on the GPU over single cell or meta cell data
stabilised_nmf_gpu_sc()
Run stabilised (multi-run) NMF on the GPU over single cell or meta cell data
consensus_nmf_gpu_sc()
Run consensus NMF on the GPU over single cell or meta cell data
nmf_k_sweep_gpu_sc()
Sweep k for consensus NMF on the GPU over single cell or meta cell data
params_sc_harmony_v2_gpu()
Default parameters for Harmony v2 GPU batch correction
params_sc_fast_cluster_gpu()
Default parameters for GPU fast Louvain clustering
params_scrublet_gpu()
Wrapper function for GPU Scrublet doublet detection parameters
params_sc_bbknn_gpu()
Wrapper function for the GPU BBKNN parameters
params_nebula_gpu()
Wrapper function for parameters for GPU NEBULA
params_knn_gpu_defaults()
Default parameters for the GPU nearest neighbour backends

GPU-accelerated UMAP

GPU-accelerated UMAP with pluggable kNN backends (IVF, NN-descent/CAGRA, exhaustive) and CPU/GPU optimisers. Also a version for the single cells analysis suite in bixverse.

umap_gpu()
Rust-based UMAP (GPU)
umap_gpu_sc()
Run UMAP on a SingleCells object (GPU)
params_umap_gpu()
Wrapper function to generate UMAP parameters (GPU version)
params_nn_gpu()
Wrapper function to generate GPU nearest neighbour parameters

GPU-accelerated t-SNE

t-SNE with GPU-accelerated kNN backends (IVF, NN-descent, exhaustive). Optimiser (BH or FFT) runs on CPU via the Rust implementation in manifoldsR. Also a version for the single cells analysis suite in bixverse.

tsne_gpu()
Rust-based t-SNE (GPU)
tsne_gpu_sc()
Run t-SNE on a SingleCells object (GPU)
params_tsne_gpu()
Wrapper function to generate t-SNE parameters (GPU version)

Parametric UMAP

Want to train a neural net to do your UMAP embeddings? Want to train flexibly on CPU or GPU? Here’s what you need.

parametric_umap()
Parametric UMAP
params_parametric_umap()
Wrapper function to generate parametric UMAP parameters
predict(<ParametricUmapModel>)
Predict embeddings for new data using a trained parametric UMAP model
load_parametric_umap()
Load a parametric UMAP as a qs2 file
save_parametric_umap()
Save a parametric UMAP as a qs2 file

Other GPU-accelerated methods

Other GPU-accelerated methods that you might find useful… k-means clustering and a direct interface into the GPU-accelerated kNN searches can be found here.

k_means_cluster_gpu()
GPU-accelerated k-means clustering
params_kmeans_gpu()
Default parameters for GPU k-means
generate_knn_graph_gpu()
Generate a k-nearest neighbour graph (GPU-accelerated)
gpu_available()
Is a GPU available

Agent skill

Teach your coding agent how to use the package.

install_agent_skill_gpu()
Install the bixverse.gpu agent skill

Rust wrappers

Everything rusty - only use this if you know what you are doing… Maybe useful for your own package? Use with care and read the documentation!

rs_bbknn_gpu() experimental
GPU: BBKNN batch correction
rs_cor_gpu() experimental
GPU-accelerated correlation calculations
rs_cov_gpu() experimental
GPU-accelerated covariance calculations
rs_fast_cluster_gpu() experimental
GPU: fast Louvain clustering on the data
rs_fast_cluster_grid_gpu() experimental
GPU: fast Louvain clustering on the data (with multiple seeds)
rs_gpu_available()
Check whether a usable GPU adapter is present
rs_gpu_plane_ops()
Check whether the GPU adapter runs plane (subgroup) operations
rs_harmony_v2_gpu() experimental
Harmony batch correction in Rust (version 2, GPU-accelerated)
rs_gpu_knn() experimental
Generate a GPU-accelerated kNN graph
rs_kmeans_gpu() experimental
GPU-accelerated k-means
rs_mc_scenic_gpu() experimental
GPU: SCENIC GRN inference on MetaCells (in-memory sparse)
rs_nebula_sc_gpu() experimental
GPU: fit the NEBULA negative binomial gamma mixed model over single cells
rs_nmf_consensus_mc_gpu() experimental
Run consensus NMF on the GPU over meta cells
rs_nmf_consensus_sc_gpu() experimental
Run consensus NMF on the GPU over a set of single cells and genes
rs_nmf_k_sweep_mc_gpu() experimental
Sweep k on the GPU over meta cells
rs_nmf_k_sweep_sc_gpu() experimental
Sweep k on the GPU and report consensus stability against error
rs_nmf_multi_mc_gpu() experimental
Run multiple NMF (HALS) restarts on the GPU over meta cells
rs_nmf_multi_sc_gpu() experimental
Run multiple NMF (HALS) restarts on the GPU over single cells and genes
rs_nmf_single_mc_gpu() experimental
Run NMF (HALS) on the GPU over meta cells
rs_nmf_single_sc_gpu() experimental
Run NMF (HALS) on the GPU over a set of single cells and genes
rs_parametric_umap_predict() experimental
Predict new data using a trained parametric UMAP model
rs_parametric_umap() experimental
Parametric UMAP implementation
rs_sc_pca_sparse_gpu() experimental
Calculates sparse PCA for single cell
rs_sc_scrublet_gpu() experimental
GPU: Scrublet doublet detection
rs_scenic_grn_gpu() experimental
GPU: SCENIC gene-regulatory network inference (disk-backed)
rs_scenic_grn_streaming_gpu() experimental
GPU: SCENIC GRN inference (streaming; bounded host memory)
rs_seacells_gpu() experimental
GPU: SEACells meta cell generation
rs_umap_gpu() experimental
UMAP implementation
rs_umap_from_knn_gpu() experimental
UMAP implementation from a pre-computed kNN graph
rs_tsne_gpu() experimental
tSNE implementation
rs_tsne_from_knn_gpu() experimental
tSNE implementation from a pre-computed kNN graph

Deprecated

Kept so existing scripts keep running. Each one warns and forwards to its replacement.

generate_cagra_knn_sc() deprecated
Generate CAGRA GPU kNN data for single cells (deprecated)
find_neighbours_cagra_sc() deprecated
Find neighbours via CAGRA GPU-acceleration for single cells (deprecated)
params_sc_cagra() deprecated
Default parameters for CAGRA-style kNN search (deprecated)
params_sc_ivf() deprecated
Default parameters for IVF-GPU kNN search (deprecated)
rs_cagra_gpu_knn() deprecated
CAGRA-style GPU-accelerated kNN graph (deprecated)
rs_exhaustive_gpu_knn() deprecated
Exhaustive GPU-accelerated kNN graph (deprecated)
rs_ivf_gpu_knn() deprecated
IVF-GPU-accelerated kNN graph (deprecated)