SpatialDM icon indicating copy to clipboard operation
SpatialDM copied to clipboard

The process of 'Spatial Clustering of Local Spots' using SpatialDE is taking an excessive amount of time. Could I have overlooked some parameters?

Open ABU-TO opened this issue 5 months ago • 2 comments

I ran the 'Spatial Clustering of Local Spots' step using the following code:

from threadpoolctl import threadpool_limits
with threadpool_limits(limits=10, user_api='blas'):
    results = SpatialDE.run(adata.obsm['spatial'], bin_spots.transpose())
    histology_results, patterns = SpatialDE.aeh.spatial_patterns(
        adata.obsm['spatial'], bin_spots.transpose(), results, C=3, l=3, verbosity=1)

For 7,000 spots, it took approximately 4 hours. However, for 30,000 spots, it has been running for more than 48 hours and hasn't finished yet. Does anyone have insights into why it takes so long, or did I miss some parameters?

ABU-TO avatar Jan 08 '24 08:01 ABU-TO

Thank you for raising the question. Yes, indeed, it takes so long. That's because we directly use the SpatialDE method, and it does some matrix operation straightforward. When the dimension goes higher, it will require significantly more computation. Maybe we will make update later on this part if we figure out some ways to increase the scalability.

jackywangtj66 avatar Apr 02 '24 11:04 jackywangtj66

@jackywangtj66 I wonder if an update could be made to use VisiumHD? Visium works fine, but still quite slow. Now with VisiumHD we can get from 100k to 650k + barcodes (spots) since they're now 2 micron instead of the old 55 micron so SpatialDM is pretty much unusable with VisiumHD data at this stage (keeps throwing memory issues, etc)

Rafael-Silva-Oliveira avatar Apr 12 '24 14:04 Rafael-Silva-Oliveira