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

Finish and deliver a GPU-based rendering engine for Cytoscape #51

Closed
bdemchak opened this issue Feb 1, 2016 · 9 comments
Closed

Finish and deliver a GPU-based rendering engine for Cytoscape #51

bdemchak opened this issue Feb 1, 2016 · 9 comments

Comments

@bdemchak
Copy link

bdemchak commented Feb 1, 2016

Background

Cytoscape is a highly popular open source bioinformatics software platform for visualizing, analyzing, and publishing graphs or networks representing molecular interactions, gene expression, other biological data. As a desktop platform, Cytoscape is one of the most successful open source projects in biology, and its Java-based graph rendering engine is highly tuned.

However, a GPU-based renderer (via OpenGL) has been prototyped and found to deliver far better performance. While it is mostly complete, a number of features must be tuned or finished, including context menu support, camera controls, positioning edges on node boundaries, and bent edges. Additionally, the renderer must be prepared for use by the greater Cytoscape user base, which includes diverse GPU hardware.

Goal

Tune and finish a new GPU-based Cytoscape graph renderer and assist in delivering it to the Cytoscape user community

Technologies

Cytoscape itself is Java/Swing-based, and the GPU-based render is OpenGL-based. Implementing context menus and interfacing with Cytoscape requires Java, while improving the render requires a basic knowledge of OpenGL -- the better the OpenGL skills, the more possibilities for excellent rendering. Like the Java code, the OpenGL code must be robust across a wide variety of reasonably current GPUs.

Difficulty level: 3

Deep experience with GPU-based rendering via OpenGL is required. Familiarity with network rendering is a plus.

Potential mentors

Barry Demchak, Scooter Morris and Keiichiro Ono
Alex Williams

Contact

Barry Demchak (idekerlab.bdemchak@gmail.com)
Alex Williams (alex.williams@gladstone.ucsf.edu)

@neetopia
Copy link

Hi, I'm quite interested in this project, and I have some experience in GPU and opengl, but I haven't used Cytoscape before. Can I get some more information about this project, like some similar products, so that I can have a clearer idea about what to write in proposal?

@khanspers
Copy link
Contributor

@roaringacw: The deadline for applications is coming up fast (Friday noon PST). Please contact the mentor directly for more information and guidance: idekerlab.bdemchak@gmail.com

@bdemchak
Copy link
Author

Hi, Gongtu65 –

I’m probably your best source for information on this. Can you meet with me tomorrow (Thursday 3/24)? Where are you physically??

Also, can you provide more information about your GPU and openGL experience? I’d be glad to talk with you further.

From: gongtu65 [mailto:notifications@github.com]
Sent: Tuesday, March 22, 2016 10:21 PM
To: nrnb/GoogleSummerOfCode
Cc: Barry Demchak
Subject: Re: [GoogleSummerOfCode] Finish and deliver a GPU-based rendering engine for Cytoscape (#51)

Hi, I'm quite interested in this project, and I have some experience in GPU and opengl, but I haven't used Cytoscape before. Can I get some more information about this project, like some similar products, so that I can have a clearer idea about what to write in proposal?


You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub #51 (comment) https://github.com/notifications/beacon/ADhl3l40OoQJEnnCZCYUk7Ni4m-QnYn7ks5pwM3AgaJpZM4HRDBT.gif

@neetopia
Copy link

I'm physically in San Diego now, and for the openGL experience, I took a computer graphics course during my undergraduate study, and did some simple openGL rendering experiments like simulating a solar system.

@bdemchak
Copy link
Author

Hi, Gongtu65 --

I'm not so sure about this. This project is fairly complex and requires
proficiency in OpenGL and the ability to quickly pick up Cytoscape/Java. If
I were an OpenGL expert, I would be in a position to mentor you on this.
But I'm not, and so I'm concerned that you would not be able to take charge
of this project independently.

There are two days for you to survey the Cytoscape GPU architecture and
code, and then create a proposal. I can help review and refine your
proposal, but it needs to originate with you.

I'm happy to give you access to the code and architecture documents we have
if you'd like to study them yourself to see whether you can understand them
and make a proposal.

Would you like to proceed?

On Wed, Mar 23, 2016 at 4:49 PM, gongtu65 notifications@github.com wrote:

I'm physically in San Diego now, and for the openGL experience, I took a
computer graphics course during my undergraduate study, and did some simple
openGL rendering experiments like simulating a solar system.


You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#51 (comment)

vvvvvvvvvvvvvvvvvvvvvvvvvvvv
: Barry Demchak, PhD
: UC San Diego, Department of Medicine
: https://sosa.ucsd.edu/confluence/display/~bdemchak/Home
: (858) 452-8700
vvvvvvvvvvvvvvvvvvvvvvvvvvvv

@neetopia
Copy link

Well, it seems pretty hard, but maybe you can give me access to code and documents first, I'll try to understand them. My email is roaringacw@gmail.com

@bdemchak
Copy link
Author

Great ... here is the relevant project material

https://github.com/cytoscape/zugzwang

Places to start: moredetails.pdf and abstract-arch.pdf

This fits into the much Cytoscape larger code base, which is at
https://github.com/cytoscape/cytoscape. Going into the Cytoscape core,
though, is a pretty big topic.

Feel free to ask questions ...

On Wed, Mar 23, 2016 at 9:18 PM, gongtu65 notifications@github.com wrote:

Well, it seems pretty hard, but maybe you can give me access to code and
documents first, I'll try to understand them. My email is
roaringacw@gmail.com


You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#51 (comment)

vvvvvvvvvvvvvvvvvvvvvvvvvvvv
: Barry Demchak, PhD
: UC San Diego, Department of Medicine
: https://sosa.ucsd.edu/confluence/display/~bdemchak/Home
: (858) 452-8700
vvvvvvvvvvvvvvvvvvvvvvvvvvvv

@matthiaskoenig
Copy link

Is anybody working on this project?
Is there some timeline to implement this?

I am looking for a high-performance rendering engine for Cytoscape to be able to work with large networks and show many details. Some solution which is implemented using OpenGL.
Zugzwang was the only thing I found in this direction.
Are there any alternative faster renderer for Cytoscape right now?

@khanspers
Copy link
Contributor

GSoC 2017 selected project

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

5 participants