drisso / SingleCellExperiment

Clone of the Bioconductor repository for the SingleCellExperiment package, see https://bioconductor.org/packages/devel/bioc/html/SingleCellExperiment.html for the official development version.
65 stars 18 forks source link

Coercion from *SingleCellExperiment* to *SummarizedExperiment* loses rownames #63

Open PeteHaitch opened 2 years ago

PeteHaitch commented 2 years ago
suppressPackageStartupMessages(library(SingleCellExperiment))
example(SingleCellExperiment, echo = FALSE)
rownames(sce) <- paste0("Gene_", seq_len(nrow(sce)))

# Coercion loses rownames of rowData.
rownames(sce)
#>   [1] "Gene_1"   "Gene_2"   "Gene_3"   "Gene_4"   "Gene_5"   "Gene_6"  
#>   [7] "Gene_7"   "Gene_8"   "Gene_9"   "Gene_10"  "Gene_11"  "Gene_12" 
#>  [13] "Gene_13"  "Gene_14"  "Gene_15"  "Gene_16"  "Gene_17"  "Gene_18" 
#>  [19] "Gene_19"  "Gene_20"  "Gene_21"  "Gene_22"  "Gene_23"  "Gene_24" 
#>  [25] "Gene_25"  "Gene_26"  "Gene_27"  "Gene_28"  "Gene_29"  "Gene_30" 
#>  [31] "Gene_31"  "Gene_32"  "Gene_33"  "Gene_34"  "Gene_35"  "Gene_36" 
#>  [37] "Gene_37"  "Gene_38"  "Gene_39"  "Gene_40"  "Gene_41"  "Gene_42" 
#>  [43] "Gene_43"  "Gene_44"  "Gene_45"  "Gene_46"  "Gene_47"  "Gene_48" 
#>  [49] "Gene_49"  "Gene_50"  "Gene_51"  "Gene_52"  "Gene_53"  "Gene_54" 
#>  [55] "Gene_55"  "Gene_56"  "Gene_57"  "Gene_58"  "Gene_59"  "Gene_60" 
#>  [61] "Gene_61"  "Gene_62"  "Gene_63"  "Gene_64"  "Gene_65"  "Gene_66" 
#>  [67] "Gene_67"  "Gene_68"  "Gene_69"  "Gene_70"  "Gene_71"  "Gene_72" 
#>  [73] "Gene_73"  "Gene_74"  "Gene_75"  "Gene_76"  "Gene_77"  "Gene_78" 
#>  [79] "Gene_79"  "Gene_80"  "Gene_81"  "Gene_82"  "Gene_83"  "Gene_84" 
#>  [85] "Gene_85"  "Gene_86"  "Gene_87"  "Gene_88"  "Gene_89"  "Gene_90" 
#>  [91] "Gene_91"  "Gene_92"  "Gene_93"  "Gene_94"  "Gene_95"  "Gene_96" 
#>  [97] "Gene_97"  "Gene_98"  "Gene_99"  "Gene_100" "Gene_101" "Gene_102"
#> [103] "Gene_103" "Gene_104" "Gene_105" "Gene_106" "Gene_107" "Gene_108"
#> [109] "Gene_109" "Gene_110" "Gene_111" "Gene_112" "Gene_113" "Gene_114"
#> [115] "Gene_115" "Gene_116" "Gene_117" "Gene_118" "Gene_119" "Gene_120"
#> [121] "Gene_121" "Gene_122" "Gene_123" "Gene_124" "Gene_125" "Gene_126"
#> [127] "Gene_127" "Gene_128" "Gene_129" "Gene_130" "Gene_131" "Gene_132"
#> [133] "Gene_133" "Gene_134" "Gene_135" "Gene_136" "Gene_137" "Gene_138"
#> [139] "Gene_139" "Gene_140" "Gene_141" "Gene_142" "Gene_143" "Gene_144"
#> [145] "Gene_145" "Gene_146" "Gene_147" "Gene_148" "Gene_149" "Gene_150"
#> [151] "Gene_151" "Gene_152" "Gene_153" "Gene_154" "Gene_155" "Gene_156"
#> [157] "Gene_157" "Gene_158" "Gene_159" "Gene_160" "Gene_161" "Gene_162"
#> [163] "Gene_163" "Gene_164" "Gene_165" "Gene_166" "Gene_167" "Gene_168"
#> [169] "Gene_169" "Gene_170" "Gene_171" "Gene_172" "Gene_173" "Gene_174"
#> [175] "Gene_175" "Gene_176" "Gene_177" "Gene_178" "Gene_179" "Gene_180"
#> [181] "Gene_181" "Gene_182" "Gene_183" "Gene_184" "Gene_185" "Gene_186"
#> [187] "Gene_187" "Gene_188" "Gene_189" "Gene_190" "Gene_191" "Gene_192"
#> [193] "Gene_193" "Gene_194" "Gene_195" "Gene_196" "Gene_197" "Gene_198"
#> [199] "Gene_199" "Gene_200"
rownames(as(sce, "SummarizedExperiment"))
#> NULL

# It seems the loss occurs from the rowData slot?
rownames(rowData(sce))
#>   [1] "Gene_1"   "Gene_2"   "Gene_3"   "Gene_4"   "Gene_5"   "Gene_6"  
#>   [7] "Gene_7"   "Gene_8"   "Gene_9"   "Gene_10"  "Gene_11"  "Gene_12" 
#>  [13] "Gene_13"  "Gene_14"  "Gene_15"  "Gene_16"  "Gene_17"  "Gene_18" 
#>  [19] "Gene_19"  "Gene_20"  "Gene_21"  "Gene_22"  "Gene_23"  "Gene_24" 
#>  [25] "Gene_25"  "Gene_26"  "Gene_27"  "Gene_28"  "Gene_29"  "Gene_30" 
#>  [31] "Gene_31"  "Gene_32"  "Gene_33"  "Gene_34"  "Gene_35"  "Gene_36" 
#>  [37] "Gene_37"  "Gene_38"  "Gene_39"  "Gene_40"  "Gene_41"  "Gene_42" 
#>  [43] "Gene_43"  "Gene_44"  "Gene_45"  "Gene_46"  "Gene_47"  "Gene_48" 
#>  [49] "Gene_49"  "Gene_50"  "Gene_51"  "Gene_52"  "Gene_53"  "Gene_54" 
#>  [55] "Gene_55"  "Gene_56"  "Gene_57"  "Gene_58"  "Gene_59"  "Gene_60" 
#>  [61] "Gene_61"  "Gene_62"  "Gene_63"  "Gene_64"  "Gene_65"  "Gene_66" 
#>  [67] "Gene_67"  "Gene_68"  "Gene_69"  "Gene_70"  "Gene_71"  "Gene_72" 
#>  [73] "Gene_73"  "Gene_74"  "Gene_75"  "Gene_76"  "Gene_77"  "Gene_78" 
#>  [79] "Gene_79"  "Gene_80"  "Gene_81"  "Gene_82"  "Gene_83"  "Gene_84" 
#>  [85] "Gene_85"  "Gene_86"  "Gene_87"  "Gene_88"  "Gene_89"  "Gene_90" 
#>  [91] "Gene_91"  "Gene_92"  "Gene_93"  "Gene_94"  "Gene_95"  "Gene_96" 
#>  [97] "Gene_97"  "Gene_98"  "Gene_99"  "Gene_100" "Gene_101" "Gene_102"
#> [103] "Gene_103" "Gene_104" "Gene_105" "Gene_106" "Gene_107" "Gene_108"
#> [109] "Gene_109" "Gene_110" "Gene_111" "Gene_112" "Gene_113" "Gene_114"
#> [115] "Gene_115" "Gene_116" "Gene_117" "Gene_118" "Gene_119" "Gene_120"
#> [121] "Gene_121" "Gene_122" "Gene_123" "Gene_124" "Gene_125" "Gene_126"
#> [127] "Gene_127" "Gene_128" "Gene_129" "Gene_130" "Gene_131" "Gene_132"
#> [133] "Gene_133" "Gene_134" "Gene_135" "Gene_136" "Gene_137" "Gene_138"
#> [139] "Gene_139" "Gene_140" "Gene_141" "Gene_142" "Gene_143" "Gene_144"
#> [145] "Gene_145" "Gene_146" "Gene_147" "Gene_148" "Gene_149" "Gene_150"
#> [151] "Gene_151" "Gene_152" "Gene_153" "Gene_154" "Gene_155" "Gene_156"
#> [157] "Gene_157" "Gene_158" "Gene_159" "Gene_160" "Gene_161" "Gene_162"
#> [163] "Gene_163" "Gene_164" "Gene_165" "Gene_166" "Gene_167" "Gene_168"
#> [169] "Gene_169" "Gene_170" "Gene_171" "Gene_172" "Gene_173" "Gene_174"
#> [175] "Gene_175" "Gene_176" "Gene_177" "Gene_178" "Gene_179" "Gene_180"
#> [181] "Gene_181" "Gene_182" "Gene_183" "Gene_184" "Gene_185" "Gene_186"
#> [187] "Gene_187" "Gene_188" "Gene_189" "Gene_190" "Gene_191" "Gene_192"
#> [193] "Gene_193" "Gene_194" "Gene_195" "Gene_196" "Gene_197" "Gene_198"
#> [199] "Gene_199" "Gene_200"
rownames(rowData(as(sce, "SummarizedExperiment")))
#> NULL

Created on 2022-01-12 by the reprex package (v2.0.1)

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.1.2 (2021-11-01) #> os Ubuntu 20.04.3 LTS #> system x86_64, linux-gnu #> ui X11 #> language en_AU:en #> collate en_AU.UTF-8 #> ctype en_AU.UTF-8 #> tz Australia/Melbourne #> date 2022-01-12 #> pandoc 2.11.4 @ /usr/lib/rstudio/bin/pandoc/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> Biobase * 2.54.0 2021-10-26 [1] RSPM (R 4.1.2) #> BiocGenerics * 0.40.0 2021-10-26 [1] RSPM (R 4.1.2) #> bitops 1.0-7 2021-04-24 [1] RSPM (R 4.1.0) #> cli 3.1.0 2021-10-27 [1] RSPM (R 4.1.2) #> DelayedArray 0.20.0 2021-10-26 [1] RSPM (R 4.1.2) #> digest 0.6.29 2021-12-01 [1] RSPM (R 4.1.2) #> evaluate 0.14 2019-05-28 [1] RSPM (R 4.1.0) #> fastmap 1.1.0 2021-01-25 [1] RSPM (R 4.1.0) #> fs 1.5.2 2021-12-08 [1] RSPM (R 4.1.2) #> GenomeInfoDb * 1.30.0 2021-10-26 [1] RSPM (R 4.1.2) #> GenomeInfoDbData 1.2.7 2021-10-28 [1] RSPM (R 4.1.1) #> GenomicRanges * 1.46.1 2021-11-18 [1] RSPM (R 4.1.2) #> glue 1.6.0 2021-12-17 [1] RSPM (R 4.1.0) #> highr 0.9 2021-04-16 [1] RSPM (R 4.1.0) #> htmltools 0.5.2 2021-08-25 [1] RSPM (R 4.1.0) #> IRanges * 2.28.0 2021-10-26 [1] RSPM (R 4.1.2) #> knitr 1.37 2021-12-16 [1] RSPM (R 4.1.0) #> lattice 0.20-45 2021-09-22 [4] CRAN (R 4.1.1) #> magrittr 2.0.1 2020-11-17 [1] RSPM (R 4.1.0) #> Matrix 1.4-0 2021-12-08 [4] CRAN (R 4.1.2) #> MatrixGenerics * 1.6.0 2021-10-26 [1] RSPM (R 4.1.2) #> matrixStats * 0.61.0 2021-09-17 [1] RSPM (R 4.1.1) #> RCurl 1.98-1.5 2021-09-17 [1] RSPM (R 4.1.1) #> reprex 2.0.1 2021-08-05 [1] RSPM (R 4.1.0) #> rlang 0.4.12 2021-10-18 [1] RSPM (R 4.1.1) #> rmarkdown 2.11 2021-09-14 [1] RSPM (R 4.1.1) #> rstudioapi 0.13 2020-11-12 [1] RSPM (R 4.1.0) #> S4Vectors * 0.32.3 2021-11-21 [1] RSPM (R 4.1.2) #> sessioninfo 1.2.2 2021-12-06 [1] RSPM (R 4.1.2) #> SingleCellExperiment * 1.16.0 2021-10-26 [1] RSPM (R 4.1.2) #> stringi 1.7.6 2021-11-29 [1] RSPM (R 4.1.2) #> stringr 1.4.0 2019-02-10 [1] RSPM (R 4.1.0) #> SummarizedExperiment * 1.24.0 2021-10-26 [1] RSPM (R 4.1.2) #> withr 2.4.3 2021-11-30 [1] RSPM (R 4.1.2) #> xfun 0.29 2021-12-14 [1] RSPM (R 4.1.0) #> XVector 0.34.0 2021-10-26 [1] RSPM (R 4.1.2) #> yaml 2.2.1 2020-02-01 [1] RSPM (R 4.1.0) #> zlibbioc 1.40.0 2021-10-26 [1] RSPM (R 4.1.2) #> #> [1] /home/peter/R/x86_64-pc-linux-gnu-library/4.1 #> [2] /usr/local/lib/R/site-library #> [3] /usr/lib/R/site-library #> [4] /usr/lib/R/library #> #> ────────────────────────────────────────────────────────────────────────────── ```
PeteHaitch commented 2 years ago

Oh I now see https://github.com/Bioconductor/SummarizedExperiment/issues/29.