-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support having thousands of tracks #728
Comments
over 2500 tracks here https://raw.githubusercontent.com/KiddLab/kmer_1KG/master/kmer-1KG.hub.txt mentioned in gitter recently, source |
Here is another hub, lots of tracks https://resources.altius.org/~jvierstra/projects/footprinting.2020/ One option could be a virtualized tree (another could be using more simple input types but i think even then dom node count could dominate over time) I made a short demo here using react-virtualized-tree Code https://github.com/GMOD/jbrowse-components/tree/virtualized_tree Handles 1700 tracks from this connection pretty easily, and even the one above, totaling 4000 tracks |
here is a link to look and feel of the virtualized tree http://s3.amazonaws.com/jbrowse.org/code/jb2/alpha/virtualized_tree/index.html?config=test_data%2Fvolvox%2Fconfig.json pretty raw state, just a preview though |
as mentioned, has much better scalability though to many tracks |
could possibly render full material ui components in the virtualized tree too, to match the current look and feel |
copy of instance from @shihabdider exhibits slowness probably gonna go ahead with the virtualized selector in some shape or form to achieve speedup |
I started using the new test track selector with good results (no more slowdown) Unfortunately, the filter tracks text box seems not be integrated yet. Typing in a search query does nothing. Also, the word wrap on the longer track names seems to be broken so that track names will overlap. |
If you have any interest in working on this issue it would be pretty exciting...it is unclear at this point if this virtualized track selector is "good enough" or "stylish enough" to replace our default track selector..it might not happen before our v1 release and then at that point it can be hard to make dramatic shifts in our styling |
The other alternative is the virtualized track selector is maybe a non default one for specialized instances |
Refer to https://github.com/GMOD/jbrowse-components/pull/1243/files for a previous attempt |
Problems with that PR included
|
Also note
|
We will probably keep pushing on it with the tree. I'll create an updated post with current status |
I made a demo with 1000genomes data, with their new "expanded set" of trio data, because i thought it was a great interesting dataset to load...paper https://www.biorxiv.org/content/10.1101/2021.02.06.430068v1 It is really a pretty interesting demo because it has SV genotypes for 500+ family trios (mom, dad, child), which is a great dataset to explore (you can see whether the child inherited the structural variant or not) the tracklist is currently a big pain point, hence noting here.... |
one small breakthrough on this branch: to properly use the react-virtualized-auto-sizer (which correctly figures out the proportions to maximize the area to put the virtualized scroller,helps to fill the area in the drawer), we don't want to have an empty div wrapping the tree this is kind of silly but this fails:
while this works
not really sure why. This was also tricky to track down because the empty div was due to a non-existant className being used e.g. still a little bit weird autosize behavior, have to subtract the height of the toolbar from what the autosizer gives, but this is closer than what we had before where the autosizer did not work this now works nice and can quickly scroll large datasets same 1000 genomes example on this branch |
random demo: interesting workflow where you inspect the trio for SVs following steps like this a) go to a variant of interest on VCF track Example video doing this |
Having thousands of tracks introduces some issues of scale. We may need react-window to reduce number of dom elements in track selector, or we may see mobx-state-tree performance issues, or other unexpected things
Create something like modencode test dataset, or larger
The text was updated successfully, but these errors were encountered: