Release notes
v1.2.0
pip install -U piaso-toolscytome 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-tools — no 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.