Documentation
SingleRust Ecosystem
Explore the comprehensive suite of packages that make up the SingleRust ecosystem. Each package is designed for high-performance single-cell data analysis.
Anndata Memory
v1.0.6AnnData-Memory is a high-performance, thread-safe Rust library for single-cell genomics data analysis. It provides an in-memory implementation of the AnnData data structure, serving as a companion to the anndata-rs ecosystem. The crate features fine-grained locking mechanisms using parking_lot for safe concurrent access, optimized sparse matrix operations (CSR/CSC formats), and efficient memory management with configurable loading strategies. It supports seamless conversion between H5-backed and in-memory formats, fast subsetting operations, and comprehensive data model coverage including expression matrices, metadata, multi-dimensional annotations, and layers. Designed for computationally intensive bioinformatics workflows requiring both performance and thread safety.
Single Clustering
v0.6.1A high-performance Rust library for network community detection and graph clustering. Implements state-of-the-art algorithms including the Leiden algorithm (with modularity and Reichardt-Bornholdt quality functions) and Louvain method. Features efficient CSR (Compressed Sparse Row) network representation optimized for large-scale graphs, with parallel processing via Rayon. Supports K-NN graph construction from high-dimensional data using adaptive algorithms (KD-tree/HNSW) with Gaussian connectivity weighting. Provides flexible trait-based architecture for custom quality functions and grouping strategies. Includes hierarchical aggregation, partition refinement, and multi-layer network support. Designed for researchers and practitioners working with large biological networks, social graphs, and high-dimensional datasets requiring scalable community detection.
Single Statistics
v0.8.1This Rust crate provides specialized statistical analysis tools for single-cell RNA-seq data, optimized for sparse matrix operations. It implements differential expression analysis through parametric (Student's and Welch's t-tests) and non-parametric (Mann-Whitney U) methods, with comprehensive multiple testing correction (Bonferroni, Benjamini-Hochberg, Holm-Bonferroni, and Storey's q-value). The library includes effect size calculations (Cohen's d, Hedge's g, log2 fold change) and handles the unique challenges of single-cell data like high sparsity and zero-inflation. Built on nalgebra-sparse for efficient computation, it offers parallel processing via rayon and integrates seamlessly with the single-rust ecosystem for end-to-end single-cell analysis workflows.
Single SVDLib
v1.0.6A Rust library for computing Singular Value Decomposition (SVD) on sparse matrices, supporting both Lanczos and randomized algorithms. Built on SVDLIBC's proven LAS2 algorithm with modern extensions, it handles CSR, CSC, and COO formats efficiently through parallel execution with Rayon. Key features include adaptive tuning for highly sparse matrices (>99% sparsity), column masking for subspace operations, and generic support for f32/f64 precision. The randomized SVD implementation excels with very large sparse matrices, offering configurable power iterations and normalization methods. Comprehensive diagnostics track computational metrics, while the API provides simple convenience methods alongside fine-grained parameter control for advanced users.
Single Utilities
v0.8.6single-utilities is a comprehensive Rust utilities library providing fundamental building blocks for mathematical computations, data processing, and algorithmic operations. It offers a collection of traits for numeric operations (including floating-point, SIMD-accelerated, and thread-safe variants), normalization, and indexing, along with types for direction handling, distance metrics, and batch processing. Designed for the SingleRust ecosystem but usable universally, it abstracts common patterns in numerical computing while maintaining flexibility and performance. The crate supports optional SIMD acceleration via the simba feature and integrates seamlessly with standard numeric libraries like num-traits, making it ideal for scientific computing, machine learning, and data analysis applications.
Single Algebra
v0.8.7A Rust library optimized for sparse matrix operations and dimensionality reduction in machine learning and scientific computing. Features efficient CSR/CSC sparse matrix implementations with comprehensive statistical operations (sums, variance, min/max) supporting both regular and masked computations. Implements Principal Component Analysis (PCA) with Lanczos and randomized SVD algorithms, featuring optional data centering, feature masking for selective analysis, and parallel processing via Rayon. Includes data preprocessing utilities (normalization, log transformations) and batch-wise statistical operations. Designed for memory-constrained environments handling large, high-dimensional sparse datasets common in genomics, text analysis, and recommendation systems. Generic over numeric types (f32/f64) with builder patterns for convenient configuration.
SingleRust
v0.5.7SingleRust is a production-grade Rust library for single-cell RNA-seq analysis, leveraging Rust's fearless concurrency for robust, scalable pipelines. Built on the AnnData ecosystem, it provides comprehensive quality control, normalization (log1p, total count), highly variable gene detection (Seurat, SVR), differential expression analysis (t-tests, Mann-Whitney with multiple testing correction), and dimensionality reduction (PCA, with t-SNE/UMAP in development). The library handles both in-memory and disk-backed operations with efficient sparse matrix processing. While actively developed and requiring optimization, SingleRust aims to transition single-cell workflows from prototyping to production deployment with type safety and parallel processing capabilities.
