GMOD / jbrowse-components

Source code for JBrowse 2, a modern React-based genome browser
https://jbrowse.org/jb2
Apache License 2.0
206 stars 62 forks source link

Multi-chromosome layout and multi-chromosome feature representations #488

Closed cmdcolin closed 4 years ago

cmdcolin commented 5 years ago

If we wanted to, in a single linear genome view, plot a "connection" between read pairs as a single row in a layout, then we need to define a multi-chromosome/displayed-region layout and a multi-chromosome feature representation

untitled (1)

Note that there are alternatives to this including the split-view that we are targeting, which may not require this. In the split view, the features are connected "post-processing" of the layout's results which scans the layouts features and connects them afterwards

I am posting this issue with a "needs review" and it's entirely possibly we don't need this but I wanted to show that this is needed if we wanted this type of pairing to happen, relevant to #112

cmdcolin commented 5 years ago

I will note that this makes it difficult to "port JB1 paired read stuff to JB2" as is

cmdcolin commented 5 years ago

One option is a hybrid thing where arcs connect inter-chromosomal/inter-displayed-region things, similar to a split view

cmdcolin commented 5 years ago

If you want to render arcs cleanly across, for example, chr1->chr9, then you would want to maybe use one simple drawing command, and in that case, it would be nice if a "single canvas" represented the view across multiple displayedRegions

rbuels commented 4 years ago

Multi-chromosome layout is now in #80

rbuels commented 4 years ago

Multi-chromosome features will have an additional_segments attribute, which is an array like [ { assemblyName?, refName, start, end }, ... ]

Paired reads will only have one additional segment. Synteny features will have assemblyNames in their additional segments.

rbuels commented 4 years ago

closing, I think this is well covered now by #80