vgteam / sequenceTubeMap

displays multiple genomic sequences in the form of a tube map
MIT License
177 stars 24 forks source link

HPRC Draft Pangenome Graphs fail to load #413

Open adadiehl opened 3 months ago

adadiehl commented 3 months ago

First off, the only way I have found that actually works to incorporate custom data is to explicitly add records to config.json and recompile the app: no "custom data (mounted files)" appears as an option when following the online directions for custom data. However, compiling them in through config.json has worked for me.

That said, although the custom data tracks appear in the menu, they only work sporadically. When they work properly, selecting a graph on the dropdown menu enables the "Region" box, and everything functions as advertised. However, most of the time, clicking a graph in the menu causes a blank screen error, with the only output from the server being a notification that "A WebSocket connection has been closed: 0 remain open." Running through the development server did not produce any additional output to debug the problem.

Interestingly, when it works, I sometimes (not always) get output from vg chunk(?) in the server output, and often can catch a vg process flash by in htop. No external processes appear to be spawned when it's going to a blank screen.

Javascript console shows some errors that might be relevant: image

The data I am trying to load are from the HPRC Draft Pangenome, using the individual chromosome vg graphs retrieved from here: https://s3-us-west-2.amazonaws.com/human-pangenomics/index.html?prefix=pangenomes/freeze/freeze1/minigraph-cactus/hprc-v1.1-mc-grch38/hprc-v1.1-mc-grch38.chroms

adadiehl commented 3 months ago

Well I tried to debug this myself, unsuccessfully. The root of the problem appears to be undefined values sent to the RegionInput component. Based on the errors in the javascript console, my best guess is that the call to vg paths has not returned results before the HeaderForm component renders.

That said, I have been unable to rule out the message about the failed websocket connection as the culprit, nor can I isolate the reason for this error. I should also note that all these errors come up within a matter of seconds, so seemingly incompatible with a websocket timeout from the client side.