opened
yueqiw
username_0
Hi,

I'm using UMAP to visualize single cell gene expression data in [scanpy](https://github.com/theislab/scanpy). I have some difficulty in setting UMAP parameters to make intuitive visualization. I'm not sure which repo to post the question, so I first posted here: https://github.com/theislab/scanpy/issues/174 

Would you provide some suggestions on how to preserve the coarse-level cluster separation and still allow each cluster to occupy more space so that we can better visualize the continuous substructures within them? Thanks!
Difficulty in visualizing both cluster separation and cluster substructure 
issue
created
lmcinnes
username_1
I don't believe that one ca do that -- rather I would suggest that you look at alternative plotting options. Using a smaller point size in matplotlib can help. Using something interactive like Bokeh to allow you to zoom into areas of interest to see continuous structure can also help. Finally, especially if you have more data, something like datashader will do an excellent job of showing both the fine internal structure and the broader global structure at the same time. Ultimately I feel that datashader is really the correct answer to your issues.
comment
created
yueqiw
username_0
I've been using Plotly Dash for some interactive visualization. But for publishing papers, we do need static images with intuitive layout at printing resolutions... This is one of the main constraints on plotting options. 

I used UMAP on more continuous datasets and it works really well for both small and large amount of data points. I guess the issue arises when some clusters are just too far away from the others and preserving global topology (which t-SNE cares less about) happens at the cost of shrinking local structures?
comment
created
lmcinnes
username_1
I think that's a pretty fair description -- the balance between local and
global is tricky. One potential way to get slightly more uniformity akin to
t-SNE would be to increase the ``n_neighbors`` somewhat. I can't make any
promises, but by worrying slightly less about the fine structure you may
gain the continuity you are looking for and spread out the internal
clumping a little.
comment
created
yueqiw
username_0
Thanks!
comment
created
falexwolf
username_2
Very interesting to read this! Thank you! PS: I was offline on holidays for a week...
comment
created
falexwolf
username_2
@username_1 As mentioned before, we also advocate PAGA as method for resolving such problems. Now, the revision of the preprint I previously linked you to is done. The resubmitted manuscript is available [here](https://rawgit.com/username_2/paga_paper/master/paga.pdf) and will hopefully soon replace the bioRxiv preprint. I'd be very happy to discuss these ideas with you, improve the article if you have suggestions and work further towards better exploiting it for initializing UMAP.
comment
created
lmcinnes
username_1
Hi @username_2, I had a preliminary read through the paper and it looks great. I certainly have some thoughts that I would like to discuss further at some point. Right now I need a second pass or two to work through some of the details better, and then a chance to see if some of the ideas I am formulating will work out. I'll try to get back to you soon.
comment
created
falexwolf
username_2
Hi @username_1, that's nice to read! Get back to me whenever you want.

Also: I'd want to make sure that your (and related) work is referenced in the PAGA draft above in the right way before it goes public as a revised preprint on bioRxiv. If you have suggestions for that, it would be cool if you'd let me know until the end of the week. I'll iterate the article once again anyway, I already realized that there are a few omissions and small errors in some places.
comment
created
lmcinnes
username_1
For now the arxiv paper (as in the README) is the correct citation
(although citing the github repository itself for the implementation would
certainly not hurt).
comment
created
falexwolf
username_2
Of course, the draft cites the arXiv preprint. Regarding implementations: this is one of the things I still want to do... adding a detailed supplemental note on all the packages needed. I did this thoroughly also in the Scanpy paper - at the time, unfortunately, this was before UMAP and I didn't know that Scanpy 1.0 would rely on UMAP...
comment
created
aprive
username_3
if want 3d: https://vaex.io/
comment