Skip to content

feat: DE summary table & volcano protein searching and labeling#76

Merged
nmclark2 merged 15 commits intomainfrom
de-summary-volcano
Apr 6, 2026
Merged

feat: DE summary table & volcano protein searching and labeling#76
nmclark2 merged 15 commits intomainfrom
de-summary-volcano

Conversation

@cliandouble08
Copy link
Copy Markdown
Collaborator

@cliandouble08 cliandouble08 commented Mar 31, 2026

Summary

Changes

New files:

  • tests/testthat/test-volcano-labeling.R — unit tests for volcano search/labeling helpers

Modified files:

  • R/tab_stat_summary.R — DE summary table with export support
  • R/tab_stat_plot.R — protein search input, POI checkbox, interactive plotly volcano
  • R/tab_stat_plot_helpers.Rget_volcano_cols, build_volcano_df, parse_protein_search_input, label/annotation helpers
  • R/tab_export.R — improved export notification UX (only shows error list when errors exist)

Dependencies added: ggrepel, plotly functions (add_annotations, event_data, event_register, layout)

Minor Updates (Chore)

  • Simplifies the notification for successful export to only show failed exports
  • Update ggplot2 linewidth call to avoid syntax warnings

Test plan

  • Load a dataset, go to Statistics Summary tab and verify DE summary table renders and can be exported
  • Go to Statistics Plot tab, search for a protein by name and verify it gets highlighted/labeled on the volcano
  • Toggle POI checkbox and verify label behavior
  • Hover over points on the interactive volcano and verify tooltips work
  • Verify devtools::test() passes including new volcano labeling tests
  • Run devtools::check() with no new errors/warnings

Closes #57, Closes #66

nmclark2 and others added 2 commits March 31, 2026 11:56
Updated example data and tested that this works.
Add a DE summary table to the Statistics Summary tab showing the number
of differentially expressed features per comparison. Includes export
support and improved export notification UX.
@cliandouble08 cliandouble08 marked this pull request as draft March 31, 2026 16:25
nmclark2 and others added 3 commits March 31, 2026 12:33
E.g. filter species to homo sapiens only
…ano plot

Add protein search input with POI labeling on volcano plots using
ggrepel for label placement and plotly for interactivity. Includes
comprehensive unit tests for volcano helpers.

chore(gitignore): add worktrees, firebase-debug.log, docs
@cliandouble08 cliandouble08 marked this pull request as ready for review March 31, 2026 19:15
@cliandouble08 cliandouble08 requested a review from nmclark2 March 31, 2026 19:15
@cliandouble08 cliandouble08 self-assigned this Mar 31, 2026
@cliandouble08 cliandouble08 added the enhancement New feature or request label Mar 31, 2026
nmclark2 added 3 commits April 1, 2026 16:01
also fixes a multiome heatmap bug
Fixed original GCT containing gene symbol mapping columns when it should not and some issues retaining gene symbol settings when going back to setup
@nmclark2
Copy link
Copy Markdown
Collaborator

nmclark2 commented Apr 2, 2026

I merged my branch into this which adds the additional improvements:

  • Filter samples (columns) by a selected cdesc annotation (e.g. QC.status)
  • Filter features (rows) by a selected rdesc annotation (e.g. Species)
  • Implement mapping from protein IDs to gene symbols
  • Fixes some bugs with the multiome heatmap, original GCT having some rdesc changes, and saving gene symbol column settings when returning to setup.

@nmclark2 nmclark2 merged commit 39d9f3d into main Apr 6, 2026
4 checks passed
@nmclark2 nmclark2 deleted the de-summary-volcano branch April 6, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

2 participants