Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Universal path support (e.g. local, cloud) for bids datasets #11

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

akhanf
Copy link
Member

@akhanf akhanf commented Jun 28, 2024

This makes use of custom (experimental) branches on pybids and snakebids that make use of fsspec and universal_pathlib to allow parsing of bids datasets that are not only local, but can also be on cloud storage (or the many other supported storage backends).

Note: since it depends on universal_pathlib, it doesn't have as wide compatibility as fsspec itself (e.g. it doesn't support zip://).

Since this requires a custom pybids, and then a custom snakebids on top of that, I am thinking we should first make PRs to pybids and then snakebids to add universal_pathlib compatibility there..

With this branch, you can now use a gcs://... uri as the bids dataset. Note, you then need to consume the bids input data differently, e.g. either by using storage() in snakemake to have snakemake load and cache the file, or by using the url directly with dask or zarr. For the latter, you would need to make sure you pass it as a param not an input.

akhanf added 2 commits June 28, 2024 12:10
- parse bids directly from cloid
- trying out coiled for parallelizing zarr processing
- remove local repo deps
- tested with local, and gcs:// urls
- also works with zarr.zip with latest zarrnii
- note: need to pass the zarr_url directly to zarrnii, not use ome_zarr
ZarrReader
@akhanf
Copy link
Member Author

akhanf commented Jul 17, 2024

just realized there are some other commits in here when I was playing around with coiled and blob detection -- I'll clean those out later..

replaces hardcoded stain names in config. note, this currently only
reads stains from first subject --
note: will switch over to Karl's version later, this was just to make
figures for short-term..
- now have an priority list of stains to use for registration
- also a list of stains that will be used with blob detection
- have included naming variations
- uses custom snakebids to add a ignore option to generate inputs (to
overcome what seems to be a bug in pybids (not parsing the default
ignores properly when using a remote path.
for coarser ABAv3 labels (from Amr Eed)
was using ome-zarr, so was not compatible with ome.zarr.zip
@akhanf akhanf added the wontfix This will not be worked on label Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant