Skip to content
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

Large Network Renderer #229

Open
jingjingbic opened this issue Jan 12, 2024 · 13 comments
Open

Large Network Renderer #229

jingjingbic opened this issue Jan 12, 2024 · 13 comments

Comments

@jingjingbic
Copy link

jingjingbic commented Jan 12, 2024

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

Potential Mentors

  • Kei Ono
  • Dylan Fong
  • Jing Chen
@Rohan-Ver-ma
Copy link

Hello @jingjingbic
I am interested in contributing to this issue as I know both JavaScript / TypeScript.
I believe I can offer some valuable insights and help with resolving it.
can you please point me to the organizations appropriate slack or discord channel ? so that I can get my queries resolved regarding this issue .

@khanspers
Copy link
Contributor

khanspers commented Feb 22, 2024

NRNB has been accepted as a mentoring organization for GSoC 2024. The contributor application period is March 18 – April 2. Here are some useful links:

GSoC contributor guide
NRNB project proposal template
Eligibility requirements
Full program timeline

@Rohan-Ver-ma
Copy link

Rohan-Ver-ma commented Feb 23, 2024

Thank you so much for the info . I'll make sure to check out these resources.
Is there any slack or discord channel of the org? If there is please point me to it.

@tausiq2003
Copy link

How can we communicate, here or there is any irc or discord or slack channels? @khanspers

@khanspers
Copy link
Contributor

Hi @tausiq2003, we don't have Slack/discord/irc channels for NRNB. The best way is to communicate directly with the potential mentors here. @jingjingbic @d2fong @keiono.

@tausiq2003
Copy link

Hi @tausiq2003, we don't have Slack/discord/irc channels for NRNB. The best way is to communicate directly with the potential mentors here. @jingjingbic @d2fong @keiono.

Thanks, @khanspers . Hi @jingjingbic @d2fong @keiono glad to meet you all. I am Tausiq Samantaray, currently a pre-final year student from India. So, I am just going over those resources, will message you in 2 days. And, can I contribute, to the above repos, or if I am selected then, I can contribute, Thanks.

@tausiq2003
Copy link

From my primary intuition, we have to contribute toward the large-graph-renderer right? I mean that's a javascript library.

@jingjingbic
Copy link
Author

jingjingbic commented Mar 8, 2024

From my primary intuition, we have to contribute toward the large-graph-renderer right? I mean that's a javascript library.

@tausiq2003 Yes, the library is written in TypeScript.

@Rohan-Ver-ma
Copy link

Hey So in order to understand deck.gl I build a project to get familiar with the framework.
Here is the link of the Repo and I've hosted it on versel.
https://github.com/Rohan-Ver-ma/Mapbox-client-with-deck.gl
@keiono @jingjingbic @d2fong your feedback on this one is much appreciated.

@jingjingbic
Copy link
Author

Hey So in order to understand deck.gl I build a project to get familiar with the framework. Here is the link of the Repo and I've hosted it on versel. https://github.com/Rohan-Ver-ma/Mapbox-client-with-deck.gl @keiono @jingjingbic @d2fong your feedback on this one is much appreciated.

Thanks for your interest Rohan. It looks cool! We will take a closer look of your repo and get back to you soon.

@Rohan-Ver-ma
Copy link

Thanks for your interest Rohan. It looks cool! We will take a closer look of your repo and get back to you soon.

Thank you for your feedback, I truly appreciate it. Please review the project again, as I've added more functionality to make it even more interactive for users.
Currently, I am converting this project into TypeScript.

@Rohan-Ver-ma
Copy link

@jingjingbic @keiono @d2fong Could you please provide me your email address or another medium of communication? I would like to seek feedback from you regarding the proposal before submitting it.

@jingjingbic
Copy link
Author

@jingjingbic @keiono @d2fong Could you please provide me your email address or another medium of communication? I would like to seek feedback from you regarding the proposal before submitting it.

Please send an email to devs at ndexbio.org and I will reply to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment