theislab / destiny

R package for single cell and other data analysis using diffusion maps
https://theislab.github.io/destiny/
GNU General Public License v3.0
70 stars 12 forks source link

Arpack maximum iteration error #17

Closed RoganGrant closed 5 years ago

RoganGrant commented 5 years ago

I'm working with a relatively small single-cell dataset in Seurat (~9000 cells, 10 PCs as dimensions), from which I've generated a distance matrix. When I run the diffusion map calculation DiffusionMap(data = as.matrix(distanceMatrix), n_eigs = 2, verbose = T), I get the following error:

Error in arpack(f, extra = M, sym = sym, options = list(which = wh, n = n, : At arpack.c:944 : ARPACK error, Maximum number of iterations reached In addition: Warning message: In arpack(f, extra = M, sym = sym, options = list(which = wh, n = n, : At arpack.c:776 :ARPACK solver failed to converge (1001 iterations, 0/3 eigenvectors converged) Timing stopped at: 19.93 0.407 20.37

It seems to me that this could be fixed by increasing maxiter in arpack to something very large, but unfortunately any changes I make to arpack_defaults seem to be ignored. Is there any way to pass additional parameters to arpack within the DiffusionMap command?

Thanks!

flying-sheep commented 5 years ago

You’re in luck, I happened to switch to RSpectra recently.

If you install the git master version, this problem should either be gone or we can work out a solution with the author of RSpectra!

RoganGrant commented 5 years ago

That was easy, thank you!