You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem:
For large data set (MS data from Schirmer group, for example), the interactive commands (rule + plot_last) are permissively slow.
Solution:
Precomputing the totalUMI S would speed things up for the MS data set, since raw is in gene-wise HDF5Array format (so cell-wise computations take long).
I found it unnecessary to precompute K when using an NxN neighbor graph (SNN > .1), since that uses matrix multiplication which is incredibly fast. I still have to test an Nxk neighbor graph (i.e. matrix with indices of kNN for each cell), that might be slower.
Both cases could be solved with something like this:
I will close this issue because a separate precompute function at this point is an overkill, for the following reason:
computing totalUMI is the computational bottle-neck, not NxN or Nxk pooling.
I will create a slot called totalUMI or totals in the object, that evaluate_rule then searches for totals. That's more intuitive to the user than a precompute function, and in the vignettes I can simply write precomputing totals can speed up the interactive pypes (especially if your raw UMI data is in gene-wise HDF5Array, which I recommend for large data sets).
Here is some quick code (in part taken from evaluate_rule) which I used to show that pooling with Nxk neighbors is instant (on my laptop):
Problem:
For large data set (MS data from Schirmer group, for example), the interactive commands (rule + plot_last) are permissively slow.
Solution:
Precomputing the totalUMI S would speed things up for the MS data set, since
raw
is in gene-wiseHDF5Array
format (so cell-wise computations take long).I found it unnecessary to precompute K when using an NxN neighbor graph (SNN > .1), since that uses matrix multiplication which is incredibly fast. I still have to test an Nxk neighbor graph (i.e. matrix with indices of kNN for each cell), that might be slower.
Both cases could be solved with something like this:
The text was updated successfully, but these errors were encountered: