GMOD / jbrowse-components

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

Linear synteny multi-way comparisons #1134

Open cmdcolin opened 3 years ago

cmdcolin commented 3 years ago

The current linear synteny code is very pairwise oriented. It needs enhancement to handle multi-way comparisons. This can be a series of pairwise comparisons (stack) but possibly over multiple windows

cmdcolin commented 2 years ago

one interesting note is that multi-way comparisons can be stored in a single PAF file. I had not realized this but this tutorial is a good example of it https://thackl.github.io/gggenomes/articles/emales.html

cmdcolin commented 2 years ago

possible other approach: use syri.filtered.out file, or look at how it is made from https://github.com/schneebergerlab/plotsr

cmdcolin commented 1 year ago

note that one challenge to this is the notion of the "LinearSyntenyView" having multi-way concepts is that it just uses one simple "tracks" array. it may not be clear "at what level" to plot a given track. It could try to place different "tracks" based on making assumptions about assemblyNames associated with each level of the view. Or we could design a specialized MultiLinearSyntenyView that is more explicit about this concept.

I imagine we might have "MultiSyntenyTrack" and "MultiSyntenyAdapters" e.g. for MAF file, the MAF could display a MultiSyntenyTrack similar to MAFViewer https://github.com/cmdcolin/mafviewer in a plain LGV, and a right click to launch something like a Multi-layer/multi-way synteny view