-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Milestone
Description
Goal
The original version of LocusZoom allowed users to select more than one LD reference SNP for plotting, and color the plot accordingly. (see example)
This feature can be especially useful in regions with multiple independent significant hits; it would be a natural extension as we refactor rendering to support larger zoom regions.
Blocking tasks
Daniel is currently working on some performance optimizations to LDServer handle larger datasets and more complex LD queries. In the current system, each reference variant represents a separate network request to the server, and rendering cannot begin until all requests are resolved. We should explore:
- How many LD reference variants we want to support, and
- The performance / format characteristics of various ways to query multiple reference variants over a wide-ish region.
Feature Requirements
- Improve the existing LD rendering features to support more than one independent LD reference SNP and color scheme. (internal matching of variant to each individual LD panel, and selecting the closest match)
- Improve coloring logic/ scale function to identify a color scheme based on the closest LD match (instead of choosing one color along a continuum, also must take into account that several separate gradients are in play)
- Improve the legend to show color schemes for multi-LD plot
- Identify UI best suited to selecting (and deselecting!) LD variants (see also Allow template string syntax to support "else" branch on if statements #215)
- Identify a mechanism to reset "user driven" ref variants when a user navigates to a new region (current behavior is to persist
plot.state.ldrefvaruntil overridden, even if this results in an LD query that makes no sense). Eg,region_changedevent
Open questions
- How can we make this feature more reusable? (key functionality is spread across tooltip links, LD Adapter, custom legends and scaling functions, etc, and handles edge cases of highlight configurable plot)
- Much of this logic can probably be encapsulated in a toolbar button, but what happens if there is more than one assoc study panel on the same plot? Presumably, the button would appear on each panel as part of the "nth assoc layout" logic.
- Choose appropriate color blind friendly base color schemes
- Validate LD server performance for n variant queries
- Allow scaling functions to color on more than one parameter, eg refID AND ldvalue, in a namespace-agnostic way