Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Enhance gene leads tooltip: plot reference expression by tissue #364

Merged
merged 17 commits into from
Dec 23, 2023

Conversation

eweitz
Copy link
Owner

@eweitz eweitz commented Dec 23, 2023

This shows a bar chart to assess typical tissue-specific gene expression more richly than before (#363).

With this data newly available in Gene Leads, researchers can easily answer questions about genes of interest, e.g.:

  • In which tissues is my gene typically most expressed?
  • Is expression usually concentrated in one tissue, or across many?
  • How does the expression of this gene in this sample compare to that in a large, representative cohort?

User interface

Here's how it looks!

Tissue_detail__Ideogram_2023-12-23.mov

Data architecture

This UI enhancement leverages a new-to-Ideogram technique for data retrieval. Like other gene leads data, this new data on median expression for up to 10 tissues per gene is stored in the service worker cache. However, newly, essentially all of the data is kept on disk and not read into memory. Instead, the Ideogram cache only reads a small "line-byte index" into memory.

The index maps each gene to the byte-offset of the line in the larger tissue-detail cache file on disk. Then, using workbox-range-requests, Ideogram reads only the needed byte range into memory. This is effectively the same as an HTTP range request.

So speed is the same as before, but memory footprint is drastically smaller.

@eweitz eweitz merged commit 9ce5ce6 into master Dec 23, 2023
@eweitz eweitz deleted the tissue-detail branch December 23, 2023 17:39
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant