Skip to content

Instantly share code, notes, and snippets.

@aditygrg2
Last active January 6, 2024 18:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aditygrg2/1e20071a8b0ca0168a8d286e7b1d4755 to your computer and use it in GitHub Desktop.
Save aditygrg2/1e20071a8b0ca0168a8d286e7b1d4755 to your computer and use it in GitHub Desktop.
[GSOC 2023] Work Submission - cBioPortal - Mutation Plot Diagram on Study View

cBioPortal x Google Summer of Code 2023 - Final Submission Report

Background

The cBioPortal is an open-access, open-source resource for interactive exploration of multidimensional cancer genomics data sets, which are collected from a multitude of sources such as published research papers, publicly available data repositories, and private data sets. Please refer to the cBioPortal home page for an overview.

The Study View of the cBioPortal provides users with powerful and interactive means for exploring clinical and genomic data in a study or cohort of samples.

Project Goal and Objectives:

  • Visualizing mutations in a gene with mutation diagram.

  • Adding annotated mutation data
  • Mutation diagram should allow selecting one or more genes and the other charts should also reflect based on the selected genes and samples.
  • Selecting other charts should also filter mutation diagram
  • Chart should be trigerred using other charts like Mutation Table or by inputting genes which can be then further rendered using Onco Query Language.

Why this was important?

The current implementation of mutation analysis in cBioPortal has limitations in its ability to provide an in-depth understanding of the mutations within a specific study. In order to address this, the addition of a mutation diagram on the study view, will enhance the mutation analysis capabilities of cBioPortal. The mutation diagram will display the distribution of mutations across different genes, samples and mutation types within a study.

By visualizing the mutation data in a diagrammatic format, researchers will be able to quickly identify patterns and trends that are not immediately apparent from raw data alone. Additionally, the mutation diagram will allow users to interactively explore the data, enabling them to select specific genes, mutation types and samples of interest for further analysis.

Project Accomplishments:

  • Successfully created a mutation plot on the study view with the annotated data
  • The chart can be filtered to and fro from other charts and can trigger updates to other charts
  • Chart contains counts of the annotated data as Driver and VUS counts
  • Multiple charts can be shown for multiple genes on the same page
  • Chart can be resized
  • Each gene in the mutation plot can be explored by navigating to the results view page

Learnings:

Grasping a big codebase was pretty tough, but it taught me a lot about TypeScript and React. I dug deep into how React works, figured out how states make components change, and saw how even small improvements can make a big difference.

I used to be unsure about TypeScript, but now I feel much more confident with it. I also got good at handling different states in my code using MobX stores and annotators. Plus, I improved my understanding of object-oriented programming and got to work with a cool library that made my skills even better.

Future Additions

  • Adding unit tests for testing this new feature
  • Allow to trigger plot via route, which will also make it easy to share via link to others

Images (Click to view)

Google Summer of Code 2023 • cBioPortal

@Aditya-eddy
Copy link

Where is the code?

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