jbrowse-components
jbrowse-components copied to clipboard
Multi-level synteny rendering
it has been a long standing issue to try to make multiple layers of comparisons. if we assume that the data structure is series of pairwise, then the problem is a bit less mind boggling
the "mst model" used to be that linear synteny view held a list of "synteny tracks" (all tracks overplotting each other in the same rendering area)
now it holds a list of "layers" that contains a list of "tracks" (each layer behaving like before with overplotting, but each layer bridges two LGV views)
here is hg19 vs hg38 vs hs1
it is admittedly a somewhat simple example data-size-wise because the assembly-to-assembly liftovers are relatively small compared to whole genome alignments of different species, but...that's sort of a separate topic (it could be related if we said that tracks somehow needed to all be instead of a single track pointing at a graph or multi-synteny structure though)
in order to make this UI wise, i made it so the search boxes in the synteny view header are hidden by default, and also made the import form able to add arbitrary number of levels