Add pyXenium to the scverse ecosystem#364
Conversation
There was a problem hiding this comment.
Pull request overview
Adds pyXenium to the scverse ecosystem registry by introducing a new package metadata entry under packages/.
Changes:
- Added
packages/pyXenium/meta.yamlwith package description, links, tags, license, version, and test command. - Registered PyPI installation identifier and maintainer contact.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| documentation_home: https://pyxenium.readthedocs.io/en/latest/ | ||
| tutorials_home: https://pyxenium.readthedocs.io/en/latest/tutorials/index.html |
|
Hi, sorry for the delay in reviewing. I just had a first look and have a couple of questions/comments: In the IO tutorial you write:
Can you elaborate on why you chose to roll your own container and file format? In principle, we require that an ecosystem package uses our official data structures, but I can see that you at least offer conversion functions. If there's any limitations you face with SpatialData, please let us know and I'll bring it up with the SpatialData developers.
It's great that you provide so many tutorials, however at least for some of them, I struggle to understand what the respective functions actually produce. By that I mean that you only show how a certain function is called, but don't show any actual outputs. E.g. in https://pyxenium.readthedocs.io/en/latest/guides/protein-gene-correlation.html I would love to see an example figure and the summary table, or in https://pyxenium.readthedocs.io/en/latest/guides/contour-density.html it would be great to have a visual representation of what these functions actually do. (just highlighting this, this is not a hard requirement for acceptance according to the checklist).
I don't think this is the case as the structure differs quite a bit from what's generated by out template. This is also not a requirement for acceptance, but I'd appreciate if you stayed faithful when filling out the checklist. |
Summary
This PR proposes adding
pyXeniumto the scverse ecosystem packages list.Proposed metadata file:
packages/pyXenium/meta.yamlChecklist for adding packages
Mandatory
Name of the tool:
pyXeniumShort description:
pyXeniumis a Python toolkit for 10x Genomics Xenium data that combines Xenium I/O, multimodal RNA+protein analysis, contour-aware spatial profiling, topology workflows, GMI inference, mechanostress analysis, and optional external workflow bridges.How does the package use scverse data structures (please describe in a few sentences):
pyXeniumusesanndata.AnnDataas its canonical analysis object for downstream RNA+protein and spatial workflows. Core loaders can returnAnnDatadirectly, and the package's multimodal, contour, pathway, benchmarking, and mechanostress modules operate onAnnDatainputs or onXeniumSlide, a slide-level container whose main table is anAnnData. The project also keeps an optional interoperability bridge toSpatialDataviaXeniumSlide.to_spatialdata(), but does not requirespatialdataas a core runtime dependency.Recommended
Please announce this package on scverse communication channels (zulip, discourse, twitter)
Please tag the author(s) these announcements. Handles (e.g.
@scverse_team) to include are:The package provides tutorials (or "vignettes") that help getting users started quickly
The package uses the scverse cookiecutter template.
Additional notes
SPATHO AB0.4.5