cBioPortal / GSoC

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

Add ability to spawn code notebooks from cBioPortal queries #107

Open alisman opened 5 months ago

alisman commented 5 months ago

Background: Users of cBioPortal may want to perform further custom analaysis and visualization of data they have queried/filtered in the cBioPortal. cBioPortal already gives users the ability to export data and visualizations. This project would allow users to directly spawn code notebook environments (e.g. JupyterLite) from numerous points within the application.

image

Goal: To add an interface where data from features in the cBioPortal can be passed directly to code notebook tools (e.g. a browser-based Jupyter notebook).

Approach: Using javascript/React, buttons will be added to various export points in the cBioPortal UI. These buttons might be simple buttons or perhaps dropdowns if we want to export to multiple tools. On click, our code will need to marshal the data in the format required by the target tool, spawn the tool (e.g. in a new browser window) and pass the data to it. The way this works will be different for each tool. In the case of JupyterLite, we can open up a new window with a self-hosted JupyerLite application and use its api to feed it the json exported from our app. Other apps will have different methods of data ingestion.

Need skills: Familiarity with data analysis and the workings of code notebooks. Javascript to integrate/spawn these external tools from within cBioPortal and feed them the necessary data.

Possible mentors: Aaron Lisman @walleXD

This project can be either 175 hours or 350 hours. For the latter, requirements may grow: e.g. we may add session management to JupyterLite instance so that it remembers previously exported data and analysis. We may export data from more points in the application. We may add more tools to choose from.

gautamsarawagi commented 4 months ago

Hey, @alisman @inodb I would like to work on this issue. I have understood the requirement and have also done some updates in the code regarding the issue. For now:

Looking forward to your feedback on the PR! and moving forward together.

Manasarai2009 commented 3 months ago

Hi Aaron Lisman I would like to work for this

alisman commented 3 months ago

@Manasarai2009 someone else has started work and made good progress. sorry!