saezlab / progeny

R package for Pathway RespOnsive GENe activity inference
https://saezlab.github.io/progeny/
Apache License 2.0
93 stars 19 forks source link

Incapability of handling large matrices. #24

Closed enblacar closed 2 years ago

enblacar commented 4 years ago

Dear progeny developers.

I am facing a size issue when working with large Seurat objects ( in my case, 27584 rows and 76680 columns). As the call for progeny::progeny.Seurat() makes use of as.matrix(), it returns the following error:

"Error in asMethod(object) : Cholmod error 'problem too large' at file ../Core/cholmod_dense.c, line 105"

This is due to the size of the object, as rows*columns returns a number of integer values above .Machine$integer.max (2147483647).

Is there a possibility to use Seurat::as.sparse() or similars instead of as.matrix()? If not, how can I solve this issue?

Best, Enrique

christianholland commented 4 years ago

Hi Enrique,

we are happy to change as.matrix to Seurat::as.sparse if it solves your problem with large datasets. However, currently I have no way to test this. Would you mind to fork this repo and test this change? If it works I am happy to accept your pull request.

Thanks, Christian

PS: same applies for this issue: https://github.com/saezlab/dorothea/issues/25

vertesy commented 3 years ago

Hello Guys,

I also hit the same problem. Is there a version I could test?

progeny(combined.obj, scale=FALSE, organism="Human", top=500, perm=1,  return_assay = TRUE)

Error in asMethod(object) : 
  Cholmod error 'problem too large' at file ../Core/cholmod_dense.c, line 102

Thanks, Abel