Skip to content

Repository files navigation

OpenPipeline Rapids

GPU-accelerated single-cell analysis components for reproducible and large-scale single-cell processing using Viash and Nextflow.

OpenPipeline Rapids extends the OpenPipeline ecosystem with GPU-enabled components and workflows built on top of rapids-singlecell. The structure of this package mirrors the rapids-singlecell Python package, and many components replicate their core OpenPipeline CPU equivalents with compatible interfaces so they can be swapped in 1:1 to accelerate existing pipelines on NVIDIA GPUs.

ViashHub GitHub GitHub License GitHub Issues Viash version

Functionality

OpenPipeline Rapids provides GPU-accelerated implementations of common single-cell processing steps as standalone components with a standardized interface, along with wrappers that let you choose between the CPU (upstream OpenPipeline) and GPU (rapids-singlecell) implementation at runtime.

The following functionality is provided:

  • Preprocessing: QC metric calculation, cell and gene filtering, doublet detection (Scrublet), total-count normalization, log1p transformation, scaling, regressing out unwanted variation, highly variable gene selection, PCA, neighbor graph construction, and batch integration (Harmony, BBKNN).
  • Tools: Clustering (Leiden) and dimensionality reduction / embedding (UMAP, t-SNE).
  • Spatial: Spatial autocorrelation statistics (Squidpy) for spatial omics data.
  • Wrappers: Drop-in CPU/GPU variants of the components and workflows above, exposing a --device_type switch so the same pipeline step can run on CPU or GPU without changing its interface.

Extended functionality

This package only provides GPU-accelerated components; it is designed to work seamlessly with the core OpenPipeline package. Because the components share compatible interfaces with their CPU counterparts, they can be dropped into existing OpenPipeline workflows to accelerate individual steps, and all core OpenPipeline workflows and components can be used in conjunction with the GPU-accelerated ones.

Requirements

The components run on NVIDIA GPUs only. Execution requires:

  • An NVIDIA GPU with the NVIDIA Container Toolkit installed (the executable runner passes --gpus all to Docker).
  • Components target x86_64 + CUDA 13. The base image is nvidia/cuda:13.1.2-runtime-ubuntu24.04, with the RAPIDS stack (cudf, cuml, cugraph, cuvs, rapids-singlecell) installed from NVIDIA's package index.

Execution via CLI or Seqera Cloud

The openpipeline_rapids package is available via Viash Hub, where you can find instructions on how to run the workflows and individual components.

  • Navigate to the Viash Hub package page, select the workflow or component you want to launch and click the launch button.
  • Select the execution environment of choice (e.g. Seqera Cloud, CLI or Executable).
  • Fill in the form with the required parameters and launch the workflow.

Support

For issues specific to GPU-accelerated components, please use the GitHub issues tracker. For general OpenPipeline questions, refer to the main OpenPipeline documentation.

About

Best-practice workflows for single-cell multi-omics analyses using rapids-singlecell.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages