theislab / zellkonverter

Conversion between scRNA-seq objects
https://theislab.github.io/zellkonverter/
Other
144 stars 27 forks source link

Cannot coerce class "list" to a DataFrame with R reader #83

Closed royfrancis closed 1 year ago

royfrancis commented 1 year ago

As an example, this small dataset (1496 cells, 43MB) from cellxgene.

Download file:

curl -o local.h5ad "https://corpora-data-prod.s3.amazonaws.com/e92ee581-ed9c-40f8-8f3f-fcc7f7537831/local.h5ad?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIATLYQ5N5XRQPADNSD%2F20221130%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20221130T155153Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFwaCXVzLXdlc3QtMiJHMEUCIHI1HblnmExHSolGhmRdT9l8zvKMQPcoI2Rupe8KfatTAiEA2lpY4aIgcNFIfN1gtXxkosDt6GlVXaYn66UZnARS1IMq6wMIdRABGgwyMzE0MjY4NDY1NzUiDAbHRoo8d2xXK11ocSrIA1tatH55E5wgG2k44bACf0CqaF%2FXcmLQR4zeKHyTjEWzz%2B6Dkze4%2FbHeVVojyn%2FeQQi8dqT7nD8u7DsiNng2tBYhmrQiCY74POm63nLQxhoR%2BKVYsL4mVdp0Bbc7zAupH7JbI86t5NywBWWiGltSMfyQgtB2%2BJ9cq%2Ffiao5EFoT42%2Fy35D%2FBlgfddegdMuvV9moU%2BxxEI7G2z0ww1KljkA7BQzI%2FhCPnkaTndfI0NA71CuP74EEXeTaVapQAwHps66lKoWIsdSPL2SU0eUX9E8e0PB1VwJ7NqZzyj0eYe%2FyoITrfIwno2uNup%2FFIOBZDmnDE07UGS62lYk0pszuqY0BIDLJCM8VQC5lezA7MMMEmWQva%2Fva566f7wAbt0jDrHG%2F0fgfi1775ToKBnbbJAibhyFzyIVvxa8BacwKVhx5UWNqZCOdlRvEzwPR1nTdAc84N9DNQkEgABB2S4UMZboU0ugd1S%2F4SxPQzTF3ESCGVVTSS5pkuNi%2BjJwLSBniD6cMKbAnGsUlOFiRKz130yFawX3xTY0b0mAkme1PxcfBA3eadAIES2hZJYKUe1xgb51EOaVmJunUfm%2FSy4EuVNN4nvSCtiP0gxTDjiJ2cBjqlAT%2Bm81%2FRmxhDcYSal%2B49LAsoiqiVfL6gR1Lm4XrM6QUyRnKpwRpdRmGWzIjB56O%2FM2UFVx3d67g%2BwH%2F6%2FQ65sjcn7CTmNrSHDdOEfy4VRS%2FWwhoL0ZPbOQm45xWBxOWQfOrVNQccL%2B1h7dQ7y839fBvFW1fX01mDqND9hHzROwlKdLN3v5URCCKB0HlQ0WCFv%2BRBCnGfKOM5nZzAUEZ7FjznJtnaOg%3D%3D&X-Amz-Signature=85db5dd06e60ff63a24a542d3943c0db13b410a00da8872ee01f43632468bc4e"

Read h5ad into R.

library(zellkonverter)
#> Registered S3 method overwritten by 'zellkonverter':
#>   method                from      
#>   py_to_r.numpy.ndarray reticulate
g  <- readH5AD("/home/gbmap/seaad.h5ad", verbose = TRUE, reader = "R")
#> ℹ Using the R reader
#> ⠙ Reading '/home/gbmap…
#> Warning in value[[3L]](cond): setting 'colData' failed for
#>   '/home/gbmap/seaad.h5ad':
#>   cannot coerce class "list" to a DataFrame
#> ✔ Reading '/home/gbmap…
#> 

Created on 2022-11-30 with reprex v2.0.2

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.1.0 (2021-05-18) #> os Ubuntu 22.04.1 LTS #> system x86_64, linux-gnu #> ui X11 #> language en_GB:en #> collate en_GB.UTF-8 #> ctype en_GB.UTF-8 #> tz Europe/Stockholm #> date 2022-11-30 #> pandoc 2.19.2 @ /usr/lib/rstudio/bin/quarto/bin/tools/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> basilisk 1.4.0 2021-05-19 [1] Bioconductor #> basilisk.utils 1.4.0 2021-05-19 [1] Bioconductor #> Biobase 2.54.0 2021-10-26 [1] Bioconductor #> BiocGenerics 0.40.0 2021-10-26 [1] Bioconductor #> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.1.0) #> cli 3.4.1 2022-09-23 [1] CRAN (R 4.1.0) #> DelayedArray 0.20.0 2021-10-26 [1] Bioconductor #> digest 0.6.30 2022-10-18 [1] CRAN (R 4.1.0) #> dir.expiry 1.0.0 2021-05-19 [1] Bioconductor #> evaluate 0.17 2022-10-07 [1] CRAN (R 4.1.0) #> fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.0) #> filelock 1.0.2 2018-10-05 [1] CRAN (R 4.1.0) #> fs 1.5.2 2021-12-08 [1] CRAN (R 4.1.0) #> GenomeInfoDb 1.30.1 2022-01-30 [1] Bioconductor #> GenomeInfoDbData 1.2.7 2022-03-14 [1] Bioconductor #> GenomicRanges 1.46.1 2021-11-18 [1] Bioconductor #> glue 1.6.2 2022-02-24 [1] CRAN (R 4.1.0) #> HDF5Array 1.22.1 2021-11-14 [1] Bioconductor #> highr 0.9 2021-04-16 [1] CRAN (R 4.1.0) #> htmltools 0.5.3 2022-07-18 [1] CRAN (R 4.1.0) #> IRanges 2.28.0 2021-10-26 [1] Bioconductor #> jsonlite 1.8.3 2022-10-21 [1] CRAN (R 4.1.0) #> knitr 1.40 2022-08-24 [1] CRAN (R 4.1.0) #> lattice 0.20-45 2021-09-22 [1] CRAN (R 4.1.0) #> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.1.0) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.1.0) #> Matrix 1.5-1 2022-09-13 [1] CRAN (R 4.1.0) #> MatrixGenerics 1.6.0 2021-10-26 [1] Bioconductor #> matrixStats 0.62.0 2022-04-19 [1] CRAN (R 4.1.0) #> png 0.1-7 2013-12-03 [1] CRAN (R 4.1.0) #> purrr 0.3.5 2022-10-06 [1] CRAN (R 4.1.0) #> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.1.0) #> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.1.0) #> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.1.0) #> R.utils 2.12.0 2022-06-28 [1] CRAN (R 4.1.0) #> Rcpp 1.0.9 2022-07-08 [1] CRAN (R 4.1.0) #> RCurl 1.98-1.9 2022-10-03 [1] CRAN (R 4.1.0) #> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.1.0) #> reticulate 1.26 2022-08-31 [1] CRAN (R 4.1.0) #> rhdf5 2.38.1 2022-03-10 [1] Bioconductor #> rhdf5filters 1.6.0 2021-10-26 [1] Bioconductor #> Rhdf5lib 1.16.0 2021-10-26 [1] Bioconductor #> rlang 1.0.6 2022-09-24 [1] CRAN (R 4.1.0) #> rmarkdown 2.17 2022-10-07 [1] CRAN (R 4.1.0) #> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.1.0) #> S4Vectors 0.32.4 2022-03-24 [1] Bioconductor #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.0) #> SingleCellExperiment 1.16.0 2021-10-26 [1] Bioconductor #> stringi 1.7.8 2022-07-11 [1] CRAN (R 4.1.0) #> stringr 1.4.1 2022-08-20 [1] CRAN (R 4.1.0) #> styler 1.8.0 2022-10-22 [1] CRAN (R 4.1.0) #> SummarizedExperiment 1.25.2 2021-11-08 [1] Github (Bioconductor/SummarizedExperiment@439eeff) #> withr 2.5.0 2022-03-03 [1] CRAN (R 4.1.0) #> xfun 0.34 2022-10-18 [1] CRAN (R 4.1.0) #> XVector 0.34.0 2021-10-26 [1] Bioconductor #> yaml 2.3.6 2022-10-18 [1] CRAN (R 4.1.0) #> zellkonverter * 1.9.0 2022-11-29 [1] Github (theislab/zellkonverter@fa22a44) #> zlibbioc 1.40.0 2021-10-26 [1] Bioconductor #> #> [1] /home/roy/miniconda3/envs/r-4.1/lib/R/library #> #> ────────────────────────────────────────────────────────────────────────────── ```
lazappi commented 1 year ago

Hi @royfrancis. Thanks for giving {zellkonverter} a go 🎉! I think this is a duplicate of #78. As I mentioned there the R reader is still experimental and needs a fair bit of work. I was able to read the file with the Python reader so I would suggest using that if you can.

royfrancis commented 1 year ago

The python reader didn't work for me, which is why I tried the R reader. The python reader just hangs, so I can't even do a reprex.

library(zellkonverter)
g  <- readH5AD("data/raw/gbmap/seaad.h5ad", verbose = TRUE)
ℹ Using the Python reader
ℹ Using anndata version 0.8.0
sh: 5: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/udunits2-deactivate.sh: [[: not found
sh: 5: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/geotiff-deactivate.sh: [[: not found
sh: 5: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/gdal-deactivate.sh: [[: not found
sh: 11: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/gdal-deactivate.sh: [[: not found
sh: 4: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/deactivate-r-base.sh: [[: not found
sh: 5: /home/roy/miniconda3/envs/r-4.1/etc/conda/deactivate.d/deactivate-gxx_linux-64.sh: Syntax error: "(" unexpected

Warning message:
In system(paste(act.cmd, collapse = " "), intern = TRUE) :
  running command '. '/home/roy/.cache/R/basilisk/1.4.0/0/etc/profile.d/conda.sh' && conda activate && /home/roy/miniconda3/envs/r-4.1/lib/R/bin/Rscript --no-save --no-restore --no-site-file --no-init-file --default-packages=NULL -e "con <- socketConnection(port=11022, open='wb', blocking=TRUE);serialize(Sys.getenv(), con);close(con)"' had status 2

I do have an existing conda env and in fact R/RStudio is run inside a conda env (r-4.1).

lazappi commented 1 year ago

Ah, ok. Could you please open a separate issue for this?

lazappi commented 1 year ago

I think we can close this now but please reopen if needed.