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

Subset & visualize single cells based on gene expression thresholds #53

Open
5 tasks
bhavyaac opened this issue Sep 9, 2021 · 0 comments
Open
5 tasks
Assignees
Labels
clusters-app enhancement New feature or request

Comments

@bhavyaac
Copy link
Member

bhavyaac commented Sep 9, 2021

(Based on feedback from Prof. Sébastien Talbot at the LDI Undergrad Research Day)

It would be useful to subset & visualize the single cell data by the expression of certain gene(s). (The expression table tab allows users to filter clusters by the mean expression measured in their cells, but does not allow analysis at the level of single cells.)

One way to do this, suggested by @sjessa, is to produce a scatter plot of single cells according to their expression of two user-selected genes. See the diagram below for a rough sketch of this new tab's layout (including sidebar input).

image

Description:

Each gene's expression would be on one of the graph's axis, and each cell would be plotted as a point in the plot. The user would select their thresholds of choice using slider inputs (similar to the slider currently in the dendrogram tab), and they would also be shown on the plot. Each cell would be coloured by its cluster as per the palette used throughout the app, and the user would have the option to display cells belonging to several broad cell types (like the heatmap tab) - showing all of the atlas' cells at once may not be very informative.

The tab would also output the barcodes (i.e. UMIs from single-cell RNA seq) of each cell falling into the user specified threshold(s), which would be displayed and/or provided in a file for download. Those who are more familiar with computational techniques can use these barcodes to investigate the dataset themselves.

Some questions I would have to consider are:

  • What if the user only wants to threshold on one gene? Should I allow an option for this, or would it not be very common?
  • Should I allow both an upper and lower threshold e.g. to isolate cell such that x <= expression(cell) <= y?

I think that this is relatively straightforward to implement with existing Shiny sliders, and if the user does not want one of the threshold "sides" to be there they can just choose the maximum or minimum value of the slider. This would also make it clearer which cells are "selected" by the user: they are the ones that fall within the two values (rather than an arbitrary convention of the cells above or below a certain value being selected)

  • What should occur with cells falling exactly on the threshold(s)?
  • Should I use jitter and/or transparency of points to deal with overlapping points (if common)?
  • Would users want the option for the mean expression over several genes to be plotted on one axis? (For example, x axis plots the mean of 10 astrocyte marker genes, y axis plots the mean of 1 gene of interest...?)
@bhavyaac bhavyaac self-assigned this Sep 9, 2021
@bhavyaac bhavyaac added clusters-app enhancement New feature or request labels Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clusters-app enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant