cBioPortal / GSoC

Documentation repository of Google Summer of Code (GSoC) project ideas for cBioPortal and related projects
108 stars 42 forks source link

Visualize Heatmaps within OncoPrints #1

Closed jjgao closed 7 years ago

jjgao commented 8 years ago

Background: An OncoPrint is a concise and compact graphical summary of genomic alterations in multiple genes across a set of tumor samples. Rows represent genes, and columns represent samples. Glyphs and color coding are used to summarize distinct genomic alterations including mutations, CNAs (amplifications and homozygous deletions), and changes in gene expression or protein abundance. An OncoPrint can also visualize clinical data.

image

Goal: Support heat map visualization of a set of genes in OncoPrint

Approach: Using D3js and/or WebGL to plot heatmap of continuous data (mRNA/miRNA/protein expression, copy number, methylation) as a section in OncoPrint. Optionally, support hierarchical clustering.

Need skills: Javascript, D3js, WebGL

Possible mentors: Adam Abeshouse, JJ Gao

crystal95 commented 8 years ago

@jjgao
Hi This project looks quite interesting to me . I am interested in taking part in GSOC16 . I am third year undergraduate from IIIT-Hyderabad and have proficient coding skills . Can you please guide me on how can I proceed with the project . thanks in advance :)

jjgao commented 8 years ago

Hi @crystal95: You would need to learn Oncoprint.js and the concept of heatmap.

@adamabeshouse may be able to provide more information on Oncoprint.js.

crystal95 commented 8 years ago

@jjgao Thanks alot for responding . Can you please tell if "Support of heat map in OncoPrint " is a potential project for GSOC16 @adamabeshouse Can you please guide me about how to start with Oncoprint.js .

Thanks

jjgao commented 8 years ago

@crystal95 yes, it is a potential project for GSoC16.

crystal95 commented 8 years ago

Thank you :) project looks quite interesting and I am eagerly waiting to start working on it :)

adamabeshouse commented 8 years ago

Hi @crystal95, thanks for your interest! The code for oncoprint.js is currently in development, but will be released quite soon, in the next couple of weeks. We will post back here to let you know when that's the case :smile: !

crystal95 commented 8 years ago

@adamabeshouse Thanks for your response :) I am interested in taking part in GSOC16 . Can you plz suggest how can I start with the project ? Any specific tutorials or language you could suggest me till then :D

thanks

jjgao commented 8 years ago

@crystal95: @adamabeshouse will put more doc in the Oncoprint.js project for you to build very soon. For the moment, the cBioPortal paper might be a good start for you to understand Oncoprint. You can also try to run the cBioPortal code and play with the oncoprint code there. The code is under js/src/oncoprint/.

adamabeshouse commented 8 years ago

Hi @crystal95, I've just finished putting the code up at https://github.com/cBioPortal/oncoprintjs

Oncoprint.js follows a "model view controller" framework, where the file oncoprint.js is the controller, oncoprintmodel.js is the main model (though there are a few others, including oncoprintshape.js, oncoprintruleset.js), and there are various files for the different views used, including oncoprintwebglcellview.js for the main visualization, oncoprintlabelview.js for the labels, oncoprintlegendrenderer.js (which will soon be renamed renderer->view :p ) for the legend, and a few others.

You can ignore everything that's not in the 'src' directory.

The basic idea behind the oncoprint is that for each 'track', there is associated a 'ruleset' which takes data and gives shapes for rendering. The shapes are then consumed by "oncoprintwebglcellview.js", which does all the necessary work to render them using the webGL API provided by modern browsers.

Please don't hesitate to let me know if you have any questions! :)

crystal95 commented 8 years ago

@jjgao @adamabeshouse Thanks alot people :D

Will get back to you once I go through the mentioned stuff !! Thanks alot for detailed responses :)

crystal95 commented 8 years ago

@adamabeshouse White I run " gulp test " , I get following error :

[14:20:15] Using gulpfile ~/oncoprintjs-master/src/gulpfile.js [14:20:15] Starting 'test'... /bin/sh: 1: browserify: not found [14:20:15] 'test' errored after 19 ms [14:20:15] Error: Command browserify test.js -o oncoprint-test-bundle.js failed with exit code 127 at ChildProcess.exithandler (child_process.js:637:15) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:735:16) at Socket. (child_process.js:948:11) at Socket.EventEmitter.emit (events.js:117:20) at Pipe.close (net.js:451:12)

Can you tell how can I resolve it ?

adamabeshouse commented 8 years ago

@crystal95 ah yes, sorry, you also need to install browserify