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

Add ability to spawn code notebooks from cBioPortal queries #107

Open
alisman opened this issue Feb 2, 2024 · 3 comments
Open

Add ability to spawn code notebooks from cBioPortal queries #107

alisman opened this issue Feb 2, 2024 · 3 comments

Comments

@alisman
Copy link

alisman commented Feb 2, 2024

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
Copy link

gautamsarawagi commented Feb 26, 2024

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:

  • I have integrated Jupyter-lite in the cBioPortal frontend tab.
  • Ran one custom command inside it.
  • Also passed the required data that we are downloading to the page.
  • I will be going further with these docs.

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

@Manasarai2009
Copy link

Hi Aaron Lisman
I would like to work for this

@alisman
Copy link
Author

alisman commented Mar 22, 2024

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

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

4 participants