vgteam / sequenceTubeMap

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

Add a system for "implied" tracks that are present in a chunk but not exposed by the server #443

Closed adamnovak closed 2 months ago

adamnovak commented 2 months ago

This fixes the problem where you could follow a link that links to a pre-extracted chunk and then get errors complaining that the graph wasn't available on the server. It also fixes the problem where editing the tracks would produce the same error, and the problem where, if you de-selected a track file for a pre-generated chunk, you couldn't re-select it.

Now we have a notion of "implied" tracks that come from the chunk or the link, which will display a little (?) in the file picker to represent that the server doesn't actually know about them. We now know better than to ask for the paths in them.

This also has to add a lot of logic for keeping the implied tracks and the selected tracks in sync with each other given the different ways they can be modified. And I'm also adding logic to keep the BED regions and the BED file name in sync, and the path names in sync with the graph.