Skip to main content

Stars PyPI Total downloads Monthly downloads

PIASO

Precise Integrative Analysis of Single-cell Omics

PIASO is a Python and Rust toolkit for single-cell omics — scRNA-seq, scATAC-seq and spatial transcriptomics — covering the analysis from raw counts through to the figures in a paper. Performance-critical routines are implemented in Rust; pre-compiled wheels ship for Linux, macOS (Intel and Apple Silicon) and Windows, so there is nothing to build.

import piaso, cosg

piaso.tl.infog(adata, n_top_genes=3000)                       # normalize + select
piaso.tl.runSVD(adata, layer="infog", n_components=50, key_added="X_svd")
piaso.tl.neighbors(adata, use_rep="X_svd"); piaso.tl.leiden(adata)
piaso.tl.umap(adata, use_rep="X_svd")
cosg.cosg(adata, groupby="leiden")                            # marker genes
piaso.pl.embedding(adata, color="leiden")

That whole workflow runs on a plain pip install piaso-tools — no scanpy required.

Who this is for

  • You have a single-cell dataset and want an analysis, not a toolchain. Reading, QC, normalization, dimensionality reduction, clustering, marker genes, annotation and plotting are one package with one set of conventions.
  • Your data outgrew memory. The same function calls run on an AnnData in RAM or stream from a cytome file on disk, where peak memory is set by the batch size instead of the cell count. Validated to several million cells.
  • You care what the figure looks like. The plotting suite and piaso.settings are built for publication figures rather than for quick looks.
  • You work with a coding agent. The API is published in an agent-readable form (see below), so the agent works from the current signatures.

If you only need one method, the pieces are usable on their own — cosg for markers, cytome for storage.

The ecosystem

PIASO is the analysis layer of a small set of packages that fit together, and each is useful alone:

PIASO analysis: normalization, dimensionality reduction, clustering, annotation, plotting
cytome a single-file format for single-cell multi-omics; what PIASO streams from
COSG fast, accurate marker gene and marker region identification
PIASO-data genome references and tutorial datasets, fetched and cached on demand
PIASO-for-agents the ecosystem in a form coding agents can read
LARIS · Emergene spatial ligand–receptor analysis · per-cell differential analysis across conditions

Documentation

piaso.org — tutorials, API reference and release notes.

Installation

Install from PyPI (stable release):

pip install piaso-tools

This also installs cytome, the on-disk dataset format PIASO reads and writes. Nothing extra to install to work with .cytome files.

Install from bioconda (stable release):

conda install -c conda-forge -c bioconda piaso

Install from GitHub (latest development version):

pip install git+https://github.com/genecell/PIASO.git

Using PIASO with a coding agent

PIASO-for-agents makes the PIASO ecosystem available to coding agents from one canonical knowledge base, generating Claude skills, Cursor rules, AGENTS.md, llms.txt, and an MCP server. Useful if you work in Claude Code, Cursor, Copilot, Codex, Windsurf, Cline, or Aider and want the agent to know the current API rather than guess it.

Any model with web access can be pointed straight at:

https://piaso.org/llms.txt
https://piaso.org/llms-full.txt

Contributing

Issues and pull requests are welcome at github.com/genecell/PIASO. Bug reports are most useful with the output of piaso.__version__ and a minimal example.

Citation

If PIASO is useful for your research, please consider citing Wu, S.J., Dai, M. et al. Pyramidal neurons proportionately alter cortical interneuron subtypes. Nature (2026). https://doi.org/10.1038/s41586-025-09996-8

Contact

Min Dai dai@broadinstitute.org

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

piaso_tools-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (791.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

piaso_tools-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (794.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

piaso_tools-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (794.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file piaso_tools-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for piaso_tools-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e8b78c5141e3d9bbee19718e6ce06b5f1f2e0d43f3e307ac4a1c98f824c32a1
MD5 d50bbeb5ac21a24a6356b39daedef4be
BLAKE2b-256 4d30d2b14c14f040b6c36b483b83c71e43f4bff31db7b4f9a9d52fefcd062f09

See more details on using hashes here.

Provenance

The following attestation bundles were made for piaso_tools-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on genecell/PIASO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piaso_tools-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for piaso_tools-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 797057896a983802d729f23e8e5e6e5c2bca1ba1ccbf5e6b71f0945e0e974adf
MD5 d9fd174f4d35acb3cb48e8a6529e3952
BLAKE2b-256 010a948002fd298d1a821088d39b83233870221e19f3e16473858b2be25c17e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for piaso_tools-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on genecell/PIASO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piaso_tools-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for piaso_tools-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f33a3e63ea58c4c312330371b15242e44cf4121cb9e8d44c076ccc71f70a6168
MD5 b72d221a78d1bcf2dee1072d5a10f9ac
BLAKE2b-256 a0f46c74f2fa7b6130db0eabfb7f2a12fbb46f669fe33bfd4dfcbb8a8e427e77

See more details on using hashes here.

Provenance

The following attestation bundles were made for piaso_tools-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on genecell/PIASO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.2.3

3 files

1.2.2

3 files

This release

1.2.1 This release

3 files

1.2.0

3 files

1.1.0

20 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page