COSG v1.1.0
pip install -U cosg
Streaming backend for .cytome datasets
cosg.cosg() is now a single polymorphic entry point — pass an AnnData, a
path to a .cytome file, or an open CytomeDataset:
import cosg
markers = cosg.cosg("atlas.cytome", groupby="cell_type")
Marker detection reads the file in chunks, so peak memory does not scale with
the number of cells. A GPU path (CuPy) is selectable with
device='cpu' | 'gpu' | 'auto' on both paths.
Also: batch_key extended to the streaming, GPU and feature-batched paths;
output_format='dict' | 'long' | 'dense' for streaming; cosg.__version__,
which previously raised AttributeError.
scanpy is now an optional extra
Only plotMarkerDotplot uses it, so a plain pip install cosg is ~60 MB and 9
packages lighter. Use pip install 'cosg[dotplot]' to keep it. Cell-type
ordering that previously used scanpy.tl.dendrogram is computed internally and
reproduces it exactly.
The cytome streaming backend is an optional extra
pip install 'cosg[cytome]'
Same rule as scanpy above — an optional feature is not charged to every
install. Calling cosg.cosg() on a .cytome path without it raises an error
naming the extra, rather than the function being missing entirely.
The default streaming path no longer needs PIASO
layer='log1p' (the RNA default) is computed by COSG itself and gives
identical numbers to the implementation it replaced. Only layer='infog' and
layer='tfidf' need PIASO, since those are PIASO normalizations — and the
error naming it now gives the correct install command, pip install piaso-tools.
BSD-3-Clause.