vitessce/vitessce-python

Can't load figures

Closed this issue · 10 comments

Hi,

I have been following one of the vitessce tutorial on remote server, and have come across the issue that figures can't load.
What I am seeing after vc.web_app() is the outlines of the figures and they all seem to be trying to load the data/figure but never finish (see attached screenshot)

I am not familiar with web app. And so far I have checked that my environment has nodejs+npm and all the vitessce dependencies installed.

Do you have any suggestions on where I can troubleshoot on this?

Thank you,
Screen Shot 2023-02-02 at 4 42 47 PM

Shiyi

Hi, what browser are you using, and does it still occur if you try to copy the URL into a different web browser?

Hi Keller,

I am using safari. I don't have a different browser. I'll update you tomorrow on this!

BTW, I also tried to use Jupiter notebook within vscode (vc.widget()), I see the same issue.

No problem, Safari should not have any issues (there are known issues with Chrome). The issue might have something to do with the configuration, would you be able to share that?
You should be able to run vc.to_dict(base_url="") and copy the output

Hi Keller,

The configuration is as below:

Output exceeds the size limit. Open the full output data in a text editor
{'version': '1.0.15',
 'name': 'sp',
 'description': 'spatial data ',
 'datasets': [{'uid': 'A',
   'name': 'sp',
   'files': [{'fileType': 'anndata.zarr',
     'url': '/A/0/08118c4d-7e27-41cf-8049-f90cd5f242d2',
     'options': {'obsLocations': {'path': 'obsm/spatial'},
      'obsEmbedding': [{'path': 'obsm/X_umap',
        'dims': [0, 1],
        'embeddingType': 'UMAP'}],
      'obsSets': [{'name': 'Region Cluster', 'path': 'obs/region_cluster'}],
      'obsFeatureMatrix': {'path': 'obsm/means_cell_abundance_w_sf_numpy'}}},
    {'fileType': 'image.ome-zarr',
     'url': '/A/1/591bb368-a6b0-4734-a510-9efe8c52c4d6'}]}],
 'coordinationSpace': {'dataset': {'A': 'A'}, 'embeddingType': {'A': 'UMAP'}},
 'layout': [{'component': 'scatterplot',
   'coordinationScopes': {'dataset': 'A', 'embeddingType': 'A'},
   'x': 0.0,
   'y': 0,
   'w': 3.0,
   'h': 12},
  {'component': 'obsSets',
   'coordinationScopes': {'dataset': 'A'},
   'x': 3.0,
...
   'x': 6.0,
   'y': 0,
   'w': 6.0,
   'h': 12}],
 'initStrategy': 'auto'}

I have been following one of the vitessce tutorial on remote server

Are you trying to load data that is on a remote server or on your local machine?

Can you also share the output when you print the AnnData object to the notebook? In other words, if the object is stored in the variable adata:

Screen Shot 2023-02-09 at 1 58 27 PM

Also, can you open the JavaScript console and share any errors that you see there? You may need to check the box "Show Develop menu in menu bar" under Safari -> Preferences -> Advanced, then go to Develop -> Show JavaScript Console
Screen Shot 2023-02-09 at 2 00 42 PM

Hi Mark,

I am trying to load the data from the remote server. The Vitescce instance is also initiated from the remote server.
In short, everything is created and loaded from the remote server. Then I use ssh tunneling to view the jupyter-lab/notebook web browser from local (using say port1).

The error I'm seeing might be caused by: Javascript console shows that the "zarr" data is loaded from the different port (say port2), which was not forwarded by ssh. This port2 seems to be dynamic.
I also tried to do everything on local, everything works fine. So there is no problem on the data or Vitessce itself.

I'll update when I figure out how to solve this problem.
Thank you very much for the help!

Best,
Shiyi

To update:

The problem was indeed due to Vitessce instance loading data from a different port than the one backing the jupyter-lab.
When I then ssh tunneling this port that can be found from the "config" feature of the Vitessce instance, I can successfully see Vitessce widget.

Thanks again for the help @keller-mark

@Irisapo how did you solve the port issue? Im having the same problem.

hey, I dont have the code anymore but I believe I solved this problem by specifying port number using ssh.