Visualization for TSS comparison - Integrative-Transcriptomics/tss-prediction-comparison GitHub Wiki
1. Visualization tool
Comparison of Plotly and ECharts for Visualizing Backend Results
Plotly
Advantages:
-
Simplicity and User-Friendliness:
- Plotly is renowned for its user-friendly API, making it easy to create interactive charts.
- Ideal for quickly implementing standard charts without extensive configuration.
-
Interactive Charts:
- Plotly provides comprehensive interactivity by default, including zooming, panning, and hover effects.
- These interactive features make Plotly an excellent choice for dashboards that require deep data interactions.
-
Extensive Documentation and Community Support:
- Plotly boasts extensive documentation and a large user community, facilitating learning and troubleshooting.
- It supports a wide range of chart types, including complex 3D charts.
-
Seamless Integration with Dash:
- Plotly integrates seamlessly with Dash, a web application for building dashboards, also developed by Plotly.
- This integration simplifies creating complex dashboards in Python.
Disadvantages:
- Performance:
- Plotly can become slower in rendering and interactivity with very large datasets.
- This might be a limitation for very large sets of data to visualize.
ECharts
Advantages:
-
Performance and Speed:
- ECharts is known for its high performance, especially when handling and visualizing large datasets.
- It uses WebGL for 3D rendering, beneficial for complex visualizations.
-
Flexibility and Customization:
- ECharts offers extensive flexibility and customization options, ideal for tailored visualizations.
- It supports a wide array of visual effects and layouts that can be finely tuned.
-
Modern and Attractive Aesthetics:
- ECharts provides stylish and modern charts that can be more visually appealing.
- The default styles are generally more refined and require less tweaking.
-
Open Source and Free:
- ECharts is fully open-source and free to use, even for commercial projects.
Disadvantages:
-
Complexity and Learning Curve:
- ECharts' API can be more complex, presenting a steeper learning curve, especially for beginners.
- Its high flexibility often requires more configuration to create simple charts.
-
Documentation and Support:
- Although ECharts has good documentation, it can be less intuitive compared to Plotly.
- It can be more challenging to find specific information for certain use cases.
Decision: Plotly
After weighing the pros and cons of both libraries, we have decided to proceed with Plotly. Here are our reasons:
- User-Friendliness: Plotly allows us to quickly create interactive charts without extensive setup. This speeds up development time and makes it easier for new team members to get up to speed.
- Interactive Features: Plotly's high level of built-in interactivity is ideal for our use cases, which require users to deeply engage with the data.
- Integration with Dash: As we plan to build dashboards that integrate seamlessly with Python, Plotly's integration with Dash provides a significant advantage.
- Documentation and Support: Plotly's comprehensive documentation and large community make development and troubleshooting much easier.
2. Ideas for visualization:
Graph with intensity value:
- can be taken directly from the .wig file
- Issue:
- Might not be helpful visually if the amount of bases is too big
Graph with intensity value (histogram):
- vertical lines indicate TSSs
- bins might visualize TSSs better from a user perspective
- Issues:
- How to scale the graph? What if the user wants to look at say a 1000 bases at time?
-> Zooming in and out cant change the number of bins too much because then we would end up with the graph above
-> instead more values should make up one bin the more zoomed out the graph is
- How to scale the graph? What if the user wants to look at say a 1000 bases at time?
our TSS comparison vs. TSSpredator Graph:
- Graph with complete sequence and TSSs of TSSpredator and our TSSs in different colors for direct comparison
Venn diagram:
- Demonstrating the commonalities and differences between our prediction and TSSpredators in numbers for example
- total number of TSSs