Adding UMAP coordinates to metadata
1
0
Entering edit mode
12 months ago
roberts ▴ 40

Hello, I want to store my umap coordinates in my seurat objects meta.data. The umap coordinates are saved in my Object under reductions in cell.embeddings. How would I add this to the meta.data? I tried running

AD007[["coordinates"]]<--AD007@reductions$umap@cell.embeddings

I keep getting the error-- Error: Cannot add more or fewer cell meta.data information without values being named with cell names. Any suggestions? Thanks!

Seurat R • 2.2k views
ADD COMMENT
4
Entering edit mode
12 months ago
fracarb8 ▴ 300

In Seurat 3, you can export the coordinates to a dataframe using Embeddings().

umapCoord <- as.data.frame(Embeddings(object = AD007[["umap"]]))

You can then add the PC columns to the meta.data as you please (cbind, sapply, paste(..,collapse=),...)

For example, if you only need to add the PCs components, without modifying them or doing other processing, you can do a simple merge

metadata_table <- AD007@meta.data
metadata_table$UMI_id <- rownames(metadata_table)
umapCoord$UMI_id <- rownames(umapCoord)
metadata_table <- merge.data.frame(metadata_table,umapCoord,by = "UMI_id")
metadata_table$UMI_id <- NULL
AD007@meta.data <- metadata_table

or if you want to be "seurat compliant"

AddMetaData(AD007, metadata=metadata_table)`

Always double check that the order of the cells between the metadata and the umap match.

ADD COMMENT
0
Entering edit mode

Thank you for your help. Just a follow up question how do I add PC to the meta.data (sorry I am new to coding). Thank you!

ADD REPLY
0
Entering edit mode

Check the edited answer

ADD REPLY

Login before adding your answer.

Traffic: 2803 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6