romanhaa/Cerebro

Can't open file using Cerebro Shiny app

Closed this issue · 6 comments

Good day,

I cant load a .crbfile using the shiny app. After launching cerebroApp::launchCerebro(maxFileSize =100000), it does not load the file. The cerebro file was created successfully. Do not know what the issue might be.

crb file:

[14:05:40] Start collecting data...

[14:05:40] Overview of Cerebro object:


class: Cerebro_v1.3
cerebroApp version: 1.3.0
experiment name: ascites_prettx
organism: hg
date of analysis: 2020-12-21
date of export: 2020-12-21
number of cells: 19,325
number of genes: 20,762
grouping variables (2): orig.ident, cell_type
cell cycle variables (1): Phase
projections (3): mnn, umap, UMAP_3D
trees (1): cell_type
most expressed genes: orig.ident, cell_type
marker genes:
  - cerebro_seurat (2): orig.ident, cell_type
enriched pathways:
  - cerebro_seurat_enrichr (2): orig.ident, cell_type, 
  - cerebro_ssGSEA_go (2): orig.ident, cell_type
trajectories:
extra material:


[14:05:40] Saving Cerebro object to: cerebro_ascites_prettx_2020-12-21.crb

[14:06:18] Done!

Console output:

...
Warning in writeBin(bytes, req$.bodyData) :
  problem writing to connection
Warning in writeBin(bytes, req$.bodyData) :
  problem writing to connection
Warning in file(filename, open = "wb") :
  cannot open file '/tmp/RtmpSAaHxk/a88d7f66f4c38577f3b227ea/0.crb': Disk quota exceeded
Warning: Error in file: cannot open the connection
  [No stack trace available]

App screenshot:

Screenshot 2020-12-21 at 14 59 07

Thanks in advance for the help

How large is your .crb file? The number of cells and genes isn't that high so unless you exported non-sparse data, I don't expect the file to be very large. It almost looks like there is a problem with available storage on your machine. Can you confirm that you have enough storage left?

Thanks for your reply! The file size is ~80MB. I am running Rstudio server. I have increased the tmp space and now I do not have that error but:

Warning in writeBin(rawdata, .currentFileData) :
  problem writing to connection
Warning in writeBin(rawdata, .currentFileData) :
  problem writing to connection
[2020-12-26 16:20:03] File to load: /tmp/RtmpClBNPE/2c9fd24cde43e4e28379a7af/0.crb
Warning: Error in readRDS: error reading from connection
  [No stack trace available]
Warning: Error in readRDS: error reading from connection
  74: <Anonymous>
Warning: Error in readRDS: error reading from connection
  108: <Anonymous>
Warning: Error in readRDS: error reading from connection
  74: <Anonymous>
Warning: Error in readRDS: error reading from connection
  104: <Anonymous>
Warning: Error in readRDS: error reading from connection
  104: <Anonymous>

and the app layout is opaque and no-reponsive:
Screenshot 2020-12-26 at 16 25 48

I have tested it using Chrome and Chrome. ANy suggestion? Thanks!

If I understood correctly, you are running the app on a server and want to load a file from your local machine, is that right? I'm not entirely sure but it might be that the file isn't transferred to the R session that runs Cerebro. Internally, when you select a file, you just define a path that then gets handed to readRDS(). Of course, if the file path is local but Cerebro tries to find the file with the provided path, it won't find it.

I am still puzzled on how to read the v1.3 crb files through the shiny app using R server. Is there a way I can read the files on my server instead of the ones on my local computer? Once the shiny app opens and I want to load the data, it only shows my local files and can't be loaded. Thanks!

Update: I could now read the files using the function launchCerebroV1.3 directly with mode = closed and giving the path where my file is. I hope we can have the stand alone app for Mac soon! It will be useful for distribution for people with no bioinformatics knowledge

Thanks!

I agree, providing a standalone version of the current app would be great. However, as I explained in the release notes of v1.3, I haven't found a way to do it yet. Hopefully, the packaging process of a Shiny app will become standardized in the future.