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

Cytoscape Automated Testing Suite for Biomedical Visualization #233

Open
jingjingbic opened this issue Jan 14, 2024 · 7 comments
Open

Cytoscape Automated Testing Suite for Biomedical Visualization #233

jingjingbic opened this issue Jan 14, 2024 · 7 comments

Comments

@jingjingbic
Copy link

jingjingbic commented Jan 14, 2024

Background

Cytoscape is an invaluable open-source tool in the field of biomedical research, offering robust data visualization capabilities, particularly for molecular networks. Its ecosystem, enriched by over 370 specialized apps available in the App Store, facilitates diverse functionalities ranging from database access to novel analysis methods. However, the recent development of Cytoscape Web, an online variant, has introduced complexities in maintaining the platform's integrity and quality across versions. As the ecosystem expands, the challenge of ensuring consistent and reliable product releases grows. Thus, the development of sophisticated testing tools becomes imperative to uphold the high standards of Cytoscape's offerings.

Goal

The primary goal of this project is to create an automated testing framework tailored for Cytoscape, with a specific focus on scientific figure preparation—a critical use case for the software. This framework will utilize a collection of Cytoscape session files and CX documents, integral in generating figures for various scientific publications. It aims to verify whether the newest versions of both Cytoscape and Cytoscape Web can accurately reproduce these figures. A key aspect of this project involves ensuring that figures produced by Cytoscape Web are consistent with those generated by the desktop version. The framework will facilitate communication with Cytoscape Desktop through the CyRest API and automate tests on Cytoscape Web using renowned frameworks like Playwright . A significant part of the testing process will involve comparing newly generated images against established 'gold standard' figures, employing image analysis tools (OpenCV, ImageMagick) and advanced language models (such as Gemini and GPT-4) to produce comprehensive test reports.

Difficulty Level: Medium

Size and Length of Project

  • 175 hours
  • 12 weeks

Skills

Javascript, TypeScript, Python, Cytoscape

Public Repository

Potential Mentors

  • Jing Chen
  • Kei Ono
  • Dylan Fong
  • Chris Churas
@ayushkoli772
Copy link

ayushkoli772 commented Jan 21, 2024

Hello @jingjingbic,

I'm Ayush Koli, and I've thoroughly reviewed the goals of this project. I have a clear understanding of the project's expected outcomes and have outlined a basic roadmap for its completion. I have experience in working with TypeScript, JavaScript, Playwright, Python and also have knowledge about machine learning required to effectively implement this project.

However, aside from this project, I'm eager to prove myself as a valuable contributor to the NRNB. Could you please provide guidance on how I can start contributing effectively?

Thank you for your time and guidance. I look forward to being a part of the NRNB community and also contributing to the success of this project :)

@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

@ayushkoli772
Copy link

Hello @khanspers @jingjingbic @d2fong @coleslaw481, I'm reaching out to clarify a point regarding this project.

I wanted to confirm my understanding regarding the 'gold standard' figures. From what I gather, these are pre existing visualizations that serves as benchmark for evaluating accuracy of visualizations produced by Cytoscape Web and Cytoscape desktop version. Is this correct, or are there additional considerations we need to take into account?

Your insights and guidance on this matter would be very valuable as we move forward with the project.

Thank you for your time and consideration :)

@jingjingbic
Copy link
Author

Hello @khanspers @jingjingbic @d2fong @coleslaw481, I'm reaching out to clarify a point regarding this project.

I wanted to confirm my understanding regarding the 'gold standard' figures. From what I gather, these are pre existing visualizations that serves as benchmark for evaluating accuracy of visualizations produced by Cytoscape Web and Cytoscape desktop version. Is this correct, or are there additional considerations we need to take into account?

Your insights and guidance on this matter would be very valuable as we move forward with the project.

Thank you for your time and consideration :)

You are correct. Those are existing figures or some figures that can be generated from a CX2 file using Cytoscape Desktop. We need to compare them with the figures generated from the same CX2 file using Cytoscape Web.

@ayushkoli772
Copy link

Thank you @jingjingbic, for clarifying the approach. I've now gained a clear understanding of the project's scope and requirements.

To demonstrate my capability and contribute effectively to the project, I would appreciate it if you could assign me specific tasks aligned with the project's goals.

Additionally, I would like to inquire about any other communication channels or platforms where I can reach out to in the future for discussions regarding project progress and any challenges encountered.

Thank you once again for your guidance and support. I look forward to working together on this exciting project.

@jingjingbic
Copy link
Author

Thank you @jingjingbic, for clarifying the approach. I've now gained a clear understanding of the project's scope and requirements.

To demonstrate my capability and contribute effectively to the project, I would appreciate it if you could assign me specific tasks aligned with the project's goals.

Additionally, I would like to inquire about any other communication channels or platforms where I can reach out to in the future for discussions regarding project progress and any challenges encountered.

Thank you once again for your guidance and support. I look forward to working together on this exciting project.

You can start with writing a small test using playwright to test a certain UI output in Cytoscape Web. This [tutorial] (https://github.com/cytoscape/cytoscape-web/wiki/Tutorial-For-Cytoscape-Web) should help you setup your dev environment.

@ayushkoli772
Copy link

Thank you @jingjingbic, for clarifying the approach. I've now gained a clear understanding of the project's scope and requirements.
To demonstrate my capability and contribute effectively to the project, I would appreciate it if you could assign me specific tasks aligned with the project's goals.
Additionally, I would like to inquire about any other communication channels or platforms where I can reach out to in the future for discussions regarding project progress and any challenges encountered.
Thank you once again for your guidance and support. I look forward to working together on this exciting project.

You can start with writing a small test using playwright to test a certain UI output in Cytoscape Web. This [tutorial] (https://github.com/cytoscape/cytoscape-web/wiki/Tutorial-For-Cytoscape-Web) should help you setup your dev environment.

Thank you for your prompt response!

I have already setup dev environment last week. Also created an issue for same, which is resolved.

About writing the test, I will create a new playwright test file and after writing test we will be able to run both existing loadNetwork and new test. Is this approach aligned with your expectations for this task? Please let me know if you have any additional instructions.

Thank you again for your time and consideration!

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

No branches or pull requests

6 participants