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

SV: support genomic charts #2890

Merged
merged 1 commit into from
Apr 10, 2020
Merged

SV: support genomic charts #2890

merged 1 commit into from
Apr 10, 2020

Conversation

kalletlak
Copy link
Member

@kalletlak kalletlak commented Nov 21, 2019

frontend changes for cBioPortal/cbioportal#6278

Changes proposed in this pull request:

  • a add a gene level tab in the add chart button

Screen Shot 2020-04-01 at 3 12 59 PM

Feedback from Tali

  • After I add a chart, the chart appears in the Genomic tab as a greyed out option with 0% frequency. This is not an accurate reflection of the data

  • The added charts don’t have a “Compare Groups” option

  • The info button on the added charts should show from the profile description

  • It would be helpful to show the number of samples with data for each profile in the molecular profile dropdown (like on the co-expression tab)

  • In the “Gene Level” view, the text says “Click gene symbols below or enter here” but there are no gene symbols below.

  • The box to enter gene symbols doesn’t need to be that big

  • The box allows me to enter genes with OQL, but the OQL is ignored. If we’re not going to listen to the OQL, better to not allow it

  • When I add a chart, it doesn’t add to the end of the page, it adds somewhere in the middle. This makes it hard to find. When I add a clinical/genomic chart it adds to the end with a yellow outline… can we replicate that behavior?

    Chart position depends on the priority. Not always charts are added at the end. Yes, yellow outline is shown for new added charts. Priority is set to 0 for custom charts

  • Download data option doesn’t work in the added charts

How to test:

To test go to https://cbioportal-fix-6278-2vax5qy0co.herokuapp.com and set localStorage.setItem("netlify","deploy-preview-2890--cbioportalfrontend")

@jjgao jjgao temporarily deployed to cbioportal-f-fix-6278-xnl2dvjt November 26, 2019 14:57 Inactive
@kalletlak kalletlak force-pushed the fix-6278 branch 3 times, most recently from 1f2bece to abfb6d1 Compare January 30, 2020 14:46
@kalletlak
Copy link
Member Author

To test https://cbioportal-fix-6278-2vax5qy0co.herokuapp.com and set localStorage.setItem("netlify","deploy-preview-2890--cbioportalfrontend")

src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewPageStore.ts Outdated Show resolved Hide resolved
this.chartsType.set(uniqueKey, ChartTypeEnum.BAR_CHART);
this.chartsDimension.set(uniqueKey, { w: 2, h: 1 });

this._genomicDataBinFilterSet.delete(uniqueKey);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it will have this uniqueKey in the set?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, if user tries to add same genomic chart multiple times

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kalletlak could you give me details about this multiple times? Does it mean user could quickly add the same chart multiple times? Or we can actually add multiple charts for the same genomic data?

Copy link
Member Author

@kalletlak kalletlak Feb 4, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User can try to add the same genomic chart(same gene and molecular profile(s)). I think this won't be required since it is override in next step. I'll clean this up

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kalletlak is this designed on purpose? Will the user ever want to have multiple same chart?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Design is not yet finalized. User can same genomic chart(same gene and molecular profile(s)) multiple times, but they can see only one genomic chart for a gene and molecular profile(s)

src/pages/studyView/StudyViewUtils.tsx Outdated Show resolved Hide resolved
src/pages/studyView/UserSelections.tsx Outdated Show resolved Hide resolved
src/pages/studyView/StudyViewUtils.tsx Outdated Show resolved Hide resolved
Copy link
Member

@jjgao jjgao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me from product perspective. It would be cool to support discrete profiles (e.g. mut, cna) in a follow up pr.

gene.hugoGeneSymbol +
': ' +
this.selectedOption!.profileName,
description: this.selectedOption!.description,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since you are checking for undefined above, i would think you don't need ! after this.selectedOption. i think ts will know.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its throwing error if I remove it. May be because its in map

@zhx828 zhx828 self-requested a review February 10, 2020 19:40
Copy link
Member

@zhx828 zhx828 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just need to address Aaron's comments

@tmazor
Copy link
Contributor

tmazor commented Mar 30, 2020

@kalletlak this is awesome! I have just a few comments:

  1. If I enter multiple genes at once, all the charts appear, but only one of them has the yellow boarder. Can they all get the yellow border?
  2. It appears these charts will not get saved as part of a virtual study. I think they should be. If that was not part of the original spec, I'm ok with that being a follow-up PR, but I think we need to support that. (cc: @jjgao )
  3. Similarly, I don't think I can log in right now to test this, but will these gene-level charts be saved as part of my study view in the same way that other layout settings are?
  4. I like the new "OQL not allowed message"! But before that shows up, I get the regular "invalid OQL message" and the behavior where it automatically highlights the invalid text. @alisman has been working on an improvement to this behavior - will that improvement get reflected here?
  5. If I add a gene+data type for which there is no data (e.g. IDH1 + RPPA in lgg_tcga), a blank chart appears. The blank chart makes me worry that there was just an issue loading. Can we add a message that says "No data available" instead?
  6. If I try to re-add a chart that is already there, I get the regular "xxxx has been added" message. Instead, can we say "xxxx chart is already added"?

@kalletlak
Copy link
Member Author

kalletlak commented Mar 30, 2020

> 1. If I enter multiple genes at once, all the charts appear, but only one of them has the yellow boarder. Can they all get the yellow border?

looks like a bug, gonna fix it.

  1. It appears these charts will not get saved as part of a virtual study. I think they should be. If that was not part of the original spec, I'm ok with that being a follow-up PR, but I think we need to support that. (cc: @jjgao )

Sorry, I did not get it. Charts generally doesn't get saved into virtual study.

> 3. Similarly, I don't think I can log in right now to test this, but will these gene-level charts be saved as part of my study view in the same way that other layout settings are?

It does, these charts are also gets saved in to user layout settings.
> 4. I like the new "OQL not allowed message"! But before that shows up, I get the regular "invalid OQL message" and the behavior where it automatically highlights the invalid text. @alisman has been working on an improvement to this behavior - will that improvement get reflected here?

It should. it uses the same component.
> 5. If I add a gene+data type for which there is no data (e.g. IDH1 + RPPA in lgg_tcga), a blank chart appears. The blank chart makes me worry that there was just an issue loading. Can we add a message that says "No data available" instead?

Data might not be available. Should we show No data available message or bar chart with all samples belonging to NA bar?

> 6. If I try to re-add a chart that is already there, I get the regular "xxxx has been added" message. Instead, can we say "xxxx chart is already added"?

Sure

Copy link
Member

@onursumer onursumer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some package updates are not necessary, we should only update cbioportal api client version and packages depending on it, which is currently cbioportal-frontend only

package.json Outdated
@@ -1,7 +1,7 @@
{
"name": "cbioportal-frontend",
"private": true,
"version": "3.2.13-alpha.0",
"version": "3.2.14-alpha.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to update this to 3.2.13-alpha.1, though it is not a big deal since we never publish this package.

@@ -1,7 +1,7 @@
{
"name": "genome-nexus-ts-api-client",
"description": "Genome Nexus API Client for TypeScript",
"version": "1.1.2-beta.0",
"version": "1.1.3-beta.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't update this package version, because there is no change in this API client. yarn updatePackageVersion incorrectly prompts this package to update because of the limitation in lerna version. It always checks against the latest tag on master, not the latest commit.

@@ -1,7 +1,7 @@
{
"name": "oncokb-ts-api-client",
"description": "OncoKB API Client for TypeScript",
"version": "1.0.0",
"version": "1.0.1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we shouldn't update this package either, no changes in this package.

package.json Outdated
@@ -155,7 +155,7 @@
"fmin": "^0.0.2",
"font-awesome": "^4.7.0",
"fork-ts-checker-webpack-plugin": "^1.2.0",
"genome-nexus-ts-api-client": "^1.1.2-beta.0",
"genome-nexus-ts-api-client": "^1.1.3-beta.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

package.json Outdated
@@ -187,7 +187,7 @@
"node-sass": "^4.9.3",
"numeral": "^2.0.6",
"object-sizeof": "^1.2.0",
"oncokb-ts-api-client": "^1.0.0",
"oncokb-ts-api-client": "^1.0.1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

@@ -42,7 +42,7 @@
"measure-text": "0.0.4",
"mobxpromise": "github:cbioportal/mobxpromise#v1.0.2",
"object-sizeof": "^1.2.0",
"oncokb-ts-api-client": "^1.0.0",
"oncokb-ts-api-client": "^1.0.1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

@@ -1,7 +1,7 @@
{
"name": "cbioportal-ts-api-client",
"description": "cBioPortal API Client for TypeScript",
"version": "1.0.0-beta.0",
"version": "1.1.0-beta.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be 1.0.0-beta.1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why btw should this be .1 and not 1.1.0?

"classnames": "^2.2.5",
"genome-nexus-ts-api-client": "^1.1.2-beta.0",
"genome-nexus-ts-api-client": "^1.1.3-beta.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

@@ -38,14 +38,14 @@
},
"dependencies": {
"autobind-decorator": "^2.1.0",
"cbioportal-frontend-commons": "^0.2.7",
"cbioportal-frontend-commons": "^0.2.8",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

"jquery": "^3.2.1",
"lodash": "^4.17.11",
"mobxpromise": "github:cbioportal/mobxpromise#v1.0.2",
"oncokb-styles": "~0.1.2",
"oncokb-ts-api-client": "^1.0.0",
"oncokb-ts-api-client": "^1.0.1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be updated

@inodb inodb added the feature label Apr 10, 2020
@inodb inodb force-pushed the fix-6278 branch 3 times, most recently from 17ba466 to c0fa112 Compare April 10, 2020 01:45
@inodb inodb merged commit 303c351 into cBioPortal:master Apr 10, 2020
inodb added a commit to inodb/cbioportal-frontend that referenced this pull request Jan 12, 2022
SV: support genomic charts
Former-commit-id: 303c351
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
7 participants