cBioPortal / GSoC

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

Add color blind friendly color scheme for cBioPortal #72

Closed inodb closed 3 years ago

inodb commented 4 years ago

Background:

Currently, the cBioPortal is not very user-friendly for those with color vision deficiency. The use of colors is very important in data visualization and we would like to add an option that allows users to enable a color blind friendly palette.

Goal: Add an option for users of cBioPortal to enable a color blind friendly palette.

Approach: Identify color schemes for various visualizations in cBioPortal and enable support for switching the color scheme. Ideally there should be a color scheme that is friendly for each type of color blindness.

Need skills: CSS, SASS, JavaScript

Possible mentors: @inodb @adamabeshouse

chinmay021 commented 4 years ago

@inodb i would like on this as my GSoC project? Could you help me get started with this project?

inodb commented 4 years ago

Hi @chinmay021 👋! I think a good start is to go through the different tutorials here: https://www.cbioportal.org/tutorials. That will give you some idea of the types of visualizations we have.

Then you might want to take a look at the oncoprinter:

https://www.cbioportal.org/oncoprinter

A lot of the colors in that heatmap are re-used through the rest of the site, so proposing a color blind friendly version of that would be a good starting point. We could start by adding a color blind friendly Oncoprint option. Ideally the user can save their preference for a color blind friendly scheme. That can initially maybe be saved using localStorage. After that we can look at other prominent charts on the website and try to find a good color scheme for those cases.

chinmay021 commented 4 years ago

Thank you so much for the guidance. Will proceed as you said.

chinmay021 commented 4 years ago

I am thinking of replacing the current colormap ('viridis' and 'inferno') used in https://github.com/cBioPortal/oncoprintjs/blob/master/src/js/heatmapcolors.ts to 'cividis' colormap that is suitable for normal vision and also color blind friendly.Am i heading in the right direction?

Dharmesh-Poddar commented 4 years ago

@inodb I would also like to work on this project.

inodb commented 4 years ago

Hi @Dharmesh-Poddar ! We have applied for GSoC but we are not sure yet whether we'll get selected. Of course you are welcome to start thinking about the proposal, but please keep that in consideration. If you'd like to take a look at this please go ahead. If Google selects our organization to be part of GSoC we will look at all proposals submitted

sheridancbio commented 4 years ago

This project concept brought back a previous thought : that we would track (based on user log in) a set of selections / preferences / roles chosen by a user, so that their usage pattern for the portal would be remembered next time they log in (even after their current session expires). The feature described for this project is an obvious case where it would be helpful for us to remember this user preference and to default to the color scheme they prefer whenever they are connected to cBioPortal.

zhx828 commented 4 years ago

We made some efforts to differentiate YES/NO in the portal, but a broader discuss and implementation is needed.

The color platte we chose is https://colorbrewer2.org/#type=qualitative&scheme=Dark2&n=3 Relevant pr: https://github.com/cBioPortal/cbioportal/issues/5296#issuecomment-501843410