slowkow / harmonypy

🎼 Integrate multiple high-dimensional datasets with fuzzy k-means and locally linear adjustments.
https://portals.broadinstitute.org/harmony/
GNU General Public License v3.0
198 stars 22 forks source link

TypeError: 'float' object is not subscriptable #34

Closed bholmes-datasight closed 5 months ago

bholmes-datasight commented 5 months ago

I am getting this error on some iterations of data that I put through run_harmony().

TypeError: 'float' object is not subscriptable

If I run the entire dataset through it doesnt throw the error, but if I filter the rows in the dataset for only a subset of conditions for the analysis before I put it through run_harmony(), it throws the error. I am not entirely sure what the issue is, the structure of the dataframe doesnt change, its just number of rows.

Thank you

slowkow commented 5 months ago

Sorry, but I can't reproduce the error with the information you provided. Feel free to re-open this issue if you can provide a reproducible example that others can run on their own machines.

zhober commented 3 months ago

I encountered the same error when using my data, and I think it is related to the small number of cells. My data contains 28 cells. What are the requirements for the number of cells when using run_harmony()? Are there any parameters that can be adjusted to accommodate a smaller number of cells?

slowkow commented 3 months ago

I have not tested the minimum number of cells required to run the harmonypy code.

Since each cell likely has 100s or 1000s of genes, it is worth considering if it is sensible to use dimensionality reduction algorithms with 28 cells. Consider whether it helps the audience to understand your message.

Instead of using dimensionality reduction algorithms, you might try choosing a set of genes, and then displaying the expression values for each of the cells in a heatmap or a scatter plot.