Bio Infra for Future AI

Open-source, open AI infrastructure, built together — OmicVerse.

omicverse/omicverse 1.4kstars 150 forks 20 open issues GPL-3.0
Install $pip install omicverse Installation guide ›
R ports

R packages, rebuilt function by function.

Every port maps the upstream R functions to Python or Rust and is checked against the R reference on a fixed fixture. Click a sticker to see its map.

70packages
1,490function mappings
84%ported
Benchmark

1.4M cells in about a minute, from disk.

Full scRNA-seq workflow on SEA-AD: 67 s and 13.5 GB of memory.

Runtime logPeak memory
CPU · 64 threads
omicverse[cpu]67 s13.5 GB
brisc61 s114 GB
Scanpy*1.4 h256 GB
Seurat + BPCells*2.9 h15 GB
Seurat v6> 7.8 h crashed288 GB
GPU · 1× H100 + 16 threads
omicverse[gpu]71 s5.2 GB
omicverse[mixed]2.6 min13.4 GB
rapids-singlecell*3.8 minn/a

SEA-AD · 1.38M cells × 36,601 genes · * brisc paper: 192-core node; rapids-singlecell on 4× H100

Ecosystem

Every omics layer, one import.

Ten modules share one AnnData-first API. scanpy pipelines plug in unchanged.

import omicverse as ov
Assayov.align Preprocessov.pp Single-cellov.single Spatialov.space Bulkov.bulk Foundationov.fm Molecularov.mol Epigenomicsov.epi Microbiomeov.micro Metabolomicsov.metabol
Quickstart

Count matrix to clusters in eight lines.

The object stays AnnData the whole way, so scanpy, exports or an agent can take over at any step.

$ pip install omicverse

import omicverse as ov
adata = ov.datasets.pbmc8k()
ov.pp.qc(adata, tresh={"mito_perc": 0.2, "nUMIs": 500})
ov.pp.preprocess(adata, mode="shiftlog|pearson", n_HVGs=2000)
ov.pp.scale(adata); ov.pp.pca(adata, layer="scaled")
ov.pp.neighbors(adata, use_rep="scaled|original|X_pca")
ov.pp.umap(adata); ov.pp.leiden(adata)
# adata.obs["leiden"] · adata.obsm["X_umap"]

One API, AnnData throughout

The same ov.pp / ov.tl / ov.pl calls for every modality.

Checked against the original

Every port pre-registers a parity gate and runs it against the R reference.

Pure Python and Rust

CRAN and Bioconductor methods without rpy2 or an R install.

Agent-ready

Skills, tutorials and report templates let analysis agents run the stack end to end.

Blog · Spatial Analyzing NanoString CosMx data FOV-aware loading, segmentation checks and inputs for downstream spatial models. Blog · Segmentation Cell segmentation for Visium HD with Cellpose From 2 µm bins and H&E to cells, in pure Python. Blog · Visualization Circular UMAPs with plot1cell Cells in a ring, metadata around it, one call.
Contribute

Bring a method. We'll help you port it.

Nominate an R package, follow the porting protocol, ship a verified wheel. The repository stays yours.