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

UI design for handling embeddings which have a subset of all cells #1650

Closed
bkmartinjr opened this issue Jul 20, 2020 · 2 comments · Fixed by #1667
Closed

UI design for handling embeddings which have a subset of all cells #1650

bkmartinjr opened this issue Jul 20, 2020 · 2 comments · Fixed by #1667
Assignees

Comments

@bkmartinjr
Copy link
Contributor

bkmartinjr commented Jul 20, 2020

Need UI design to support user interaction around an embedding that has a subset of all cells. This is needed to handle both on-demand re-embedding and read-only embeddings which contain NaNs.

Additional context & user stories: #1559, #1606, #1569

Related bug: #652

@bkmartinjr bkmartinjr added this to the Milestone 1: Schema milestone Jul 20, 2020
@colinmegill
Copy link
Contributor

Problem space

  • there are multiple ways people can create an embedding for a subset of an embedding
    • do it up front and save it in the h5ad
    • do it manually
  • different ways to get to the same result, it's an embedding on something less than the embedding
  • don't have to worry about how that is done, straightforward
    • we know how we'd do the precomputed versions
    • on demand re embedding we don't allow people to give parameters
  • Real issue... however I did the embedding, where only some cells have a coordinate and other cells don't because they were omitted, then if I want to view that embedding, what is the context and the UI, what assumptions do I have around it regarding what other summary data should be presented, counts, categories, when I further use subsetting or other selection UIs, what is my mental model for what I am operating upon, is it universe, or selection... do I pretend that I'm operating on a small dataset? How is that signalled?
  • Once you have an answer to the above, then you have to ask, how do I handle the transitions when I switch the embeddings, because that may switch the cells.
  • If I'm displaying a histogram, do they show all cells or just the ones in the embedding?

Proposal

  • If I switch to an embedding and I haven't done anything else, the app effectively pretends those are the only cells in existence (user will have to click subset to switch). Histo's are only cells in embedding
  • If I then subset that embedding, but switch to a different embedding with no overlap, I'm going to reset everything
  • We have 'hidden' subset operation (app managed) and when you view an embedding, we push a subset onto the annomatrix stack which effectively says 'look we're operating on a subset', maybe a perfect subset, but it also could be some fraction
  • All of the other manual ui driven subsetting occur above that
  • We could notify or force confirmation that a subset has also occurred (one or more of these)
    • We redo the menu in embedding, and have buttons that say switch embedding and subset
    • Pop a toast that says 'now displaying 7000 out of 50,000 cells in current embedding'
    • Have a status bar at the bottom of the screen like with auto save maybe in left, 'currently displaying embedding umap, 9000 out of 50,000 cells', if it's all cells we say 'currently displaying embedding umap'
    • this may mean we switch embedding button to lower left to give more menu space to upper right, and combine with status
  • Embeddings are temporary until refresh

@bkmartinjr
Copy link
Contributor Author

Related: #652

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants