jbrowse-components
jbrowse-components copied to clipboard
add Alignments track read grouping
Group reads by:
- read strand
- first-of-pair strand
- sample
- library
- read group
- chromosome of mate
- pair orientation
- supplementary flag
- read order
- tag
- base at XXXX (centerline position)
implementation sketch:
- make a new layout class called GroupedLayout that manages a set of GranularRectLayouts, one per grouping
- make the PileupRenderer use this layout for certain render props
just gotta give a +1 to this one, i think it would be really good and it often really clarifies the data to view it in read groups
exciting screenshots like https://pbs.twimg.com/media/Eq66gYtUYAAzZAy?format=png&name=4096x4096 show grouping by haplotype HP tag is quite nice.
note that we can sort of make a hackey approach to group by for example if we (a) copy track and (b) filter by tag in the copied track (once #1473 is added)
@cmdcolin just noticed this issue was marked "In Progress", what's its status?
It is perhaps stalled? I dunno. I'm not actively working on it but would be cool to see it make progress somehow. We could introduce an extra category on the board if it helps
See https://github.com/GMOD/jbrowse-components/pull/1942 for working demo of this though
periodic motivation for this https://user-images.githubusercontent.com/82141791/215484889-6a032cc0-9c90-4a26-9689-7d5cb41a2ab5.png
from https://github.com/katerinakazantseva/stRainy
my current thinking on this is to make e.g. spawn multiple alignments tracks. this is the easiest implementation wise, is the most general. it may have a bit less usability but it will create e.g. a separate SNPCoverage track for each group which i think can be valuable (igv does not do this)