Skip to content

Internal error in constructor when sample/feature name is NA #66

Description

@TuomasBorman

Hi,

when there is NA in sample or feature names, the constructor throws an error which is hard to interpret.

Error in if (!ok) { : missing value where TRUE/FALSE needed

library(SingleCellExperiment)

assay_data <- rbind(rep(0, 4), matrix(1:20, nrow = 5))
colnames(assay_data) <- paste0("sample", 1:4)
rownames(assay_data) <- paste0("entity", seq_len(6))

row_data <- data.frame(Kingdom = "A",
                       Phylum = rep(c("B1", "B2"), c(2, 4)),
                       Class = rep(c("C1", "C2", "C3"), each = 2),
                       OTU = paste0("D", 1:6),
                       row.names = rownames(assay_data),
                       stringsAsFactors = FALSE)

col_data <- data.frame(gg = c(1, 2, 3, 3),
                       group = rep(LETTERS[1:2], each = 2),
                       row.names = colnames(assay_data),
                       stringsAsFactors = FALSE)

# Works!
sce <- SingleCellExperiment(assays = SimpleList(counts = assay_data), 
                            rowData = row_data,
                            colData = col_data)


# Manipulate sample names in assay
assay_data_mod <- assay_data
colnames(assay_data_mod)[1] <- NA

# Intenal error (This happens if one ore more sample or feature names are NA)
sce <- SingleCellExperiment(assays = SimpleList(counts = assay_data_mod), 
                            rowData = row_data,
                            colData = col_data)

Session info
R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.3 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=fi_FI.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=fi_FI.UTF-8   
 [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=fi_FI.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=fi_FI.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] mia_1.3.27                     dplyr_1.0.8                    testthat_3.1.1                 MultiAssayExperiment_1.20.0   
 [5] TreeSummarizedExperiment_2.2.0 Biostrings_2.62.0              XVector_0.34.0                 SingleCellExperiment_1.16.0   
 [9] SummarizedExperiment_1.24.0    Biobase_2.54.0                 GenomicRanges_1.46.1           GenomeInfoDb_1.30.1           
[13] IRanges_2.28.0                 S4Vectors_0.32.4               BiocGenerics_0.40.0            MatrixGenerics_1.6.0          
[17] matrixStats_0.61.0            

loaded via a namespace (and not attached):
  [1] ggbeeswarm_0.6.0            colorspace_2.0-3            ellipsis_0.3.2              rprojroot_2.0.2            
  [5] scuttle_1.4.0               BiocNeighbors_1.12.0        fs_1.5.2                    rstudioapi_0.13            
  [9] remotes_2.4.2               ggrepel_0.9.1               bit64_4.0.5                 fansi_1.0.3                
 [13] decontam_1.14.0             codetools_0.2-18            splines_4.1.2               sparseMatrixStats_1.6.0    
 [17] cachem_1.0.6                scater_1.22.0               ade4_1.7-18                 pkgload_1.2.4              
 [21] jsonlite_1.8.0              phyloseq_1.38.0             cluster_2.1.2               compiler_4.1.2             
 [25] assertthat_0.2.1            Matrix_1.4-0                fastmap_1.1.0               lazyeval_0.2.2             
 [29] cli_3.2.0                   BiocSingular_1.10.0         prettyunits_1.1.1           tools_4.1.2                
 [33] igraph_1.2.11               rsvd_1.0.5                  gtable_0.3.0                glue_1.6.2                 
 [37] GenomeInfoDbData_1.2.7      reshape2_1.4.4              Rcpp_1.0.8.3                rhdf5filters_1.6.0         
 [41] vctrs_0.3.8                 multtest_2.50.0             ape_5.6-2                   nlme_3.1-157               
 [45] DECIPHER_2.22.0             iterators_1.0.14            DelayedMatrixStats_1.16.0   stringr_1.4.0              
 [49] ps_1.6.0                    beachmat_2.10.0             lifecycle_1.0.1             irlba_2.3.5                
 [53] devtools_2.4.3              zlibbioc_1.40.0             MASS_7.3-56                 scales_1.1.1               
 [57] biomformat_1.22.0           parallel_4.1.2              rhdf5_2.38.1                memoise_2.0.1              
 [61] gridExtra_2.3               ggplot2_3.3.5               yulab.utils_0.0.4           stringi_1.7.6              
 [65] RSQLite_2.2.11              desc_1.4.1                  foreach_1.5.2               ScaledMatrix_1.2.0         
 [69] tidytree_0.3.7              permute_0.9-7               pkgbuild_1.3.1              BiocParallel_1.28.3        
 [73] rlang_1.0.2                 pkgconfig_2.0.3             bitops_1.0-7                lattice_0.20-45            
 [77] Rhdf5lib_1.16.0             purrr_0.3.4                 treeio_1.18.1               bit_4.0.4                  
 [81] tidyselect_1.1.2            processx_3.5.3              plyr_1.8.7                  magrittr_2.0.2             
 [85] R6_2.5.1                    generics_0.1.2              DelayedArray_0.20.0         DBI_1.1.2                  
 [89] pillar_1.7.0                withr_2.5.0                 mgcv_1.8-38                 survival_3.2-13            
 [93] RCurl_1.98-1.6              tibble_3.1.6                crayon_1.5.1                utf8_1.2.2                 
 [97] viridis_0.6.2               usethis_2.1.5               grid_4.1.2                  data.table_1.14.2          
[101] blob_1.2.2                  callr_3.7.0                 vegan_2.6-2                 tidyr_1.2.0                
[105] munsell_0.5.0               DirichletMultinomial_1.36.0 beeswarm_0.4.0              viridisLite_0.4.0          
[109] vipor_0.4.5                 sessioninfo_1.2.2  

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions