chanzuckerberg / single-cell-data-portal

The data portal supporting the submission, exploration, and management of projects and datasets to cellxgene.
MIT License
61 stars 12 forks source link

epic(wmgv2): Compare cell types across tissues #4433

Open signechambers1 opened 1 year ago

signechambers1 commented 1 year ago

What is the problem? Users want to be able to see how expression compares across tissues to see how consistent the expression patterns are in cell types and identify differences

How does this align to single cell strategy? This functionality furthers researchers ability to identify of the genes and mechanisms that define and differentiate cell types, which is core to CELLxGENE Discover’s main goal

User feedback This is one of our top-requested features for Gene Expression. While users can use filters and compare two different windows, this is a clunky experience. We'd like to seamlessly allow users to compare gene expression across tissues, potentially by adding cell types to the dot plot.

cc @hthomas-czi for design questions, @signechambers1 for product questions, @ainfeld for analytics

Figma

Tentative launch date: Slating user stories 1 & 2 (maybe 3) for June 15th prod deploy, contingent on prod review and analytics complete. Eng work to be ready for review by June 8th.

Sub-user stories

  1. User can view all tissues at once

    • [ ] The default view of gene expression contains all tissues
    • [ ] Tissue selector is removed
    • [ ] If a user adds a gene, the dot reflects the average expression across all cells in that tissue
    • [ ] A user can expand or collapse a tissue to see the underlying cell types
    • [ ] This state works with existing functionality (View options, share, download, filters) Analytics updates:
    • [ ] See user story 1 - analytics issue
  2. User can filter tissues in the filter panel to remove unwanted tissues

    • [ ] Remove Add tissue button
    • [ ] Add Tissue filter to the left side panel
    • [ ] Tissue filter should work as standard multi-select filter component. When no tissue filter is active, all tissues are shown in the dot plot
    • [ ] The list of tissues reflects any applied filters in the side bar Analytics updates:
    • [ ] See user story 2 - analytics issue
  3. User can search for cell types across all tissues

    • [ ] Add search bar/filter for cell types
    • [ ] User can select an ontology term from the drop down search results
    • [ ] Tissues should also automatically unfurl to show that cell type
    • [ ] Works as a multi-select filter, user can select multiple options
    • [ ] If a cell type is selected, only tissues with that cell type will remain Analytics updates:
    • [ ] See user story 3 - analytics issue
  4. Make adding genes more intuitive

    • [ ] Change Add Gene button to Gene search bar
    • [ ] User should maintain ability to type in a gene, see search results and enter a comma separated list of genes
    • [ ] If a user selects a gene, it should not move to the top of the list unless the user clicks out of the search bar and then back into it
    • [ ] Update analytics events and tracking as necessary, details TBD

Open questions

  1. How we want to approach average calculation for tissues - see slack thread here. Another option is to leave off tissue level aggregates entirely. Exploration needed to determine if option 1 in slack thread is helpful.

Product QA Product test cases documented here.

tihuan commented 1 year ago

Thanks for creating this user story, @signechambers1 🎉 !

4 quick questions 🙏 :

  1. When should we schedule a meeting among product/design/eng to tease out the pared down backup version of this feature in case the camera effect won't work?

  2. After we've aligned on ideal design and backup design, I assume we'll do UXR to get early user feedback before committing eng time?

  3. Given that this new design is a major change in UI, do we need to develop a tutorial to help people transition from the existing UI to the new UI?

  4. Given that this new design is a major change in UI, do we need to think about roll back plan in case users don't like the new design somehow?

Thanks so much!

signechambers1 commented 1 year ago

@tihuan thanks for the questions! In response:

  1. Once @dsadgat has a chance to think about the timing for when we work on this feature I will set up a meeting to discuss the requirements, design, and any tradeoffs we want to make.
  2. We already did a full round of internal user testing with SMEs, notes are here.
  3. I don't think that is necessary, every one of our internal testers found the UI more intuitive and helpful than the existing one, so I'm confident this is an improvement.
  4. I don't think this is necessary, users can remove any tissues they want so this change doesn't prevent them from getting to a dot plot they can currently get to. We will be monitoring the metrics closely. We expect this improvement to increase engagement, if we do not see that happening we will do another round of research to figure out why, but we got overwhelming positive feedback from SMEs so I do not think this design is risky.
tihuan commented 1 year ago

Got it! Really appreciate all the details, @signechambers1 🙏

Looking at the All Tissue design in Figma, it seems like the cell types are still grouped by tissues first, so how are users comparing the same cell type across tissues? Do they need to bulk delete irrelevant cell types from every tissue in order to get the same cell type across tissues closer together?

I was thinking we could add Tissue as a Compare option to automatically stratify each cell type by tissues, so there's less manual process involved before they can see the same cell type expression across tissues side by side

Or maybe I'm looking at the wrong mock 😆

Screenshot 2023-03-29 at 9 36 36 AM

CC: @hthomas-czi

Thanks again!

signechambers1 commented 1 year ago

@tihuan that is the wrong mock! The full mock is linked in the issue above, @hthomas-czi is splitting them out to match the user stories by EOD today.

tihuan commented 1 year ago

@signechambers1 Ahh I did have the wrong mock 😆

Although the link in the description takes me to the screenshot below, which is the part about adding Cell Type, but not how the actual dot plot looks like. I'll just wait for @hthomas-czi on this then 👍 Thanks so much!

Screenshot 2023-03-29 at 11 20 05 AM
signechambers1 commented 1 year ago

hmm @tihuan I'm not sure what you are looking at but Harley finished updating the designs, linked above and also here.

tihuan commented 1 year ago

@signechambers1 Ah perfect! The new Figma works for me now 👍

I see this:

Screenshot 2023-03-29 at 12 47 39 PM