Skip to content

Conversation

@djsmith17
Copy link
Contributor

@djsmith17 djsmith17 commented Oct 21, 2025

This pull request introduces several enhancements and improvements across the environment configuration and multiple Streamlit application pages, focusing on environment reproducibility, data export functionality, and usability for cluster/heatmap analysis. The most important changes are summarized below.

Environment and Dependency Management:

  • Refactored .envs/maestro/meta.yaml to update, pin, and reorganize dependencies for improved reproducibility and compatibility, including explicit versioning for key packages and consolidating requirements between conda and pip.

Neighborhood Profiles Export and Usability:

  • Enhanced the neighborhood profiles workflow in pages2/Neighborhood_Profiles.py and basic_phenotyper_lib.py to allow users to export cluster comparison results as CSV files directly to the output folder, both for individual and batch (subplot) analyses. This includes capturing the computed dataframes, managing file suffixes, and providing UI buttons for saving results. [1] [2] [3] [4] [5] [6] [7] [8] [9]

  • Improved cluster list management to dynamically include "Average Left" and "Average Right" when cluster difference toggles are enabled, ensuring correct options are available throughout the workflow. [1] [2]

Average Heatmap Data Export:

  • Added an option in pages2/Tool_parameter_selection.py for users to enable saving of slide-averaged heatmap data, and propagated this setting through the workflow. The pages2/Display_average_heatmaps.py page now provides a button to zip and export all relevant heatmap data CSVs, improving downstream data accessibility. [1] [2] [3] [4] [5]

Miscellaneous Improvements:

  • Updated dashboard publishing logic to support and enforce the use of resourcesV2 in .publish-dashboards.py.
  • Minor code cleanup and import fixes, such as adding a missing import in pages2/feature_creation.py.
  • Removed obsolete or commented-out UI code to streamline the interface in pages2/Neighborhood_Profiles.py.

These changes collectively improve the reproducibility, usability, and data export capabilities of the application, making it easier for users to manage, analyze, and extract results from their workflows.

andrew-weisman and others added 24 commits August 4, 2025 23:38
… if requested, in the plot_density_pvals_simple() function.
Allow user to download slide-level (averaged over ROIs) heatmap data.
…irectory for manual transfer to NIDAP. This is because downloads are still not working in Streamlit in Code Workspaces, at least published.
quick little fix for ease
So they are accessible by the Neighborhood Profiles
Downloads are blocked on NIDAP, so this will suffice to add to the Output folder
st.write update

Co-authored-by: Copilot <[email protected]>
…-the-data-for-each-plot-in-the-subplots-section

166 export all button that exports the data for each plot in the subplots section
@djsmith17 djsmith17 requested a review from Copilot October 21, 2025 19:40
@djsmith17 djsmith17 self-assigned this Oct 21, 2025
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 updates the project for October 2025, including dependency version updates, new functionality for saving heatmap data, and improvements to the neighborhood profile visualization workflow.

  • Updated parent template version and various package dependencies in the conda environment
  • Added capability to save heatmap CSV data alongside visualizations
  • Enhanced neighborhood profile functionality with CSV export options and improved cluster comparison handling

Reviewed Changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
templateConfig.json Updated parent template version from 0.231.0 to 0.243.0
.envs/maestro/meta.yaml Comprehensive update of conda environment dependencies with specific version pinning
utils.py Added filtering to exclude CSV files from heatmaps directory listing
time_cell_interaction_lib.py Added functionality to save heatmap data as CSV files and character replacement in species names
pages2/Tool_parameter_selection.py Added UI control for enabling heatmap data saving
pages2/Run_workflow.py Integrated new save_heatmap_data parameter into workflow execution
pages2/Display_average_heatmaps.py Added UI for creating zip file of saved heatmap CSV files
pages2/Neighborhood_Profiles.py Enhanced neighborhood profile with CSV export capability and removed commented code
basic_phenotyper_lib.py Modified draw_neigh_profile_fig to return density dataframe and added cluster labels
pages2/feature_creation.py Changed dataframe display to show sampled data with resample button
pages2/multiaxial_gating.py Converted columns index to list for selectbox options
.publish-dashboards.py Added support for resourcesV2 configuration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

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.

3 participants