cBioPortal / GSoC

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

Study Comparison Support #91

Open Luke-Sikina opened 2 years ago

Luke-Sikina commented 2 years ago

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 public instance of the cBioPortal hosts hundreds of curated cancer genomics data sourced from public data repositories and published research articles. Many of these studies share data sources, sequencing platforms, gene panels, etc., and being able to compare two studies would be a powerful tool for users looking to understand how studies differ from one another.

Furthermore, the addition of a Cancer Study Comparison tool would useful in other ways as well such as for data curation and comparing mutation and annotation tools used on the same set of data, among many other potential uses.


Goal:

Create an in app tool that allows end users to compare two studies.

The tool should show differences in:

Approach:

There should be a backend API that accepts a list of study IDs and returns a structured diff of the requested studies. The backend should be integrated into the existing cBioPortal codebase, and should have the route /api/study_comparison?study_ids=study_a,study_b.

There should be a frontend that consumes that API and presents it. The presentation of the information is up to you. You should try and find a way to categorize the various types of information, so that diffs of different data types don't blend together. Within datatypes, you should reference how established diffing tools display their output when designing your UI.

Resources: Here are some API endpoints that provide information for studies. You shouldn't use these directly, as we want the comparison done on the backend, but you might want to use their underlying service methods when making a comparison endpoint. Running these curls might also give you a better idea of what these different data objects look like.

Codebase When building a REST endpoint in cBioPortal, you need to add a controller method to either an existing class or a make a new controller class. You can look at some of our existing controllers here: https://github.com/cBioPortal/cbioportal/tree/master/web/src/main/java/org/cbioportal/web In general, controllers call service methods. Service methods retrieve data from repository methods and process that data, returning the result to the controller. This means that in addition to making a new controller method, you should plan on adding a new service as well. You can find examples of service classes here: https://github.com/cBioPortal/cbioportal/tree/master/service/src/main/java/org/cbioportal/service/impl


Need skills:

Possible mentors:

@Luke-Sikina

ao508 commented 2 years ago

@Luke-Sikina What do you mean by data source? Institution? Sequencing platform? Sample source? It's a bit unclear.

devanshcache commented 2 years ago

Hi! I'm Devansh a student and web developer intern. I have some experience in Reactjs and Java. I would like to work on this task. Is this task still available?

abhijain2003 commented 2 years ago

Hey! I am abhi jain a frontend web developer i can code in javascript and reactjs. I would like to work on this issue can you explain it further

ao508 commented 2 years ago

Hi @git-devansh! Thank you for reaching out :) I will make sure @Luke-Sikina reaches follows up with you soon about applying.

ao508 commented 2 years ago

Hey! I am abhi jain a frontend web developer i can code in javascript and reactjs. I would like to work on this issue can you explain it further

Hi @abhijain2003 Thank you for reaching out :) I will make sure @Luke-Sikina reaches follows up with you soon about applying.

abhijain2003 commented 2 years ago

Thanks for this

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows

From: @.> Sent: 11 March 2022 20:40 To: @.> Cc: Abhi @.>; @.> Subject: Re: [cBioPortal/GSoC] Study Comparison Support (Issue #91)

Hi @git-devanshhttps://github.com/git-devansh! Thank you for reaching out :) I will make sure @Luke-Sikinahttps://github.com/Luke-Sikina reaches follows up with you soon about applying.

— Reply to this email directly, view it on GitHubhttps://github.com/cBioPortal/GSoC/issues/91#issuecomment-1065201480, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV3YHUEWUDEXFGFTHXSCNTLU7NO5VANCNFSM5PB3YZNQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.***>

devanshcache commented 2 years ago

Hi @git-devansh! Thank you for reaching out :) I will make sure @Luke-Sikina reaches follows up with you soon about applying.

Thank you! Looking forward to it.

abhijain2003 commented 2 years ago

I am getting this message twice. But, still sir @Luke-Sikina haven’t reached me yet, please make arrangements for my guidance . I need mentorship.

Thanks for reading.

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows

From: @.> Sent: 13 March 2022 03:10 To: @.> Cc: Abhi @.>; @.> Subject: Re: [cBioPortal/GSoC] Study Comparison Support (Issue #91)

Hi @git-devanshhttps://github.com/git-devansh! Thank you for reaching out :) I will make sure @Luke-Sikinahttps://github.com/Luke-Sikina reaches follows up with you soon about applying.

Thank you! Looking forward to it.

— Reply to this email directly, view it on GitHubhttps://github.com/cBioPortal/GSoC/issues/91#issuecomment-1065969030, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV3YHUDK5FMKQVNBMBIBBODU7UFLTANCNFSM5PB3YZNQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>

Luke-Sikina commented 2 years ago

@git-devansh @abhijain2003 Yes this issue is open and we are looking for applicants. If you have any questions, you can ask them here. I'm looking forward to reading your proposals!

OmarAshraf1 commented 2 years ago

Hi, I am Omar
I am interested in applying to this project. Could i ask a question please. are the Samples / Patients, Gene panels and Molecular Profiles stored in a relational database ? Thanks.

Luke-Sikina commented 2 years ago

Hi, I am Omar I am interested in applying to this project. Could i ask a question please. are the Samples / Patients, Gene panels and Molecular Profiles stored in a relational database ? Thanks.

Hi Omar,

Great question. Yes, all data is stored in a MySQL 5.7 database. You can find the schema here: https://github.com/cBioPortal/cbioportal/blob/master/db-scripts/src/main/resources/cgds.sql Within the schema here are the tables for the respective objects:

@OmarAshraf1

OmarAshraf1 commented 2 years ago

@Luke-Sikina Thanks a lot Luke. That is great, i understood the project better. I am looking forward to apply and i wish to be a part of this. Thanks.

MayaSatishRao commented 1 year ago

Is this issue still open? I want to contribute and wanted to know whether this issue is open for GSOC 2023

harsh2929 commented 1 year ago

@Luke-Sikina I'm a second year bachelor student in CSE and i would love to contribute regarding this issue, please let me know if its still up for contribution.

RINO-GAELICO commented 4 months ago

Hi @Luke-Sikina, I am just touching base to see if there is still interest in this enhancement. I am interested in studying this issue and make a proposal based on it. But first I'd like to see if there is still movement around here.

Thank you