Closed LacquerHed closed 3 years ago
Please see the section "Convert common objects to ExpressionSet" in the README file. Let me know if you have questions.
Just a little confused about this:
fmeta <- data.frame(symbol = @.)) # Seurat does not seem to store feature meta data as of version 3.0 rownames(fmeta) <- fmeta$symbol eset <- new("ExpressionSet", assayData = assayDataNew("environment", @.), sparse = T), norm_exprs = @.), sparse = T)), phenoData = new("AnnotatedDataFrame", data = @.), featureData = new("AnnotatedDataFrame", data = fmeta))
Does something different have to be done if Seurat doesn’t store feature meta data? I ran my Seurat merged object and got the following:
eset <- new("ExpressionSet",
On Mar 30, 2021, at 2:29 PM, Qin Zhu @.**@.>> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Please see the section "Convert common objects to ExpressionSet" in the README file. Let me know if you have questions.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqinzhu%2FVisCello%2Fissues%2F4%23issuecomment-810482699&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C78048b15b2464da04a7d08d8f3a9cbf3%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637527257886274236%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=BzKIb39BleeLtJ%2F98Snmcj2briR4kFRoOGqbYJUpmd4%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATO5CXIIEVUDMBZDIVPLJETTGIKBTANCNFSM42CUY5XA&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C78048b15b2464da04a7d08d8f3a9cbf3%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637527257886284231%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PiiA5FxQ3Dt5th0EhU1hzcRl1XwAuNwJ9NM0WXUaxqg%3D&reserved=0.
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
I think you need to run library(Biobase) before making ExpressionSet object.
Ok thanks yeah thought it was on and it wasn’t.
However getting the following:
Error in h(simpleError(msg, call)) : error in evaluating the argument 'x' in selecting a method for function 'as.matrix': no slot of name "raw.data" for this object of class “Seurat"
So the slots Im seeing are the following for the combined object:
assays meta.data active.assay active.ident graphs neighbors reductions images project.name misc version commands tools
On Mar 30, 2021, at 2:45 PM, Qin Zhu @.**@.>> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
I think you need to run library(Biobase) before making ExpressionSet object.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqinzhu%2FVisCello%2Fissues%2F4%23issuecomment-810492641&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7Ce2b2d686a1794965a3dd08d8f3abf621%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637527267194343749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qAGobnWyFAg2rF03RCl0U2tYi5ldIPbx3s7LhG1JyCg%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATO5CXLXLQDI6KFPWAQ4JEDTGIL3ZANCNFSM42CUY5XA&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7Ce2b2d686a1794965a3dd08d8f3abf621%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637527267194343749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=gzHorELva69s1xiX80HTit3JfGUAWsY0rI491Ze7ItU%3D&reserved=0.
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
For Seurat latest version, you can use code below:
fmeta <- data.frame(symbol = rownames(seurat))
rownames(fmeta) <- fmeta$symbol
eset <- new("ExpressionSet",
assayData = assayDataNew("environment", exprs=seurat.hcc@assays$RNA@counts,
norm_exprs = seurat.hcc@assays$RNA@data),
phenoData = new("AnnotatedDataFrame", data = seurat@meta.data),
featureData = new("AnnotatedDataFrame", data = fmeta))
Ok thanks so much that worked perfectly. The only problem remains when I try to launch it, here is my current code:
library(VisCello) library(Matrix) library(Biobase) library(irlba) library(Seurat)
@.**@.
Data.Combined <- readRDS("6Samples_subclustered.rds")
fmeta <- data.frame(symbol = rownames(Data.Combined)) rownames(fmeta) <- fmeta$symbol eset <- new("ExpressionSet", assayData = assayDataNew("environment", @.**@., norm_exprs = @.**@.), phenoData = new("AnnotatedDataFrame", data = @.**@.>), featureData = new("AnnotatedDataFrame", data = fmeta))
umap = cbind("Barcode" = rownames(Embeddings(object = Data.Combined, reduction = "umap")), Embeddings(object = Data.Combined, reduction = "umap")) write.table(umap, file="/Users/rbronste/Desktop/VisCello/umap.txt", sep = ",", quote = F, row.names = F, col.names = T)
cello <- new("Cello", name = "My cell subset", idx = 1:ncol(eset)) # cell_index is which cells from ExpressionSet are used for the dimension reduction my_umap_proj <- read.table("/Users/rbronste/Desktop/VisCello/umap.txt") # You can put in as many dimension reduction result as you want @.*** <- list("My UMAP [2D]" = my_umap_proj) # Put a 2D or 3D in the name to tell VisCello if you want to visualize this as a 2D plot or as a 3D rotatable plot, if 2D there must be 2 columns for each dimension, if 3D there must be 3 columns.
clist <- list() clist[["Global dataset"]] <- cello saveRDS(clist, "/Users/rbronste/Desktop/VisCello/clist.rds")
cello(data_path = "/Users/rbronste/Desktop/VisCello”)
Warning: Error in h: error in evaluating the argument 'x' in selecting a method for function 't': error in evaluating the argument 'x' in selecting a method for function 'as.matrix': index larger than maximal 31194
Maybe its something to do with transferring embeddings, not sure how to change this index limit. Basically the screen just goes black even though application launches.
Thanks again, Rob.
On Mar 30, 2021, at 10:17 PM, Qin Zhu @.**@.>> wrote:
fmeta <- data.frame(symbol = rownames(seurat)) rownames(fmeta) <- fmeta$symbol eset <- new("ExpressionSet", assayData = assayDataNew("environment", @.**@., norm_exprs = @.**@.), phenoData = new("AnnotatedDataFrame", data = @.**@.>), featureData = new("AnnotatedDataFrame", data = fmeta))
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Wondering if you have any thoughts on how to resolve this? Would really love to use package for hosting our data. Thanks.
Rob.
On Mar 31, 2021, at 11:29 AM, Bronstein, Robert @.**@.>> wrote:
Ok thanks so much that worked perfectly. The only problem remains when I try to launch it, here is my current code:
library(VisCello) library(Matrix) library(Biobase) library(irlba) library(Seurat)
@.**@.
Data.Combined <- readRDS("6Samples_subclustered.rds")
fmeta <- data.frame(symbol = rownames(Data.Combined)) rownames(fmeta) <- fmeta$symbol eset <- new("ExpressionSet", assayData = assayDataNew("environment", @.**@., norm_exprs = @.**@.), phenoData = new("AnnotatedDataFrame", data = @.**@.>), featureData = new("AnnotatedDataFrame", data = fmeta))
umap = cbind("Barcode" = rownames(Embeddings(object = Data.Combined, reduction = "umap")), Embeddings(object = Data.Combined, reduction = "umap")) write.table(umap, file="/Users/rbronste/Desktop/VisCello/umap.txt", sep = ",", quote = F, row.names = F, col.names = T)
cello <- new("Cello", name = "My cell subset", idx = 1:ncol(eset)) # cell_index is which cells from ExpressionSet are used for the dimension reduction my_umap_proj <- read.table("/Users/rbronste/Desktop/VisCello/umap.txt") # You can put in as many dimension reduction result as you want @.*** <- list("My UMAP [2D]" = my_umap_proj) # Put a 2D or 3D in the name to tell VisCello if you want to visualize this as a 2D plot or as a 3D rotatable plot, if 2D there must be 2 columns for each dimension, if 3D there must be 3 columns.
clist <- list() clist[["Global dataset"]] <- cello saveRDS(clist, "/Users/rbronste/Desktop/VisCello/clist.rds")
cello(data_path = "/Users/rbronste/Desktop/VisCello”)
Warning: Error in h: error in evaluating the argument 'x' in selecting a method for function 't': error in evaluating the argument 'x' in selecting a method for function 'as.matrix': index larger than maximal 31194
Maybe its something to do with transferring embeddings, not sure how to change this index limit. Basically the screen just goes black even though application launches.
Thanks again, Rob.
On Mar 30, 2021, at 10:17 PM, Qin Zhu @.**@.>> wrote:
fmeta <- data.frame(symbol = rownames(seurat)) rownames(fmeta) <- fmeta$symbol eset <- new("ExpressionSet", assayData = assayDataNew("environment", @.**@., norm_exprs = @.**@.), phenoData = new("AnnotatedDataFrame", data = @.**@.>), featureData = new("AnnotatedDataFrame", data = fmeta))
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Hi Rob,
In the line below:
cello <- new("Cello", name = "My cell subset", idx = 1:ncol(eset))
You need to change the idx to be the index of cells in the umap embedding, like
cello <- new("Cello", name = "My cell subset", idx = match(rownames(umap_proj), colnames(eset))
suppose rownames(umap_proj) is the cell barcode.
Hi,
Thank you that worked well, however I am still getting a blank screen when the app actually starts. Wondering if I could send you a test dataset so you can see if it works on your end? Thanks!
Rob.
On Apr 2, 2021, at 3:00 PM, Qin Zhu @.**@.>> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Hi Rob, In the line below: cello <- new("Cello", name = "My cell subset", idx = 1:ncol(eset)) You need to change the idx to be the index of cells in the umap embedding, like cello <- new("Cello", name = "My cell subset", idx = match(rownames(umap_proj), colnames(eset)) suppose rownames(umap_proj) is the cell barcode.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqinzhu%2FVisCello%2Fissues%2F4%23issuecomment-812667269&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7Ca16ce1b3530c4c37dab708d8f6099a1b%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637529868395001898%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=lCdl8Bb0w01KdU0za71x5O5RjIsyjN%2F5wD4kqusqUas%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATO5CXIVPBR7INIKTDY2YZLTGYH5JANCNFSM42CUY5XA&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7Ca16ce1b3530c4c37dab708d8f6099a1b%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637529868395011891%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tk52G8hI2IxN2UpYw%2BdO6oe0Dd71q2VsP5DrrrCNHAM%3D&reserved=0.
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Hi Rob,
Sure you can send it to qinzhu@outlook.com.
Thanks, Qin
Hi Qin,
Just shared a google drive folder with my rds and R script files, this is what I have been running and although I get no errors when running it - I get a blank screen when Shiny app loads and then it goes black. Maybe you have some idea what is wrong with my script? Let me know if you don’t get google drive link. Thanks again!
Best, Rob.
On Apr 16, 2021, at 9:19 AM, Qin Zhu @.**@.>> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqinzhu%2FVisCello%2Fissues%2F4%23event-4604812936&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C6db1a91904f74056508a08d900da464d%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637541759746105946%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GPTR0%2Fcjxmq3B1GK3N4ZI1zy5T27lP0A4Fnda4LM1Uo%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATO5CXL6XI5OW2MQHBG54XLTJA2OJANCNFSM42CUY5XA&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C6db1a91904f74056508a08d900da464d%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637541759746105946%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tvTupbjxs49t9jaDhDmeMPA5mzb6g4MVRFTVxSXlEAE%3D&reserved=0.
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Hi Qin,
Just wanted to confirm that you received the data files I sent? If you have any suggestions on how to get the code right that would be great, really would like to use this to host our data. Thanks again for all the help!
Best, Rob.
Robert Bronstein, Ph.D. Postdoctoral Fellow Mallipattu Lab Stony Brook Medicine 101 Nicolls Road Stony Brook, NY 11794 (201)240-2534
On Apr 16, 2021, at 10:37 AM, Bronstein, Robert @.**@.>> wrote:
Hi Qin,
Just shared a google drive folder with my rds and R script files, this is what I have been running and although I get no errors when running it - I get a blank screen when Shiny app loads and then it goes black. Maybe you have some idea what is wrong with my script? Let me know if you don’t get google drive link. Thanks again!
Best, Rob.
On Apr 16, 2021, at 9:19 AM, Qin Zhu @.**@.>> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqinzhu%2FVisCello%2Fissues%2F4%23event-4604812936&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C6db1a91904f74056508a08d900da464d%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637541759746105946%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GPTR0%2Fcjxmq3B1GK3N4ZI1zy5T27lP0A4Fnda4LM1Uo%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATO5CXL6XI5OW2MQHBG54XLTJA2OJANCNFSM42CUY5XA&data=04%7C01%7Crobert.bronstein%40stonybrookmedicine.edu%7C6db1a91904f74056508a08d900da464d%7Ceafa1b31b194425db36656c215b7760c%7C0%7C0%7C637541759746105946%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tvTupbjxs49t9jaDhDmeMPA5mzb6g4MVRFTVxSXlEAE%3D&reserved=0.
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Hi Rob, Sorry for my slow response. I can't find any shared google drive link in my outlook mailbox. Could you share with baiseniao@gmail.com? Thanks!
Qin
Hi Qin,
Just shared with that address, thanks again for all of your help! Let me know if you didn’t get it.
Best, Rob.
Robert Bronstein, Ph.D. Postdoctoral Fellow Mallipattu Lab Stony Brook Medicine 101 Nicolls Road Stony Brook, NY 11794 (201)240-2534
On Apr 20, 2021, at 10:15 AM, Qin Zhu @.**@.>> wrote:
@.**@.>
This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by e-mail and destroy all copies of the original.
Yes I can see it now.
Qin
Hi Rob, I have no problem loading the data to VisCello. (see screenshot below)
Please check modified code below, and also please read the VisCello manual to understand the data format required by VisCello.
library(VisCello)
library(Matrix)
library(Biobase)
library(irlba)
library(Seurat)
Data.Combined <- readRDS("./6Samples2.rds")
fmeta <- data.frame(symbol = rownames(Data.Combined))
rownames(fmeta) <- fmeta$symbol
eset <- new("ExpressionSet",
assayData = assayDataNew("environment", exprs=Data.Combined@assays$RNA@counts,
norm_exprs = Data.Combined@assays$RNA@data),
phenoData = new("AnnotatedDataFrame", data = Data.Combined@meta.data),
featureData = new("AnnotatedDataFrame", data = fmeta))
saveRDS(eset, "./eset.rds")
#transferring embeddings to table for VisCello input
umap = Embeddings(object = Data.Combined@reductions$umap)
#If you already computed your dimension reduction result and wants to make a cello for it, use following R code:
cello <- new("Cello", name = "My cell subset", idx = match(rownames(umap), colnames(eset))) # cell_index is which cells from ExpressionSet are used for the dimension reduction
cello@proj <- list("My UMAP [2D]" = umap) # Put a 2D or 3D in the name to tell VisCello if you want to visualize this as a 2D plot or as a 3D rotatable plot, if 2D there must be 2 columns for each dimension, if 3D there must be 3 columns.
clist <- list()
clist[["Global dataset"]] <- cello
saveRDS(clist, "./clist.rds")
# Manually add config file before this step
#running VisCello
cello(data_path = "./")
Wondering if you have any handy R scripts for converting basic Seurat objects/matrices to the inputs needed for VisCello? Thanks.