Make scientific software faster.

Like enzymes that accelerate reactions without changing their products, AutoZyme autonomously finds safe speedups inside widely used scientific tools, packaged as drop-in patches with the same API, same outputs, and no workflow changes.

Preprint bioRxiv Install autozyme (R) / autozyme (Python) from GitHub · 45 finalized tasks across 9 scientific domains

By the numbers

Aggregated across all tracked benchmarks
237
Benchmarks
150
Datasets
32
Packages
10.3×
Median speedup
1,482×
Peak speedup

Is your tool already accelerated?

Search 45 accelerated functions across 9 domains

Two ways to use AutoZyme

Use what's already optimized, or optimize your own code
The library

Install and get instant speedups

Install autozyme for R or Python and get 45 already-optimized, output-verified functions across 9 scientific domains. Drop-in: same API, same outputs, no workflow changes. Nothing to configure.

For anyone · zero config, one line to activate Get started
The framework

Optimize your own slow code

Need a speedup the library doesn't cover yet? Hand AutoZyme a function or a whole package. It finds its own datasets, profiles the bottlenecks, then iteratively optimizes, tests, and packages the result into a drop-in patch, in about 3 hours.

For developers with a coding agent On GitHub →

How AutoZyme finds and compounds speedups

Agent-discovered

AutoZyme searches for bottlenecks

The AutoZyme agent scans public bioinformatics and scientific-computing ecosystems for slow, memory-heavy, or widely used methods worth optimizing.

Community-requested

Researchers nominate pain points

Users request packages that are too slow, hit OOM, or waste repeated analysis time. Votes and reproducibility help prioritize the queue.

01

Baseline and gates

We freeze representative inputs, upstream baselines, output concordance metrics, and acceptance thresholds.

02

Iterate and verify

AutoZyme generates candidate changes, benchmarks them, rejects divergent outputs, and keeps only reproducible speedups.

03

Package and release

Accepted optimizations are published as drop-in AutoZyme packages or upstream-ready patches with reproducible benchmark evidence.

Benchmarks at a glance

Representative task subsets; the full 45-task catalog is on the benchmarks page
4 threads Windows · 128 GB RAM
NormalizeData
22×
1.000
FindVariableFeatures
9.1×
1.000
ScaleData
9.6×
1.000
RunPCA
29×
0.994
FindNeighbors
2.0×
1.000
FindAllMarkers
88×
1.000
SCTransform
16×
0.999
IntegrateLayers (CCA)
11× *
0.998
Datasets
PBMC 68k PBMC 208k Heart 486k TMS SS2 110k Gastrulation 139k SPLiT-seq 156k ifnb 14k (2 batches) TMS SS2 110k (4 batches) Gastrulation 139k (3 batches)
Fold uses a fallback dataset where PBMC 208k is not available for IntegrateLayers (CCA). IntegrateLayers (CCA) uses 1-thread evidence; other dots use 4 threads evidence.

Install

Coming out soon — packages are being prepared for release
R · autozyme Seurat v5.4.0
library(Seurat)
library(autozyme)
autozyme::activate("seurat")

obj <- NormalizeData(obj)
obj <- RunPCA(obj)   # now accelerated — identical output
Will require R ≥ 4.0, Seurat ≥ 5.0
Python · autozyme Scanpy v1.11.5
import scanpy as sc
import autozyme
autozyme.activate("scanpy")

sc.pp.normalize_total(adata)
sc.tl.pca(adata)   # now accelerated — identical output
Will require Python ≥ 3.10, Scanpy ≥ 1.11

Seurat and Scanpy are just the two examples shown. AutoZyme also ships drop-in patches for inferCNV, CellChat, Squidpy, clusterProfiler, WGCNA, and many more: 45 verified functions across 9 domains. Browse the full catalog →