Releases: gustaveroussy/sopa
Releases · gustaveroussy/sopa
v2.2.2
Added
- Added CI for MacOS and Windows by @alihamraoui in #391
- Add support for local StarDist models by @alihamraoui in #392
- Add scene and timepoint support to bioio reader by @alihamraoui in #395
- Add
tiffslide>=3.0.0(which supports zarr v3) in thewsiextra, and use as a default backend forsopa.io.wsi
Changed
- Aggregation refactoring by @alihamraoui in #401. Channel aggregation now returns an AnnData object. Can choose not to drop cells in
sopa.aggregate.
Fixed
- Fixed ome-zarr issue when writing to disk #400
New Contributors
- @alihamraoui made their first contribution in #391
Full Changelog: v2.2.1...v2.2.2
v2.2.0
[2.2.0] - 2026-02-24
This release unpins zarr, allowing for upgrading to the newer SpatialData version.
Everything should be backward compatible, except for some updates in the sopa.io.wsi reader (more details below).
Changed
- Moved to
zarr>=3.0.0.
Fixed
- Fixed
'No module named "pkg_resources"'(#387) due to installing newer SpatialData version.
Added
- Python 3.14 should now be supported. More tests will be performed to ensure stability.
- Faster
import sopa(more lazy loaded packages). - Add spatial plot colored by cell annotation in the Sopa report (if any cell type or leiden)
Breaking changes
- Drop support for
python==3.10. Sopa now depends onpython>=3.11. sopa.io.wsinow usesopenslideas a default backend, and useswsias a default image name (see all function arguments in the docs).- Removed deprecated
sopa.io.wsi_autoscale
v2.1.11
[2.1.11] - 2025-12-18
Added
- Use the new
stardistversion to remove numpy pinning (now, all extras can usenumpy>=2.0.0). - gene-column argument is now optional in Baysor and Comseg configs (inferred by default)
Fixed
- Also ensure shapes transformation is always 2D when the transformation is extracted from images
- Xenium v4 users: the Explorer should now open the correct new-format image
- Use the right gene column in comseg when no config is provided (i.e., inferred by Sopa).
Changed
- Remove support for the Xenium Explorer
<4.0.0, please update it if not already done. - Remove deprecated
sopa cropcommand line
v2.1.10
[2.1.10] - 2025-12-05
Added
prosegsupport for Visium HD data (see the related tutorial).- Bypass spatial join when using only one patch to speed-up
make_transcript_patches(#362)
Fixed
v2.1.9
[2.1.9] - 2025-11-14
Fixed
- Fix
assign_transcript_to_cellwhen the GeoDataFrame index name is already a column name (#346) - Xenium v4 aggregation issue due to the presence of
/in the channel names (#353) - Ensure low-quality transcripts are not counted during aggregation (#349)
Changed
- Building Docker images using python 3.12 instead of python 3.10
- Lower the default tolerance during vectorization for more precise shapes (#340)
Added
- Setting
sopa.settings.simplification_toleranceto change the default shapely tolerance. For instance, set it to0.1for low simplification, or0for no simplification (#340) - Add an argument to load cells_boundaries and cells_table in
sopa.io.merscope(Falseby default) (#346) - Do not overwrite the prior shape key in the transcript dataframe (useful if running multiple times
make_transcript_patches) (#354)
v2.1.8
Hot fix: pin pyarrow<22.0.0
Was fixed in scverse/spatialdata#1002 but we can't use the latest spatialdata version until we support zarr v3 (#347)
v2.1.7
[2.1.7] - 2025-10-04
Added
- Pin
zarr<3.0.0until we fully support it (see #347 for progress on this) - WSI reader improvements: add slideio backend and faster embedding inference when not saving on disk @stergioc (#218)
- Argument to choose whether to run HVG in
scanpy_preprocess(Falseby default)
Fixed
- Ensure the H&E embeddings are deterministic: using
timmfor resnet, and ensure always in eval mode (#218)
Minor
- CI improvements (#348)
v2.1.5
[2.1.5] - 2025-10-11
Added
- Use the default
prosegpresets ifinfer_presets = True(default) and if not yet provided in thecommand_line_suffix - Exclude the CosMX control genes from the transcript patches and the aggregation
- Added optional
only_excludedargument incount_transcriptsto count the genes that are normally excluded from the counts (#329)
Fixed
- Ensure that cell expansion with no overlap preserves a polygon output (#318)
- Fixed
prosegusage on CosMx data (#323) - Don't perform segmentation on extremely small patches @Marius1311 (#282)
- Fixed incorrect prior cell ID assignment to float dtype instead of int in the CosMx reader when
fov is not None(#335) - Do not save the cache column in the transcript patches to allow moving the
.zarrdirectory before segmentation
Broken changes
- The CosMX reader now stores the transcript coordinates in microns instead of pixels, so Baysor/Comseg config needs to be adjusted (#323)
v2.1.4
[2.1.4] - 2025-09-29
Added
- Visium HD: also store the spatial coordinates of the bins in microns (not just in pixels)
- Added an
--overwriteoption to thesopa convertcommand line (#306) - Support
python==3.13 - Add
roi_keyin image/transcript patches to decide which shapes to use for the region of interest (#309) - Optional command line
sopa scanpy-preprocessfor basic preprocessing (see Snakemake config example)
Fixed
- Use
csrmatrices instead ofcooin transcript and bins aggregation to supportanndata>=0.12.0(#305) - Fix
ValueErrordue to forward slash in morphology marker name @professor-sagittarius (#311)
v2.1.3
[2.1.3] - 2025-08-29
Added
- Add support for the new proseg version
>=3.0.0 - Added sopa-comseg Docker image for ComSeg support in
nf-core/sopa - Can read CosMx polygons and cell labels (#285)