linnarsson-lab / loom-viewer

Tool for sharing, browsing and visualizing single-cell data stored in the Loom file format
BSD 2-Clause "Simplified" License
35 stars 6 forks source link

error at "tile" step, do not see all data in chrome #134

Open eLinanin opened 6 years ago

eLinanin commented 6 years ago

Hello! I am trying to start using loom-viewer. I have a file form Stan's Lab which is not published as a loom file yet, I suppose (snvta). When I am trying to tile it in anaconda it always has different errors. For now is: "2017-11-08 12:43:36,428 - INFO - Precomputing heatmap tiles, stored in subfolder: C:\Users)____\loom-datasets\VTA_Linnarsson\snvta.loom.tiles C:\Users)____\Miniconda3\lib\site-packages\loom_viewer\loom_tiles.py:167: RuntimeWarning: invalid value encountered in true_divide tile /= maxes 2017-11-08 12:43:45,583 - ERROR - module 'scipy.misc' has no attribute 'toimage'

It is actually creates "tiles" folder, but it is empty. And after launching loom. bat, I can't see heatmap or genes in browser window. But I see data about animals, sex and age, some names of clusters - everything in "Cell Metadata" but not in other links.

Expand command works well. Last update - today.

I tried to download available dataset from here (cortex.loom). But the link doesn't open.

Hope to get some help with it. Thank you!

JobLeonard commented 6 years ago

Hello! Thanks for trying out the loom-viewer!

As you noticed it's still rough around the edges, but that's why I need bug-reports from people like you :)

It looks like you're missing the required image library because you're using MiniConda, which has fewer default packages. try installing it with conda install pillow and see if that fixes things.

Don't worry about the "invalid value..." message, it's a harmless warning that we're dividing by zero.

As an aside: to avoid quoted text from being interpreted as markdown, but put it in a paragraph of its own, with three backticks above and below it. Like so:

```
<your command line output here>
```

That way the markdown engine will not interpret it as markdown, and instead show it as raw, mono space text:

2017-11-08 12:43:36,428 - INFO - Precomputing heatmap tiles, stored in subfolder:
C:\Users)\loom-datasets\VTA_Linnarsson\sn_vta.loom.tiles
C:\Users)\Miniconda3\lib\site-packages\loom_viewer\loom_tiles.py:167: RuntimeWarning: invalid value encountered in true_divide
tile /= maxes
2017-11-08 12:43:45,583 - ERROR - module 'scipy.misc' has no attribute 'toimage'

Also, is there an actual closing parenthesis in your path after Users or is that a bug in my code? So the C:\Users)\ bit? Or is that the result of you removing your computer's username?

JobLeonard commented 6 years ago

@eLinanin: FYI, I just pushed an update. It has better feedback and should give better image results too!

Also, pass the -t truncate flag to overwrite old tile images, so loom tile sn_vta.loom -t

JobLeonard commented 6 years ago

@eLinanin, could you please confirm whether this fixes your issues?

eLinanin commented 6 years ago

I am sorry for the delay. Now I reinstalled anaconda and all is working better. Also I updated tiles as you suggested and it seems that heatmaps are working fine. But I do not see the Gene names still.
untitled

I know that the Gene names are in the file, as I can see them with python.

Link to public datasets now is working. I downloaded cortex.loom and opened it with loom-viewer. In this file I see the gene name and everything else. So, may be the problem is in my file...but what the problem it could be?

JobLeonard commented 6 years ago

You have to expand the genes first:

loom expand -r cortex.loom

(or any other loom file)

This is explained in more detail in the Genes and Heatmap Tiles section of the documentation.

These seem to be commonly forgotten steps, so I tried to make sure it more clearly explained better in the getting started section. Could you check the structure looks logical to you?

eLinanin commented 6 years ago

I did it...

(C:\Users\)_____\Anaconda3) C:\Users\)_____\loom-viewer-master>loom expand -r sn_vta.loom
2017-11-16 21:46:57,186 - INFO - Looking for Loom files matching sn_vta.loom
2017-11-16 21:46:57,186 - INFO - Found 2 projects
2017-11-16 21:46:57,186 - INFO - Entering project C:\Users\)_____\loom-datasets\Cortex_public
2017-11-16 21:46:57,186 - INFO - Entering project C:\Users\)_____\loom-datasets\VTA_Linnarsson
2017-11-16 21:46:57,186 - INFO -   Found a matching Loom file
2017-11-16 21:46:57,186 - INFO -   Connecting to C:\Users\)_____\loom-datasets\VTA_Linnarsson\sn_vta.loom
2017-11-16 21:46:57,233 - INFO -   Expanding rows (stored in sn_vta.loom.rows subfolder)

And also I did all the same steps for cortex.loom an it worked.

I have the generated folder with 18 022 *.gzip files (this is amount of genes) in "rows" subfolder, but they are invisible in loom-viewer.

JobLeonard commented 6 years ago

Hmm, that is uh... frustrating.

So if I follow correctly: with cortex.loom you do see genes, but not with sn_vta.loom?

Are the names of the genes in the file? Currently the viewer requires that to function.

It needs a a row attribute called Gene which contains the names for each gene, matching the row the gene is stored in.

If that is not the issue, then you probably have a real bug on your hands. If you can share the file with me I can look into it.

eLinanin commented 6 years ago

Yes, gene names are in the file, as I can extract excel tables with names of all genes from the file. Even in viewer it seems that they exist in the "Gene Metadata" untitled2

But you cannot search them anywhere... untitled

About the file, we need to ask permission from Sten, as he gave us this file.

JobLeonard commented 6 years ago

Ah, see, that's the issue: the viewer just expects them to be labelled "Gene". It's a bit finnicky in this department. Just a minute, I'll add support for a few more labels.

JobLeonard commented 6 years ago

Ok, I just pushed an update. Try updating the viewer and see if things work now.

eLinanin commented 6 years ago

Unfortunately, no... This dropdown is still empty. untitled

P.S. We use ds.row_attrs['GeneName'] as it written in API to extract names of genes. If it is anyhow matter :)

JobLeonard commented 6 years ago

Ok now I'm getting really puzzled.

Could you perhaps send me the loom file? j.l.vanderzwan@gmail.com (I assume you have a dropbox or something, unless the file is less than 20 megabytes, then Gmail should be able to handle it).

PS: Thank you for reminding me to remove the old docs folder, it horribly outdated and misinformative.

eLinanin commented 6 years ago

I agree that the best way is to give you a file, as it seems that something wrong with it (or, perhaps, with me :). But i need first to ask permission from @slinnarsson. Sten, is it ok if I give sn_vta.loom file to Job Leonard? You gave this file to my PI Esa Korpi at Nordic Neuroscience meeting this year. And there is some problems with opening it in loom-viewer.

JobLeonard commented 6 years ago

I'm in Sten's group, I would be very surprised if I wasn't allowed access to this file ;)

eLinanin commented 6 years ago

Ok, sorry! I didn't know. I've just sent you a file.