Skip to content

HelenaLC/SpatialData.data

Repository files navigation

SpatialData.data

for class infrastructure, see SpatialData

for visualization capabilites, see SpatialData.plot

Introduction

SpatialData.data makes scverse data examples available through Bioc's NSF OSN bucket, and accessible from within R, using BiocFileCache. Also, there is an interface to Python's 'spatialdata-io' for reading and writing to .zarr, and to align data into a common (identity) space.

Installation

BiocManager::install("HelenaLC/SpatialData")
BiocManager::install("HelenaLC/SpatialData.data")

To interrogate our S3 bucket you will need paws installed; it is not necessary for retrievals.

Ingestion workflow

Query Bioconductor's OSN bucket:

> Sys.setenv(AWS_REGION = "us-east-1")
> availableOSN()  # as of May 19 2025
checking Bioconductor OSN bucket...
[1] "HuLungXenmulti.zip"                     
[2] "mcmicro_io.zip"                         
[3] "merfish.zarr.zip"                       
[4] "mibitof.zip"                            
[5] "steinbock_io.zip"                       
[6] "visium_associated_xenium_io_aligned.zip"
[7] "visium_hd_3.0.0_io.zip"                 
[8] "xenium_rep1_io_aligned.zip"             
[9] "xenium_rep2_io_aligned.zip"               

Bring a .zip archive into your local cache:

dir.create(tf <- tempfile())
pa = SpatialData.data:::.unzip_spd_demo(
  zipname="mibitof.zip", 
  destination=tf, 
  source="biocOSN")
dir(pa, full.names=TRUE) # see the files

Import the SpatialData instance, and work with it:

(mibi <- readSpatialData(pa))
# or simply
# (mibi <- ColorectalCarcinomaMIBITOF())
> mibi
class: SpatialData
- images(3):
  - point16_image (3,1024,1024)
  - point23_image (3,1024,1024)
  - point8_image (3,1024,1024)
- labels(3):
  - point16_labels (1024,1024)
  - point23_labels (1024,1024)
  - point8_labels (1024,1024)
- points(0):
- shapes(0):
- tables(1):
  - table (36,3309)
coordinate systems:
- point16(2): point16_image point16_labels
- point23(2): point23_image point23_labels
- point8(2): point8_image point8_labels
> table(mibi)
class: SingleCellExperiment 
dim: 36 3309 
metadata(1): spatialdata_attrs
assays(1): X
rownames(36): ASCT2 ATP5A ... XBP1 vimentin
rowData names(0):
colnames(3309): 9376-1 9377-1 ... 4273-0 4274-0
colData names(12): row_num point ... batch library_id
reducedDimNames(3): X_scanorama X_umap spatial
mainExpName: NULL
altExpNames(0):

TODO: build provenance for each example

make_spd_prov = function( outfile=tempfile(), zarr_url,
   prose_tag,
   pub_url,
   date_uploaded) {
   if (missing(date_uploaded)) stop("must supply upload date")
   if (missing(pub_url)) stop("must supply pub_url")
   if (missing(prose_tag)) stop("must supply upload prose_tag")
   basic = list(
    SpatialDataTag = prose_tag,
    zarr_url = zarr_url,
    pub_url = pub_url,
    date_uploaded = date_uploaded)
  jsonlite::write_json(jsonlite::toJSON(basic), outfile)
}

make_spd_prov(zarr_url = "https://s3.embl.de/spatialdata/spatialdata-sandbox/xenium_rep1_io_aligned.zip",
   prose_tag = "spatialdata notebooks aligned rep1",
   pub_url = "https://pubmed.ncbi.nlm.nih.gov/38114474/",
   date_uploaded = "2024.11.10")

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages