This creates a 'Group by' feature for alignments tracks. It uses a sort of 'slight of hand' by dynamically adding a series of sessionTracks to the users session, and then launching them individually
Example: there are haplotypes 0 and 1 in the HP tag for a bam file, it create trackname-HP:0 and tracknamee-HP:1 as session tracks with each track having filterBy set to either HP==0 or HP==1, and then launches them
Pros:
Fairly easy solution. the software engineering required to change the alignments track to have arbitrary "grouped" subtracks is sort of complicated from what I have tried.
Each 'new track' has it's own SNPCoverage track as well as all individualized track settings (this is actually different from igv group by, and could be considered a 'strength' of this approach perhaps)
Cons:
Creates a number of subtracks that could by a bit overwhelming for the users config
Each subtrack having all individualized track settings makes it hard to change e.g. just the compactness setting across all of them (this is a general problem though even without group by...)
Does not 'observe' the current set of tags available after scroll, so can miss things
Has to be enabled by going through the "Group by..." dialog, you can't set e.g. colorBy:tag in the config and then it automatically sets this up
Has to parse through the data multiple times for each subtrack
This creates a 'Group by' feature for alignments tracks. It uses a sort of 'slight of hand' by dynamically adding a series of sessionTracks to the users session, and then launching them individually
Example: there are haplotypes 0 and 1 in the HP tag for a bam file, it create trackname-HP:0 and tracknamee-HP:1 as session tracks with each track having filterBy set to either HP==0 or HP==1, and then launches them
Pros:
Cons:
fixes https://github.com/GMOD/jbrowse-components/issues/912