caokai1073 / uniPort

a unified single-cell data integration framework by optimal transport
MIT License
30 stars 3 forks source link

data_loader issue #1

Closed hongruhu closed 1 year ago

hongruhu commented 1 year ago

Hi uniPort authors,

First, thanks your great work!

However, when I tried to run uniPort on the sample data provided by scvi-tools (from scvi.data import smfish, cortex ), there was error reported.

The error is due to the broadcast issue of the sparse matrix, which is led by the line 247 of the data_loader.py file.

x = scipy.sparse.vstack((x, scipy.sparse.hstack((x_c, x_s))))

I made the x_s to scipy.sparse.coo_matrix(x_s).

At least for now, it runs okay, but not sure if it was just for me.

Thanks, Hongru

caokai1073 commented 1 year ago

Hi Hongru,

Thanks for your interest in our work. I downloaded the data scvi provided and find that they are encoded in the format of the dense matrices. Therefore, I think we need to transform the data into sparse matrices first, for example,

smfish = scvi.data.smfish() cortex = scvi.data.cortex() smfish.X = scipy.sparse.csr_matrix(smfish.X) cortex.X = scipy.sparse.csr_matrix(cortex.X)

Then, we can preprocess and integrate the data.

Thanks, Kai

hongruhu commented 1 year ago

oh I see the issue. @caokai1073 thanks for clarifying!