2 Data Availability

  • Where can I find seqFISH+ and other ready-to-use datasets?

Checkout our GiottoData extension package to find already preprocessed datasets and Giotto mini Objects.

  • Where else can I find more spatial datasets?

Checkout the following for more spatial-omics data:

  • Aquila

  • Tencent's SODB

  • PySODB, a python interface for the SODB

  • How can I automatically download tutorial datasets?

Use getSpatialDataset() from GiottoData:

# Ensure Giotto Suite is installed
if(!"Giotto" %in% installed.packages()) {
  pak::pkg_install("drieslab/Giotto")
}

library(Giotto)

# Ensure Giotto Data is installed
if(!"GiottoData" %in% installed.packages()) {
  pak::pkg_install("drieslab/GiottoData")
}

library(GiottoData)


# choose your directory
my_working_dir = getwd()

# merFISH example:

# standard download data to working directory
getSpatialDataset(dataset = 'merfish_preoptic', 
                  directory = my_working_dir)

# use wget to  download data to working directory (much faster)
getSpatialDataset(dataset = 'merfish_preoptic', 
                  directory = my_working_dir, 
                  method = 'wget')

# avoid certification issues with wget
getSpatialDataset(dataset = 'merfish_preoptic', 
                  directory = my_working_dir, 
                  method = 'wget', 
                  extra = '--no-check-certificate')

3 Matrix error

  • Why am I getting the error function 'as_cholmod_sparse' not provided by package 'Matrix'?

Matrix underwent a breaking change after versoin 1.6-2. Reinstalling irlba from source will fix this. See this issue for more info.

install.packages("irlba", type = "source")

4 Arrow and ZSTD

  • Why am I getting an error about arrow and ZSTD support when loading Xenium or VisiumHD data?

arrow is a suggested package Giotto uses to open parquet files. The parquet files that 10X provides use ZSTD compression which the default arrow installation may not provide. The following code will check for whether arrow is installed with ZSTD support, and reinstall if it is not present.

has_arrow <- requireNamespace("arrow", quietly = TRUE)
zstd <- TRUE
if (has_arrow) {
    zstd <- arrow::arrow_info()$capabilities[["zstd"]]
}
if (!has_arrow || !zstd) {
    Sys.setenv(ARROW_WITH_ZSTD = "ON") 
    # this may take a while
    install.packages("arrow", repos = c("https://apache.r-universe.dev"), type = "source")
}