Error from softImpute
Closed this issue · 4 comments
Dear Davide,
Im running the zinbwave on my single cell RNAseq data (FPKM counts). I followed the vignettes for gene filtering and Im left with 1000 highly variable genes and 250 cells for the analysis. Im keeping the counts in SummarizedExperiment object. When I run zinbwave with parameters: K=2, epsilon=1000, residuals = TRUE, normalizedValues = TRUE Im getting error from softImpute:
Warning message: In simpute.als(x, J, thresh, lambda, maxit, trace.it, warm.start, : Convergence not achieved by 100 iterations
Is there a way to change the maxit parameter in the R package version of zinbwave ?
I tried with less nr of genes (100, 300) it works fine then, however Im not sure if it will be very meaningful for the real dataset.
Best, Monika
Hi @mkrzak
there is no way in the current implementation to change the number of iterations for that step. However, note that what you got is not an error, but a warning, and it should be almost always safe to ignore. What doesn't converge is just the initialization step, after that step, the function still goes through a numerical optimization that should get to a (local) optimum solution.
Hi Davide,
Thank you for the explanation. I was confused by that warning since after applying zinbwave on my dataset the separation of predefined cell groups seemed worse than with tSNE map or standard PCA. However the reason can be related to FPKM counts. On UMIs the performace looks very good.
Thanks for your time !
Just as a comment, our zinbwave method is not designed to work with FPKMs but only with raw read counts (as it uses internal parameters for normalization). So it's not too surprising that PCA or tSNE would work better when starting from FPKM.
Yes exactly, I understood my mistake.Thanks !