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

2026-10-28 · ArXiv

arXiv:2610.35890v1 Announce Type: cross

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

原文链接:https://arxiv.org/abs/2610.35890

查看更多资讯请见 AI 行业资讯。