-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Background
The rise of web-based visualization tools has significantly impacted data interaction, especially in the biomedical sector. However, a major challenge persists: efficiently rendering very large networks, which often comprise 500,000 to 1 million elements, including nodes and edges. Current web visualization tools struggle with such extensive datasets, resulting in performance bottlenecks and limited user interactivity.
The "Large Network Renderer" project seeks to overcome these limitations. This JavaScript library will significantly enhance the Cytoscape Web project by enabling the effective rendering of large-scale CX networks in web browsers. Its key advantage is the capability to manage very large datasets while ensuring fluid performance and interactive user experience. Beyond Cytoscape, "Large Network Renderer" will serve as an indispensable tool for other web applications handling extensive network visualizations, like the Network Data Exchange (NDEx) and NDEX-IQuery. This endeavor is vital for the progression of web-based data analysis tools, empowering researchers to delve into large, complex datasets with newfound depth.
Goal
The objective of this project is extending the initial proof of concept already developed as a prototype. Our focus will extend to supporting a list of commonly used visual properties in this renderer. Key tasks will include:
Adding more visualization capability to the renderer
- More basic shapes for nodes
- More supports for the edge type
- Performance Evaluation
- Iterative Optimization
- Documentation
- Examples Creation
- Automated test
This application is built on top of the popular WebGL-based data visualization framework Deck.gl. Since this is a high-level library designed to visualize large data set, you can write the additional features without deep knowledge of WebGL low-level API.
How to Start
Interested applicants should:
- Explore libraries/sites/repos mentioned above
- Explore https://deck.gl/ to understand the framework
- Understand the concept of Layers in Deck.gl
- Learn how to create a custom Layers
Difficulty Level: Medium
Size and Length of Project
- 175 hours
- 12 weeks
Skills
- Javascript / TypeScript
- Knowledge of WebGL API is a plus, but not required
Public Repository
- https://github.com/idekerlab/large-graph-renderer
- https://github.com/cytoscape/cytoscape-web
- https://github.com/idekerlab/network-viewer
Potential Mentors
- Kei Ono
- Dylan Fong
- Jing Chen