Skip to content

Conversation

@MackLiao
Copy link
Collaborator

@MackLiao MackLiao commented Jun 6, 2025

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.

@MackLiao MackLiao requested review from cmatKhan and Copilot June 6, 2025 18:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_plot UI/server calls for heatmap_comparison UI/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_cell to selected_heatmap_cell to 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_task or caching to avoid reloading on each session.
tf_pr_df = pd.read_csv("tmp/shiny_data/response_data.csv")

MackLiao and others added 2 commits June 6, 2025 13:25
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
MackLiao and others added 5 commits June 6, 2025 15:32
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>
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 this pull request may close these issues.

2 participants