satijalab / seurat

R toolkit for single cell genomics
http://www.satijalab.org/seurat
Other
2.28k stars 909 forks source link

Importing Non-Brain Vizgen/MERFISH Data #6269

Closed NilgesB closed 1 year ago

NilgesB commented 2 years ago

I am trying to analyze some of Vizgen's public MERFISH/MERSCOPE data, but am encountering the following error: "Error in UseMethod(generic = "CreateSegmentation", object = coords) : no applicable method for 'CreateSegmentation' applied to an object of class "NULL" See below for additional information on system, session and commands.

The folder structure I use matches the one in the vigniette and in their mouse brain data release 1:1. This does not seem to be an issue with my system, since the mouse brain data from the vigniette can be imported and analyzed just fine. All other datasets they made available (mouse lung and human cancer samples) do not work though. There don't seem to be changes to the files they provide in these releases vs brain and I have had the same error on three systems running Windows 10, Windows 10 Pro and Windows 11 Pro with different R versions and 32-256 GB of memory.

This is the data I am trying to use, but the same can be said for any other MERFISH/MERSCOPE release that is not mouse brain (mouse liver L1S1: https://console.cloud.google.com/storage/browser/vz-liver-showcase/Liver1Slice1;tab=objects?pageState=(%22StorageObjectListTable%22:(%22f%22:%22%255B%255D%22))&prefix=&forceOnObjectsSortingFiltering=false&pli=1

session info for one of the systems I used

sessionInfo() R version 4.1.2 (2021-11-01) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19043)

Matrix products: default

locale: [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 [4] LC_NUMERIC=C LC_TIME=German_Germany.1252

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] hdf5r_1.3.5 future_1.27.0 dplyr_1.0.9 sp_1.5-0 SeuratObject_4.1.0 [6] Seurat_4.1.0.9007 remotes_2.4.2

loaded via a namespace (and not attached): [1] nlme_3.1-153 spatstat.sparse_2.1-1 matrixStats_0.62.0 bit64_4.0.5
[5] RcppAnnoy_0.0.19 RColorBrewer_1.1-3 httr_1.4.3 sctransform_0.3.3
[9] tools_4.1.2 utf8_1.2.2 R6_2.5.1 irlba_2.3.5
[13] rpart_4.1-15 KernSmooth_2.23-20 uwot_0.1.11 mgcv_1.8-38
[17] rgeos_0.5-9 lazyeval_0.2.2 colorspace_2.0-3 tidyselect_1.1.2
[21] gridExtra_2.3 bit_4.0.4 curl_4.3.2 compiler_4.1.2
[25] progressr_0.10.1 cli_3.3.0 plotly_4.10.0 scales_1.2.0
[29] lmtest_0.9-40 spatstat.data_2.2-0 ggridges_0.5.3 pbapply_1.5-0
[33] goftest_1.2-3 stringr_1.4.0 digest_0.6.29 spatstat.utils_2.3-1 [37] pkgconfig_2.0.3 htmltools_0.5.3 parallelly_1.32.1 fastmap_1.1.0
[41] htmlwidgets_1.5.4 rlang_1.0.4 shiny_1.7.2 generics_0.1.3
[45] zoo_1.8-10 jsonlite_1.8.0 spatstat.random_2.2-0 ica_1.0-3
[49] magrittr_2.0.3 patchwork_1.1.1 Matrix_1.3-4 Rcpp_1.0.9
[53] munsell_0.5.0 fansi_1.0.3 abind_1.4-5 reticulate_1.25
[57] lifecycle_1.0.1 stringi_1.7.8 MASS_7.3-54 Rtsne_0.16
[61] plyr_1.8.7 grid_4.1.2 parallel_4.1.2 listenv_0.8.0
[65] promises_1.2.0.1 ggrepel_0.9.1 deldir_1.0-6 miniUI_0.1.1.1
[69] lattice_0.20-45 cowplot_1.1.1 splines_4.1.2 tensor_1.5
[73] pillar_1.8.0 igraph_1.3.4 spatstat.geom_2.4-0 future.apply_1.9.0
[77] reshape2_1.4.4 codetools_0.2-18 leiden_0.4.2 glue_1.6.2
[81] data.table_1.14.2 png_0.1-7 vctrs_0.4.1 httpuv_1.6.5
[85] polyclip_1.10-0 gtable_0.3.0 RANN_2.6.1 purrr_0.3.4
[89] spatstat.core_2.4-4 tidyr_1.2.0 scattermore_0.8 ggplot2_3.3.6
[93] mime_0.12 xtable_1.8-4 later_1.3.0 survival_3.2-13
[97] viridisLite_0.4.0 tibble_3.1.8 cluster_2.1.2 globals_0.15.1
[101] fitdistrplus_1.1-8 ellipsis_0.3.2 ROCR_1.0-11

This is what I tried to do - copied pretty much 1:1 from the tutorial:

library(Seurat) library(hdf5r) library(dplyr) library(future) plan("multisession", workers = 10) vizgen.obj <- LoadVizgen(data.dir = "./", fov="L1_S1") |--------------------------------------------------| |==================================================| Warning in ReadVizgen(data.dir = data.dir, filter = "^Blank-", type = c("centroids", : 395215 cells missing polygon information Error in UseMethod(generic = "CreateSegmentation", object = coords) : no applicable method for 'CreateSegmentation' applied to an object of class "NULL" In addition: There were 50 or more warnings (use warnings() to see the first 50)

AustinHartman commented 2 years ago

Hi, I am actually able to load in liver 1 slice 1. The warning suggests a lot of missing data - could you double check all of the cell boundary files are present? By my count there are 1,791 of them.