Search arXiv⌕ Search

arXiv · 2610.35890

scPyviewer: a Python-native interactive viewer from AnnData single-cell data

Abstract

Motivation: Interactive web tools enabling non-programmers to explore single-cell datasets, embeddings, gene expression, metadata, and marker genes are standard laboratory infrastructure. However, actively maintained tools (e.g., ShinyCell, ScRDAVis, sCIRCLE) rely on R Shiny and require Seurat objects. Python/scanpy, the dominant framework for single-cell RNA-seq and spatial analysis, lacks a lightweight, native option pairing a shareable viewer with a scriptable Python API. Sharing scanpy results currently requires converting to Seurat or sharing code notebooks. Results: We present scPyviewer, a web viewer that ingests AnnData objects directly and reproduces incumbent interaction patterns within the Python stack. In a feature-parity audit against three R Shiny tools, scPyviewer matches or exceeds baseline capabilities (7/7), uniquely offering native AnnData ingestion without conversion and cross-dataset comparison over shared genes and matched cell types. Benchmark tests across three datasets (22,315 to ~313,000 cells) show scPyviewer renders every core view faster (up to 3.6x speedup) using lower memory (5.2x lower on the smallest dataset). On 313,000 cells, scPyviewer completes all views while Seurat exhausts an 8 GB memory limit and fails. Beyond the app, scPyviewer exposes a Python API returning Matplotlib figures and pandas tables for publication-ready output. Availability and implementation: Implemented in Python 3.11 (scanpy 1.11.5, anndata 0.12.19, streamlit 1.59.2, plotly 6.9.0) with a one-command interface to reproduce benchmarks, figures, and launch the app. Source code: https://github.com/xuan13hao/scPyviewer.git

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Hao Xuan, Yu Huang, Jiang Bian, Xiangtao Liu. 2026-09-10. scPyviewer: a Python-native interactive viewer from AnnData single-cell data. https://arxiv.org/abs/2610.35890

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

GenoBERT: A Language Model for Accurate Genotype Imputation

Genotype imputation enables dense variant coverage for genome-wide association and risk-prediction studies, yet conventional reference-panel methods remain limited by ancestry bias and reduced rare-variant accuracy. We present Genotype Bidirectional Encoder Representations from Transformers (GenoBERT), a transformer-based, reference-free framework that tokenizes phased genotypes and uses a self-attention mechanism to capture both short- and long-range linkage disequilibrium (LD) dependencies. Benchmarking on two independent datasets including the Louisiana Osteoporosis Study (LOS) and the 1000 Genomes Project (1KGP) across ancestry groups and multiple genotype missingness levels (5-50%) shows that GenoBERT achieves the highest overall accuracy compared to four baseline methods (Beagle5.4, SCDA, BiU-Net, and STICI). At practical sparsity levels (up to 25% missing), GenoBERT attains high overall imputation accuracy ($r^2 approx 0.98$) across datasets, and maintains robust performance ($r^2 > 0.90$) even at 50% missingness. Experimental results across different ancestries confirm consistent gains across datasets, with resilience to small sample sizes and weak LD. A 128-SNP (single-nucleotide polymorphism) context window (approximately 100 Kb) is validated through LD-decay analyses as sufficient to capture local correlation structures. By eliminating reference-panel dependence while preserving high accuracy, GenoBERT provides a scalable and robust solution for genotype imputation and a foundation for downstream genomic modeling.

q-bio.GN↗

Adaptive Allele-Haplotype Incidence Indexing for Pangenome Queries: Representation, Reconstruction, and Benchmarking

Population-scale analysis of phased genetic variants requires both allele-carrier retrieval and ordered haplotype context. We examine H1, an adaptive allele-haplotype incidence-row index, and H2, a canonical edge-path representation derived from a fixed, nonoverlapping variant catalog. We prove conditional reconstruction of abstract H2 walks and distinguish this property from unrestricted equivalence to genomic variation graphs. A completed local notebook experiment used a chromosome 1 interval (20-22 Mb), 200 diploid individuals, 24,921 SNV/indel records, and 45 SVTYPE-annotated records. For 24,966 extracted nonreference rows across 400 haplotypes, the serialized H1 incidence-row files occupied 0.872 MiB with a simple adaptive layout and 1.126 MiB with a custom Roaring-like layout, versus 1.190 MiB for a bitmap-payload baseline; a whole-file Zstandard archive of the adaptive layout occupied 0.207 MiB. For a separately constructed nonoverlapping SNV projection containing 22,727 sites, indexed H2 edge sequences occupied 75,130,882 bytes in a raw format and 5,156,418 bytes with context-Huffman encoding (14.57-fold reduction). Carrier-equivalence and graph-adjacency assertions passed in the notebook, but full crosscallset phasing, nucleotide-level SV reconstruction, and comparison with production indexes remain unresolved. The measurements establish a restricted implementation feasibility result, not superior end-to-end pangenome compression.

q-bio.GN↗

pyTransRate: reference-free quality assessment of de novo transcriptome assemblies with current aligners and quantifiers

Summary: The original software TransRate scores a de novo transcriptome assembly by mapping the reads it was built from back to it, with no reference required. Its last release (1.0.3) depends on Ruby 2.2 and on aligner and quantifier versions that can no longer be installed on most systems. pyTransRate is a Python reimplementation of the TransRate method built on snap-aligner 2.0.5 and salmon 2.7.0. In 5,031 paired comparisons (39 assembly-level metrics on each of 129 public assemblies), it reproduces the original sequence metrics and read counts exactly and ranks assemblies consistently with 1.0.3 (Spearman rho = 0.94 for assembly score, 0.98 for good-mapping rate), although its read-based scores are not numerically interchangeable with the original. It also reads gzip- and bgzip-compressed input directly. Availability and Implementation: pyTransRate is implemented in Python 3 and is freely available under the MIT license at https://github.com/macmanes-lab/pytransrate. It runs on Linux and macOS; snap-aligner and salmon are installed from Bioconda. Supplementary information: Supplementary data are available online. Supplementary Table S1 lists the assembly and read accessions for every assembly analyzed; Supplementary Table S2 gives per-assembly values from both implementations.

q-bio.GN↗