Since at this point it encompasses lots of changes besides AGP visualization, I think it makes sense to just merge #205 in and address the imperfections with its AGP visualization method later, rather than letting this PR languish for another year (...) Seriously, what kind of lunatic does that? Probably someone whose name starts with "M" and ends with "arcus".
Documenting the corner-case bugs that I know of here:
[ ] When trying to select nodes in a scaffold, search in collapsed patterns. Currently, this throws an error.
[ ] When loading an AGP file (and performing the search for "which scaffolds intersect with which components?"), search within collapsed patterns (like above). We can probs reuse the code between these two uses.
[ ] Handle duplicate nodes properly. I guess we should highlight both copies of the node. (FWIW, this problem is shared with the search-for-nodes functionality, so a solution to one of these problems should be applicable to the other.)
[ ] When loading an AGP file, clear the previously-listed scaffolds (scaffoldID2NodeNames in app-manager.js).
Currently, the old and new scaffolds sorta just grossly mix together. We could add the ability to "augment" the history of AGP files by the user repeatedly uploading new ones with new scaffolds, but that is another feature which would require some fancy work (and also will probably be not very useful).
Since at this point it encompasses lots of changes besides AGP visualization, I think it makes sense to just merge #205 in and address the imperfections with its AGP visualization method later, rather than letting this PR languish for another year (...) Seriously, what kind of lunatic does that? Probably someone whose name starts with "M" and ends with "arcus".
Documenting the corner-case bugs that I know of here:
scaffoldID2NodeNames
inapp-manager.js
).