Update binding perturbation pages (Draft PR)#111
Open
MackLiao wants to merge 9 commits intoBrentLab:devfrom
Open
Update binding perturbation pages (Draft PR)#111MackLiao wants to merge 9 commits intoBrentLab:devfrom
MackLiao wants to merge 9 commits intoBrentLab:devfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR replaces the UpSet plots with interactive heatmap comparisons in both the perturbation response and binding tabs, updates the server logic to return reactive value selections, and cleans up outdated CSS and upset-related code.
- Swap
upset_plotUI/server calls forheatmap_comparisonUI/server - Update imports, server return types, and logging for selected heatmap cells
- Remove stale CSS blocks and adjust inline styling and description text
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tfbpshiny/tabs/perturbation_response_module.py | Replaced Upset plot with heatmap comparison, updated imports, server logic, and UI layout |
| tfbpshiny/tabs/binding_module.py | Same heatmap swap for binding tab, adjusted description, imports, server return, and styling |
Comments suppressed due to low confidence (4)
tfbpshiny/tabs/binding_module.py:22
- Remove the extra "the" in the description: it should read "TF binding datasets".
This page displays pairwise comparisons and correlation matrix for TF the binding datasets. The current binding datasets are:
tfbpshiny/tabs/binding_module.py:245
- Combine the split comment on correlation data into one line, e.g.,
# Pass correlation data for comparing heatmap and correlation matrices.
correlation_data=tf_binding_df, # Pass correlation data for correlation
tfbpshiny/tabs/perturbation_response_module.py:255
- [nitpick] Consider renaming
selected_celltoselected_heatmap_cellto clarify which UI element's selection it represents.
selected_cell = heatmap_comparison_server(
tfbpshiny/tabs/perturbation_response_module.py:244
- Reading the CSV synchronously in server init may cause redundant I/O; consider using a
reactive.extended_taskor caching to avoid reloading on each session.
tf_pr_df = pd.read_csv("tmp/shiny_data/response_data.csv")
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
cmatKhan
reviewed
Jun 6, 2025
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The scatter-overlap hack didn't work out eventually. I suspect it was caused by limitations of python widget binding. I left the median rank correlation plot as a placeholder, which can be implemented quickly once we decide the new layout.