Essentially needs to display a tree hierarchy of data (proteins I think), and also show a sequence visualization aligned with each protein.
I kind of doubt there will be an existing javascript library that does exactly this. We'll most likely need to combine two libraries together. Perhaps we could use echarts for the tree part, and Nightingale for the sequence part. Or maybe we can use d3-tree for the tree, and do the sequence part manually (it seems like it's just a sequence of colored rectangles. Plot.ly is another option. To minimize complexity, I want to use a library that can handle all the general plots we may need, including: bar chart, line chart, upset plot, sunburst plot, heatmap (see the other issues in this repo). Please don't use a library that, for example, can only do tree visualizations, unless all other libraries are inadequate. Please research the library options and discuss them here before starting actual implementation.
More specific notes/guidelines:
Should be SVG-based, not canvas-based
Don't necessarily need exactly the same feature set as the 1.0 tree visualization. Layout can be slightly different, can have more/less/different customization options, etc.
Example screenshot from 1.0:
Essentially needs to display a tree hierarchy of data (proteins I think), and also show a sequence visualization aligned with each protein.
I kind of doubt there will be an existing javascript library that does exactly this. We'll most likely need to combine two libraries together. Perhaps we could use echarts for the tree part, and Nightingale for the sequence part. Or maybe we can use d3-tree for the tree, and do the sequence part manually (it seems like it's just a sequence of colored rectangles. Plot.ly is another option. To minimize complexity, I want to use a library that can handle all the general plots we may need, including: bar chart, line chart, upset plot, sunburst plot, heatmap (see the other issues in this repo). Please don't use a library that, for example, can only do tree visualizations, unless all other libraries are inadequate. Please research the library options and discuss them here before starting actual implementation.
More specific notes/guidelines:
See the following comment for guidelines on implementation and general architecture: https://github.com/JRaviLab/molevolvr2.0/pull/32#issuecomment-2408741783