bwlewis / irlba

Fast truncated singular value decompositions
127 stars 17 forks source link

"Error in if (tol * ans$d[1] < eps) warning("convergence criterion below machine epsilon") : missing value where TRUE/FALSE needed" #54

Open nkatiyar opened 4 years ago

nkatiyar commented 4 years ago

Hi, I am trying to integrate scRNA-seq and scATAC-seq data using Seurat's vignette ((https://satijalab.org/seurat/v3.1/atacseq_integration_vignette.html)

The following step is giving me an error.

pbmc.atac <- RunUMAP(pbmc.atac, reduction = "lsi", dims = 1:50).

Here is the error.
"Error in if (tol * ans$d[1] < eps) warning("convergence criterion below machine epsilon") :
  missing value where TRUE/FALSE needed"?
> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS/LAPACK: /home/katiyn/miniconda3/lib/R/lib/libRblas.so

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=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

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

other attached packages:
[1] patchwork_1.0.0 ggplot2_3.3.0   Seurat_3.1.5

loaded via a namespace (and not attached):
 [1] rsvd_1.0.3          ggrepel_0.8.2       Rcpp_1.0.4.6
 [4] ape_5.3             lattice_0.20-38     ica_1.0-2
 [7] tidyr_1.0.3         listenv_0.8.0       png_0.1-7
[10] zoo_1.8-8           assertthat_0.2.1    digest_0.6.25
[13] lmtest_0.9-37       R6_2.4.1            plyr_1.8.6
[16] ggridges_0.5.2      httr_1.4.1          pillar_1.4.4
[19] rlang_0.4.6         lazyeval_0.2.2      data.table_1.12.8
[22] irlba_2.3.3         leiden_0.3.3        Matrix_1.2-17
[25] reticulate_1.15     splines_3.6.1       Rtsne_0.15
[28] stringr_1.4.0       htmlwidgets_1.5.1   uwot_0.1.8
[31] igraph_1.2.5        munsell_0.5.0       sctransform_0.2.1
[34] compiler_3.6.1      pkgconfig_2.0.3     globals_0.12.5
[37] htmltools_0.4.0     tidyselect_1.1.0    gridExtra_2.3
[40] tibble_3.0.1        RANN_2.6.1          codetools_0.2-16
[43] fitdistrplus_1.0-14 future_1.17.0       viridisLite_0.3.0
[46] withr_2.2.0         crayon_1.3.4        dplyr_0.8.5
[49] MASS_7.3-51.3       rappdirs_0.3.1      grid_3.6.1
[52] tsne_0.1-3          nlme_3.1-139        jsonlite_1.6.1
[55] gtable_0.3.0        lifecycle_0.2.0     magrittr_1.5
[58] npsurv_0.4-0.1      scales_1.1.1        KernSmooth_2.23-15
[61] stringi_1.4.6       future.apply_1.5.0  lsei_1.2-0.1
[64] pbapply_1.4-2       reshape2_1.4.4      ROCR_1.0-11
[67] ellipsis_0.3.0      vctrs_0.3.0         cowplot_1.0.0
[70] RcppAnnoy_0.0.16    RColorBrewer_1.1-2  tools_3.6.1
[73] glue_1.4.0          purrr_0.3.4         parallel_3.6.1
[76] survival_3.1-12     colorspace_1.4-1    cluster_2.0.8
[79] plotly_4.9.2.1
bwlewis commented 4 years ago

Hi!

Sorry you ran into trouble, it does look like a bug :(.

I'm looking in to this and will let you know as soon as i have a workaround for you.

On Mon, Jul 6, 2020 at 3:05 PM Neerja Katiyar notifications@github.com wrote:

Hi, I am trying to integrate scRNA-seq and scATAC-seq data using Seurat's vignette (( https://satijalab.org/seurat/v3.1/atacseq_integration_vignette.html)

The following step is giving me an error.

pbmc.atac <- RunUMAP(pbmc.atac, reduction = "lsi", dims = 1:50).

Here is the error. "Error in if (tol * ans$d[1] < eps) warning("convergence criterion below machine epsilon") : missing value where TRUE/FALSE needed"?

sessionInfo() R version 3.6.1 (2019-07-05) Platform: x86_64-conda_cos6-linux-gnu (64-bit) Running under: CentOS Linux 7 (Core)

Matrix products: default BLAS/LAPACK: /home/katiyn/miniconda3/lib/R/lib/libRblas.so

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=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

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

other attached packages: [1] patchwork_1.0.0 ggplot2_3.3.0 Seurat_3.1.5

loaded via a namespace (and not attached): [1] rsvd_1.0.3 ggrepel_0.8.2 Rcpp_1.0.4.6 [4] ape_5.3 lattice_0.20-38 ica_1.0-2 [7] tidyr_1.0.3 listenv_0.8.0 png_0.1-7 [10] zoo_1.8-8 assertthat_0.2.1 digest_0.6.25 [13] lmtest_0.9-37 R6_2.4.1 plyr_1.8.6 [16] ggridges_0.5.2 httr_1.4.1 pillar_1.4.4 [19] rlang_0.4.6 lazyeval_0.2.2 data.table_1.12.8 [22] irlba_2.3.3 leiden_0.3.3 Matrix_1.2-17 [25] reticulate_1.15 splines_3.6.1 Rtsne_0.15 [28] stringr_1.4.0 htmlwidgets_1.5.1 uwot_0.1.8 [31] igraph_1.2.5 munsell_0.5.0 sctransform_0.2.1 [34] compiler_3.6.1 pkgconfig_2.0.3 globals_0.12.5 [37] htmltools_0.4.0 tidyselect_1.1.0 gridExtra_2.3 [40] tibble_3.0.1 RANN_2.6.1 codetools_0.2-16 [43] fitdistrplus_1.0-14 future_1.17.0 viridisLite_0.3.0 [46] withr_2.2.0 crayon_1.3.4 dplyr_0.8.5 [49] MASS_7.3-51.3 rappdirs_0.3.1 grid_3.6.1 [52] tsne_0.1-3 nlme_3.1-139 jsonlite_1.6.1 [55] gtable_0.3.0 lifecycle_0.2.0 magrittr_1.5 [58] npsurv_0.4-0.1 scales_1.1.1 KernSmooth_2.23-15 [61] stringi_1.4.6 future.apply_1.5.0 lsei_1.2-0.1 [64] pbapply_1.4-2 reshape2_1.4.4 ROCR_1.0-11 [67] ellipsis_0.3.0 vctrs_0.3.0 cowplot_1.0.0 [70] RcppAnnoy_0.0.16 RColorBrewer_1.1-2 tools_3.6.1 [73] glue_1.4.0 purrr_0.3.4 parallel_3.6.1 [76] survival_3.1-12 colorspace_1.4-1 cluster_2.0.8 [79] plotly_4.9.2.1

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bwlewis/irlba/issues/54, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABCZHUATXZCMCTADXIAR5DR2IN67ANCNFSM4OR4HSDA .

rbrauning commented 3 years ago

I got the same error with a different dataset. In my case it was caused by some -Inf values in the input data. After removing those values all was fine.

gly228003 commented 1 year ago

I got the same error with a different dataset. In my case it was caused by some -Inf values in the input data. After removing those values all was fine.

the same error. Firstly I ran irlba on a dataset and the error didn't occur. Then I got the same error when I ran irlba on subset of the dataset. There's no -inf values. The package version is 2.3.5. Any solution?

bwlewis commented 1 year ago

There is a minor change on the current GitHub version you can try; it probably does not address the root cause but it might help. If someone can share a reproducible example with me, it would help...