Entering edit mode
                    Hello everyone,
I'm getting an error while using scran's quickCluster in R v4.0 that worked fine with previous R versions (example data from https://osca.bioconductor.org/normalization.html#normalization-by-deconvolution):
> library(scran)
> set.seed(100)
> clust.zeisel <- quickCluster(sce.zeisel) 
Error in if (any(above.noise)) { : missing value where TRUE/FALSE needed
Any ideas? Thanks!
> sessionInfo()
R version 4.0.0 (2020-04-24)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /gpfs42/robbyfs/homes/aplic/noarch/software/OpenBLAS/0.3.1-GCC-7.3.0-2.30/lib/libopenblas_nehalemp-r0.3.1.so
Random number generation:
 RNG:     Mersenne-Twister 
 Normal:  Inversion 
 Sample:  Rounding 
locale:
 [1] LC_CTYPE=en_US.UTF-8          LC_NUMERIC=C                 
 [3] LC_TIME=en_US.UTF-8           LC_COLLATE=en_US.UTF-8       
 [5] LC_MONETARY=en_US.UTF-8       LC_MESSAGES=en_US.UTF-8      
 [7] LC_PAPER=en_US.UTF-8          LC_NAME=en_US.UTF-8          
 [9] LC_ADDRESS=en_US.UTF-8        LC_TELEPHONE=en_US.UTF-8     
[11] LC_MEASUREMENT=en_US.UTF-8    LC_IDENTIFICATION=en_US.UTF-8
attached base packages:
 [1] grid      parallel  stats4    stats     graphics  grDevices utils     datasets 
 [9] methods   base     
other attached packages:
 [1] org.Mm.eg.db_3.11.1         scRNAseq_2.2.0              DESeq2_1.28.1              
 [4] LoomExperiment_1.6.0        rtracklayer_1.48.0          rhdf5_2.32.0               
 [7] SingleR_1.2.2               pheatmap_1.0.12             xlsx_0.6.3                 
[10] AUCell_1.10.0               GSEABase_1.50.0             graph_1.66.0               
[13] annotate_1.66.0             XML_3.99-0.3                AnnotationDbi_1.50.0       
[16] gridExtra_2.3               edgeR_3.30.0                limma_3.44.1               
[19] Rtsne_0.15                  scran_1.16.0                scater_1.16.0              
[22] ggplot2_3.3.0               SingleCellExperiment_1.10.1 SummarizedExperiment_1.18.1
[25] DelayedArray_0.14.0         matrixStats_0.56.0          Biobase_2.48.0             
[28] GenomicRanges_1.40.0        GenomeInfoDb_1.24.0         IRanges_2.22.1             
[31] S4Vectors_0.26.0            BiocGenerics_0.34.0        
loaded via a namespace (and not attached):
 [1] ggbeeswarm_0.6.0              colorspace_1.4-1             
 [3] ellipsis_0.3.0                XVector_0.28.0               
 [5] BiocNeighbors_1.6.0           rstudioapi_0.11              
 [7] bit64_0.9-7                   interactiveDisplayBase_1.26.0
 [9] splines_4.0.0                 R.methodsS3_1.8.0            
[11] geneplotter_1.66.0            knitr_1.28                   
[13] Rsamtools_2.4.0               rJava_0.9-12                 
[15] dbplyr_1.4.3                  R.oo_1.23.0                  
[17] HDF5Array_1.16.0              shiny_1.4.0.2                
[19] BiocManager_1.30.10           compiler_4.0.0               
[21] httr_1.4.1                    dqrng_0.2.1                  
[23] assertthat_0.2.1              Matrix_1.2-18                
[25] fastmap_1.0.1                 later_1.0.0                  
[27] BiocSingular_1.4.0            htmltools_0.4.0              
[29] tools_4.0.0                   rsvd_1.0.3                   
[31] igraph_1.2.5                  gtable_0.3.0                 
[33] glue_1.4.1                    GenomeInfoDbData_1.2.3       
[35] dplyr_0.8.5                   rappdirs_0.3.1               
[37] Rcpp_1.0.4.6                  Biostrings_2.56.0            
[39] vctrs_0.3.0                   ExperimentHub_1.14.0         
[41] DelayedMatrixStats_1.10.0     stringr_1.4.0                
[43] xfun_0.13                     xlsxjars_0.6.1               
[45] mime_0.9                      lifecycle_0.2.0              
[47] irlba_2.3.3                   statmod_1.4.34               
[49] AnnotationHub_2.20.0          zlibbioc_1.34.0              
[51] scales_1.1.1                  promises_1.1.0               
[53] RColorBrewer_1.1-2            yaml_2.2.1                   
[55] curl_4.3                      memoise_1.1.0                
[57] stringi_1.4.6                 RSQLite_2.2.0                
[59] genefilter_1.70.0             BiocVersion_3.11.1           
[61] BiocParallel_1.22.0           rlang_0.4.6                  
[63] pkgconfig_2.0.3               bitops_1.0-6                 
[65] evaluate_0.14                 lattice_0.20-41              
[67] purrr_0.3.4                   Rhdf5lib_1.10.0              
[69] GenomicAlignments_1.24.0      bit_1.1-15.2                 
[71] tidyselect_1.1.0              magrittr_1.5                 
[73] R6_2.4.1                      DBI_1.1.0                    
[75] pillar_1.4.4                  withr_2.2.0                  
[77] survival_3.1-12               RCurl_1.98-1.2               
[79] tibble_3.0.1                  crayon_1.3.4                 
[81] BiocFileCache_1.12.0          rmarkdown_2.1                
[83] viridis_0.5.1                 locfit_1.5-9.4               
[85] data.table_1.12.8             blob_1.2.1                   
[87] digest_0.6.25                 xtable_1.8-4                 
[89] httpuv_1.5.2                  R.utils_2.9.2                
[91] munsell_0.5.0                 beeswarm_0.2.3               
[93] viridisLite_0.3.0             vipor_0.4.5                  
                    
                
                
Thanks Aaron,
I'm trying to understand what's the problem here. I've noticed that when I'm running R with 1 or 2 available cores, the command ends without errors. When I'm working with 3 o 4 cores, I get a warning:
If there're more than 4 cores, I get the error:
Does anyone have an explanation?
Many thanks!
It shouldn't matter how many cores you have, because:
quickClusterto parallelize itself viaBPPARAM=.Rather, I would suspect that your non-standard openBLAS is responding to the differences in the number of cores (you're probably on a cluster?) and this is causing errors during matrix multiplication in the IRLBA step. This kind of issue is not as uncommon as one might expect, see here.
You can check whether or not this is the case by running the above code on any other machine.
Hi Aaron,
Yes, I'm working on a cluster, and there was something wrong with the installation within some old machines. Reinstalling it and working with newer machines solved our problem (I don't have more information, sorry).
Thanks for your time!