Skip to content

Release notes

v1.2.0

Terminal window
pip install -U piaso-tools

cytome datasets and streaming

PIASO works directly on cytome files. Anywhere a function took an AnnData, it also takes a path to a .cytome file or an open dataset:

import piaso, cytome
ds = cytome.open("atlas.cytome")
piaso.tl.runGDR(ds, groupby="cell_type", layer="infog")

The matrix is read in chunks rather than loaded, so peak memory is set by the batch size instead of by the number of cells. cytome is installed automatically — there is no extra to remember.

A self-contained analysis workflow

From raw UMI counts to clusters, an embedding and marker genes:

import piaso, cosg
# Input must be RAW UMI counts. This reads adata.X by default; if your raw
# counts live in a layer, pass it explicitly:
# piaso.tl.infog(adata, layer="counts", n_top_genes=3000)
piaso.tl.infog(adata, n_top_genes=3000)
# Pass layer="infog" — runSVD defaults to adata.X, which would silently
# ignore the normalization above.
piaso.tl.runSVD(adata, layer="infog", n_components=50, key_added="X_svd")
piaso.tl.neighbors(adata, use_rep="X_svd", n_neighbors=15)
piaso.tl.leiden(adata, resolution=1.0, key_added="leiden")
piaso.tl.umap(adata, use_rep="X_svd")
cosg.cosg(adata, groupby="leiden", key_added="cosg")
piaso.pl.embedding(adata, basis="X_umap", color="leiden")

Every step runs on a plain pip install piaso-toolsno scanpy required. scanpy remains an optional extra (pip install 'piaso-tools[scanpy]') for interoperability.

Motif scanning

piaso.pp.scan_motifs is a pure-numpy PWM scanner; scan_motifs_rust is a rayon-parallel implementation with the same contract. The motif-database loaders and .2bit sequence access live alongside it in piaso.data, so the whole workflow — fetch a genome, extract sequences, load PWMs, scan — is available from one install.

Reference data

piaso.data fetches and caches what analyses need: genome sequence and annotation, example datasets, motif databases (JASPAR, CIS-BP, cisTarget), and the SCREEN cCRE registry.

Requirements

Requires cosg>=1.1.0. pip install -U piaso-tools pulls it in.

Security

pyo3 upgraded to 0.29.2, closing GHSA-36hh-v3qg-5jq4 and GHSA-chgr-c6px-7xpp. PIASO called neither affected API, so exposure was nil, but the crate linked the code.

v1.1.0

Marker-gene-guided dimensionality reduction (GDR), INFOG normalization, gene-set scoring, cell-type annotation and label transfer, and the plotting suite. See the GitHub releases for the full history.