GabrielHoffman / variancePartition

Quantify and interpret divers of variation in multilevel gene expression experiments
http://gabrielhoffman.github.io/variancePartition/
59 stars 14 forks source link

boundary (singular) fit: see help('isSingular') #53

Closed se2cheeese closed 2 years ago

se2cheeese commented 2 years ago

Hi, thank you for this great tool. It was working well with my data until a few days ago, but now even when I run the codes in your vignettes for a test, the following message shows up.

The variable to be tested must be a fixed effect

form <- ~ Disease + (1|Individual)

estimate weights using linear mixed model of dream

vobjDream = voomWithDreamWeights( geneExpr, form, metadata, BPPARAM=param )

Fit the dream model on each gene

By default, uses the Satterthwaite approximation for the hypothesis test

fitmm = dream(vobjDream, form, metadata ) fitmm = eBayes(fitmm)

- Messages 

Memory usage to store result: >2.4 Mb

Dividing work into 50 chunks...

iteration: 1 boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular')

2 boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular')

- And with our own data, it gives this error as well. 

fitmm = dream(vobjDream, form, m, BPPARAM=param) fitmm = eBayes(fitmm)

boundary (singular) fit: see help('isSingular')

Error in run_model_check_mixed(fit, showWarnings, dream, colinearityCutoff, : boundary (singular) fit: see help('isSingular') Traceback:

  1. dream(vobjDream, form, m, BPPARAM = param) # at line 3 of file
  2. checkModelStatus(fitInit, showWarnings = !suppressWarnings, dream = TRUE, . colinearityCutoff = colinearityCutoff)
  3. checkModelStatus(fitInit, showWarnings = !suppressWarnings, dream = TRUE, . colinearityCutoff = colinearityCutoff)
  4. run_model_check_mixed(fit, showWarnings, dream, colinearityCutoff, . immediate)
  5. stop(fit@optinfo$conv$lme4$messages)
    
    Could you tackle this problem? 
    Appreciate. 
GabrielHoffman commented 2 years ago

Can you provide sessionInfo(). Thanks


From: se2cheeese @.> Sent: Friday, May 13, 2022 1:42:30 AM To: GabrielHoffman/variancePartition @.> Cc: Subscribed @.***> Subject: [GabrielHoffman/variancePartition] boundary (singular) fit: see help('isSingular') (Issue #53)

USE CAUTION: External Message.

Hi, thank you for this great tool. It was working well with my data until a few days ago, but now even when I run the codes in your vignettes for a test, the following message shows up.

Specify parallel processing parameters

this is used implicitly by dream() to run in parallel

param = SnowParam(4, "SOCK", progressbar=TRUE)

The variable to be tested must be a fixed effect

form <- ~ Disease + (1|Individual)

estimate weights using linear mixed model of dream

vobjDream = voomWithDreamWeights( geneExpr, form, metadata, BPPARAM=param )

Fit the dream model on each gene

By default, uses the Satterthwaite approximation for the hypothesis test

fitmm = dream(vobjDream, form, metadata ) fitmm = eBayes(fitmm)

Memory usage to store result: >2.4 Mb

Dividing work into 50 chunks...

iteration: 1 boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular')

�2 boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular')

Could you help tackle this problem? Appreciate.

— Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_GabrielHoffman_variancePartition_issues_53&d=DwMFaQ&c=shNJtf5dKgNcPZ6Yh64b-A&r=KdYcmw5SdXylMrTGSuNVkNJulowod64k0PTDC5BHZkk&m=l_Jp5jOhJSWk9iHWMiqUWSKLppONEqonHAyR_bX5Tlw&s=TD3Dvz7YE_G6U-etcW2zUywGOfJWSL6-lT6QEFTJpjI&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ADFAXTIAMX473W5HRRFZOD3VJXTUNANCNFSM5V2I732Q&d=DwMFaQ&c=shNJtf5dKgNcPZ6Yh64b-A&r=KdYcmw5SdXylMrTGSuNVkNJulowod64k0PTDC5BHZkk&m=l_Jp5jOhJSWk9iHWMiqUWSKLppONEqonHAyR_bX5Tlw&s=frZLHGKP3N8JO31bjq0qcAyUXYPEh6DyLyuOJoF8MQk&e=. You are receiving this because you are subscribed to this thread.Message ID: @.***>

se2cheeese commented 2 years ago

Thank you for a quick response. This is the sessionInfo() for the test (codes from vignettes).

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:   /opt/applications/R/4.0.0/gnu/lib64/R/lib/libRblas.so
LAPACK: /opt/applications/R/4.0.0/gnu/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8    
 [5] LC_MONETARY=en_US.utf8    LC_MESSAGES=en_US.utf8   
 [7] LC_PAPER=en_US.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C      

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

other attached packages:
[1] edgeR_3.30.3             variancePartition_1.25.4 BiocParallel_1.24.1     
[4] limma_3.46.0             ggplot2_3.3.6           

loaded via a namespace (and not attached):
 [1] Biobase_2.50.0         tidyr_1.2.0            jsonlite_1.8.0        
 [4] splines_4.0.0          foreach_1.5.2          RhpcBLASctl_0.21-247.1
 [7] gtools_3.9.2           Rdpack_2.1.3           assertthat_0.2.1      
[10] progress_1.2.2         pillar_1.7.0           backports_1.4.1       
[13] lattice_0.20-45        glue_1.6.2             uuid_1.1-0            
[16] digest_0.6.29          rbibutils_2.2.7        minqa_1.2.4           
[19] colorspace_2.0-3       htmltools_0.5.2        Matrix_1.4-1          
[22] plyr_1.8.7             pkgconfig_2.0.3        broom_0.8.0           
[25] purrr_0.3.4            snow_0.4-4             scales_1.2.0          
[28] lme4_1.1-29            tibble_3.1.7           generics_0.1.2        
[31] ellipsis_0.3.2         withr_2.5.0            repr_1.1.4            
[34] BiocGenerics_0.36.1    pbkrtest_0.5.1         cli_3.3.0             
[37] magrittr_2.0.3         crayon_1.5.1           evaluate_0.15         
[40] fansi_1.0.3            doParallel_1.0.17      nlme_3.1-157          
[43] MASS_7.3-57            gplots_3.1.3           tools_4.0.0           
[46] prettyunits_1.1.1      hms_1.1.1              lifecycle_1.0.1       
[49] stringr_1.4.0          munsell_0.5.0          locfit_1.5-9.4        
[52] aod_1.3.2              compiler_4.0.0         caTools_1.18.2        
[55] rlang_1.0.2            grid_4.0.0             nloptr_2.0.1          
[58] pbdZMQ_0.3-7           iterators_1.0.14       IRkernel_1.2          
[61] bitops_1.0-7           base64enc_0.1-3        boot_1.3-28           
[64] gtable_0.3.0           codetools_0.2-18       DBI_1.1.2             
[67] reshape2_1.4.4         R6_2.5.1               dplyr_1.0.9           
[70] fastmap_1.1.0          utf8_1.2.2             KernSmooth_2.23-20    
[73] stringi_1.7.6          parallel_4.0.0         IRdisplay_1.1         
[76] Rcpp_1.0.8.3           vctrs_0.4.1            tidyselect_1.1.2

​ And this is the sessionInfo() for my data which ended up with the error.

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:   /opt/applications/R/4.0.0/gnu/lib64/R/lib/libRblas.so
LAPACK: /opt/applications/R/4.0.0/gnu/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8    
 [5] LC_MONETARY=en_US.utf8    LC_MESSAGES=en_US.utf8   
 [7] LC_PAPER=en_US.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C      

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

other attached packages:
 [1] robustbase_0.95-0        ComplexHeatmap_2.4.3     DT_0.23                 
 [4] data.table_1.14.2        fgsea_1.14.0             RCy3_2.8.1              
 [7] GSA_1.03.1               RCurl_1.98-1.6           spatstat_2.3-4          
[10] spatstat.linnet_2.3-2    spatstat.core_2.4-2      rpart_4.1.16            
[13] spatstat.random_2.2-0    spatstat.geom_2.4-0      spatstat.data_2.2-0     
[16] bigutilsr_0.3.4          GEOquery_2.56.0          PCAtools_2.0.0          
[19] cowplot_1.1.1            lattice_0.20-45          reshape2_1.4.4          
[22] ggrepel_0.9.1            rafalib_1.0.0            matrixStats_0.62.0      
[25] preprocessCore_1.50.0    org.Hs.eg.db_3.11.4      GO.db_3.11.4            
[28] AnnotationDbi_1.52.0     IRanges_2.24.1           S4Vectors_0.28.1        
[31] NMF_0.24.0               bigmemory_4.6.1          Biobase_2.50.0          
[34] BiocGenerics_0.36.1      cluster_2.1.3            rngtools_1.5.2          
[37] pkgmaker_0.32.2          registry_0.5-1           gplots_3.1.3            
[40] variancePartition_1.25.4 Glimma_1.16.0            RColorBrewer_1.1-3      
[43] BatchQC_1.16.3           forcats_0.5.1            stringr_1.4.0           
[46] dplyr_1.0.9              purrr_0.3.4              readr_2.1.2             
[49] tidyr_1.2.0              tibble_3.1.7             tidyverse_1.3.1         
[52] UpSetR_1.4.0             edgeR_3.30.3             limma_3.46.0            
[55] gridExtra_2.3            ggplot2_3.3.6            sva_3.36.0              
[58] BiocParallel_1.24.1      genefilter_1.76.0        mgcv_1.8-40             
[61] nlme_3.1-157            

loaded via a namespace (and not attached):
  [1] SparseM_1.81              pbdZMQ_0.3-7             
  [3] R.methodsS3_1.8.1         coda_0.19-4              
  [5] bit64_4.0.5               knitr_1.37               
  [7] irlba_2.3.5               DelayedArray_0.14.1      
  [9] R.utils_2.11.0            doParallel_1.0.17        
 [11] generics_0.1.2            snow_0.4-4               
 [13] RhpcBLASctl_0.21-247.1    RSQLite_2.2.14           
 [15] bit_4.0.4                 tzdb_0.3.0               
 [17] webshot_0.5.3             xml2_1.3.3               
 [19] lubridate_1.8.0           httpuv_1.6.5             
 [21] assertthat_0.2.1          viridis_0.6.2            
 [23] xfun_0.29                 hms_1.1.1                
 [25] evaluate_0.15             promises_1.2.0.1         
 [27] TSP_1.1-11                DEoptimR_1.0-10          
 [29] fansi_1.0.3               progress_1.2.2           
 [31] caTools_1.18.2            dendextend_1.15.2        
 [33] dbplyr_2.1.1              readxl_1.4.0             
 [35] igraph_1.3.1              DBI_1.1.2                
 [37] htmlwidgets_1.5.4         mcmc_0.9-7               
 [39] ellipsis_0.3.2            RSpectra_0.16-1          
 [41] backports_1.4.1           annotate_1.68.0          
 [43] MCMCpack_1.6-3            aod_1.3.2                
 [45] gridBase_0.4-7            moments_0.14             
 [47] deldir_1.0-6              vctrs_0.4.1              
 [49] Cairo_1.5-15              quantreg_5.93            
 [51] abind_1.4-5               cachem_1.0.6             
 [53] withr_2.5.0               prettyunits_1.1.1        
 [55] goftest_1.2-3             IRdisplay_1.1            
 [57] lazyeval_0.2.2            crayon_1.5.1             
 [59] labeling_0.4.2            pkgconfig_2.0.3          
 [61] seriation_1.3.0           rlang_1.0.2              
 [63] RJSONIO_1.3-1.6           lifecycle_1.0.1          
 [65] MatrixModels_0.5-0        bigmemory.sri_0.1.3      
 [67] modelr_0.1.8              rsvd_1.0.5               
 [69] cellranger_1.1.0          polyclip_1.10-0          
 [71] graph_1.66.0              Matrix_1.4-1             
 [73] IRkernel_1.2              boot_1.3-28              
 [75] reprex_2.0.1              base64enc_0.1-3          
 [77] GlobalOptions_0.1.2       rjson_0.2.21             
 [79] png_0.1-7                 viridisLite_0.4.0        
 [81] bitops_1.0-7              R.oo_1.24.0              
 [83] KernSmooth_2.23-20        pander_0.6.5             
 [85] blob_1.2.3                DelayedMatrixStats_1.10.1
 [87] shape_1.4.6               ggvis_0.4.7              
 [89] scales_1.2.0              memoise_2.0.1            
 [91] magrittr_2.0.3            plyr_1.8.7               
 [93] compiler_4.0.0            dqrng_0.3.0              
 [95] clue_0.3-60               lme4_1.1-29              
 [97] cli_3.3.0                 lmerTest_3.1-3           
 [99] MASS_7.3-57               tidyselect_1.1.2         
[101] stringi_1.7.6             BiocSingular_1.4.0       
[103] locfit_1.5-9.4            fastmatch_1.1-3          
[105] tools_4.0.0               bigassertr_0.1.5         
[107] circlize_0.4.14           rstudioapi_0.13          
[109] uuid_1.1-0                foreach_1.5.2            
[111] farver_2.1.0              digest_0.6.29            
[113] shiny_1.7.1               Rcpp_1.0.8.3             
[115] broom_0.8.0               later_1.3.0              
[117] httr_1.4.3                Rdpack_2.1.3             
[119] colorspace_2.0-3          rvest_1.0.2              
[121] XML_3.99-0.9              fs_1.5.2                 
[123] tensor_1.5                splines_4.0.0            
[125] spatstat.utils_2.3-1      plotly_4.10.0            
[127] xtable_1.8-4              jsonlite_1.8.0           
[129] nloptr_2.0.1              heatmaply_1.3.0          
[131] corpcor_1.6.10            R6_2.5.1                 
[133] pillar_1.7.0              htmltools_0.5.2          
[135] mime_0.12                 glue_1.6.2               
[137] fastmap_1.1.0             minqa_1.2.4              
[139] codetools_0.2-18          pcaPP_2.0-1              
[141] mvtnorm_1.1-3             utf8_1.2.2               
[143] spatstat.sparse_2.1-1     numDeriv_2016.8-1.1      
[145] pbkrtest_0.5.1            gtools_3.9.2             
[147] survival_3.3-1            rmarkdown_2.14           
[149] repr_1.1.4                munsell_0.5.0            
[151] GetoptLong_1.0.5          iterators_1.0.14         
[153] haven_2.5.0               gtable_0.3.0             
[155] rbibutils_2.2.7   
GabrielHoffman commented 2 years ago

This has been fixed in variancePartition v1.25.13. See notes (https://gabrielhoffman.github.io/variancePartition/news/index.html#variancepartition-12513)

Try reinstalling following instructions here: https://gabrielhoffman.github.io/variancePartition/index.html

se2cheeese commented 2 years ago

Thank you very much. We followed your instruction and confirmed that it works well after reinstallation.