**40**wrote:

Hi,

Is there an easy way to make a 3D tSNE plot of the single cell clusters in Seurat?

Thanks

**40**• written 2.8 years ago by asyndeton17 •

**40**

Question: Making a 3d tSNE Plot in Seurat for scRNA-seq

2

asyndeton17 • **40** wrote:

Hi,

Is there an easy way to make a 3D tSNE plot of the single cell clusters in Seurat?

Thanks

ADD COMMENT
• link
•
modified 12 months ago
by
DrAcula • **40**
•
written
2.8 years ago by
asyndeton17 • **40**

2

garyhokawai • **30** wrote:

I tried solution from halo22, it didn't work. However, I somehow figured it out myself.

```
#3d tsne projection
yourseuratobject <- RunTSNE(object = yourseuratobject, dims.use = 1:n, do.fast = TRUE, dim.embed = 3)
tsne_1 <- yourseuratobject@dr$tsne@cell.embeddings[,1]
tsne_2 <- yourseuratobject@dr$tsne@cell.embeddings[,2]
tsne_3 <- yourseuratobject@dr$tsne@cell.embeddings[,3]
library(scatterplot3d)
scatterplot3d(x = tsne_1, y = tsne_2, z = tsne_3, color = as.numeric(1:n)[yourseuratobject@ident])
library(rgl) #interactive 3d plotting
plot3d(x = tsne_1, y = tsne_2, z = tsne_3, col = as.numeric(1:n)[yourseuratobject@ident], type="s",radius=0.3)
rgl::rglwidget() #save as html
```

PS: tsne coordinates are stored in yourseuratobject@dr$tsne@cell.embeddings cluster identity by SNN is store in yourseuratobject@ident

ref. https://github.com/jkrijthe/Rtsne/issues/12

Hope this would help!

Gary

ADD COMMENT
• link
modified 2.6 years ago
by
WouterDeCoster ♦ **43k**
•
written
2.6 years ago by
garyhokawai • **30**

1

halo22 • **140** wrote:

You can use the R-package tsne to do this https://cran.r-project.org/web/packages/tsne/tsne.pdf

For your analysis you will have to figure out what input to provide to tSNE, ideally PC's obtained from seurat are the suggested input but you can also use your variable genes with scaled values.

0

DrAcula • **40** wrote:

I know this is old now. But Ive written some code which will help you create a 3D expression plot using plotly out of a seurat v3.0.0 object. Dont forget to star and fork :)

Find the complete solution here: https://github.com/Dragonmasterx87/3D-Plotting-in-Seurat-3.0.0

Update: The code now supports UMAP 3D clustering as well :)

Please log in to add an answer.

Use of this site constitutes acceptance of our User
Agreement
and Privacy
Policy.

Powered by Biostar
version 2.3.0

Traffic: 1064 users visited in the last hour

Is there a way to do so with another package?

40