feat: Add Spectronaut pivot report import with condition setup, inline exp design, and gene symbol splitting#75
Open
cliandouble08 wants to merge 4 commits intomainfrom
Open
feat: Add Spectronaut pivot report import with condition setup, inline exp design, and gene symbol splitting#75cliandouble08 wants to merge 4 commits intomainfrom
cliandouble08 wants to merge 4 commits intomainfrom
Conversation
1d0147f to
b2925ec
Compare
93ad2ea to
4b12119
Compare
df4730f to
1974c52
Compare
…gene symbol splitting
- Add Spectronaut condition setup UI and server logic with inline experiment design editor
- Add gene symbol column splitting (split_gene_symbol_column) and protigy ID extraction (extract_protigy_id)
- Fix input ID sanitization: rename deliminate_id_ → delimit_id_ with gsub-based safe ID generation
- Fix shinyjs disable/enable calls to use unscopedIDs (drop ns() wrapping) for submitCSVExcelLabelsButton
- Add duplicate column name warnings in apply_spectronaut_condition_setup and buildExpDesignFromConditionSetup
- Improve find_col ambiguity handling: emit warning when multiple columns match a pattern
- Fix missing closing brace in read_uploaded_data_preview and split_gene_symbol_column (trailing newline)
- Improve roxygen docs: use \code{} in @param descriptions for apply_spectronaut_condition_setup and split_gene_symbol_column
- Remove deprecated spectronautSetupUI.Rd man page
- Bump RoxygenNote to 7.3.3 in DESCRIPTION
- Fix rhandsontable crash: set contextMenu directly on widget object to bypass broken && check in hot_table()
- Fix live preview: update data preview panel after split identifier and condition setup file import
- Fix protigy_id propagation: pass updated dataframe (with protigy_id column) to identifier selection and exp design steps
- Show all columns including protigy_id in experimental design table
- Fix cid renaming from sample_annotation: apply rename at process time, preserve original raw column names in cdesc$original_column_name
- Add original-column-name GCT export when Spectronaut condition setup renames columns
- Fix live preview not updating with sample_annotation renames during experimental design step
- Add protigy.enable_spectronaut R option in app.R to gate Spectronaut UI for internal vs. public releases
1974c52 to
e8f4299
Compare
processCSVExcelWorkflowWithPerDatasetIdentifiers now returns a third key "warnings" for surfacing sample mismatch notifications in the UI. Tests were not updated to match the new return structure.
…ut IDs - Add htmlwidgets to DESCRIPTION Imports and protigy-package.R to fix R CMD check WARNING about undeclared '::' import (was failing all 4 CI checks) - Change use_condition_setup_ checkbox and conditionalPanel to use sanitized file_id instead of raw filename, preventing JS breakage when filenames contain special characters like apostrophes - Update server-side condition_flags to match sanitized IDs
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.
Summary
.PG.Quantity,.PG.IBAQ) from pivot report columns and lets the user select which metric to keeprhandsontableeditor for CSV/Excel workflowssample_annotationcolumn in experimental design to rename sample columns to friendly names; renames are applied at process time and live-previewed as the user typescdesc$original_column_name; exports aGCT_originalColNamesfile whenever any column renaming occurredprotigy.enable_spectronautR option inapp.Rto gate the Spectronaut condition setup UI — setFALSEfor public releases without Spectronaut-specific UI,TRUEfor internal useChanges
New files:
R/sidebar_setup_helpers_spectronaut.R— Spectronaut parsing, column detection, condition setup reading, and preprocessing helpers (read_spectronaut_condition_setup,detect_quant_suffixes,apply_spectronaut_condition_setup,buildExpDesignFromConditionSetup)tests/testthat/test-spectronaut-processing.R— unit tests for Spectronaut helpersModified files:
R/sidebar_setup.R— Spectronaut upload path, inline exp design flow, identifier splitting wiring; live preview observers for split identifier, condition setup import, and sample annotation edits; fix rhandsontable crash by settingcontextMenudirectly on widget object; fixprotigy_idpropagation through identifier selection and exp design steps; show all columns (includingprotigy_id) in exp design table; apply sample annotation renames at process time and buildoriginal_cid_mapfrom the full rename chainR/sidebar_setup_helpers_csv-excel-processing.R—extract_protigy_id,classifyColumnsupdates for rhandsontable integration; per-file condition setup and ID splitting UI;createCdescacceptsoriginal_cid_mapand writescdesc$original_column_name; Spectronaut condition setup UI gated byprotigy.enable_spectronautoptionR/sidebar_setup_helpers_experimental-design.R— inline editable exp design supportR/sidebar_setup_helpers_shiny.R—gctSetupUIgains gene symbol split checkbox + separator inputR/sidebar_setup_helpers_GCT-processing.R— wiring updatesR/tab_summary.R— acceptscolumn_rename_mapreactive;GCT_original_originalColNames_export_functionhandles both Spectronaut and sample annotation rename sources, addsrenamed_column_nameto cdesc for traceabilityR/app_ui.R— exp design panel and data preview panel in sidebarapp.R—protigy.enable_spectronautfeature flag (defaultFALSE)inst/setup_parameters/setupDefaults.yaml— new default parametersinst/custom.css— word-wrap fix for long label inputsDependencies added:
rhandsontableBug fixes
Error in &&: invalid 'y' type in 'x && y'):contextMenu = list(...)passed via...tohot_table()which runsif (!is.null(contextMenu) && contextMenu)— fails for list type. Fixed by settinght$x$contextMenudirectly after widget creation.protigy_idnot visible in downstream steps: preview was never updated after label submission. Fixed by updating preview after storing the pristine copy.sample_annotation: rename was only applied in the condition file upload observer, not at "Process Files" time. Fixed by applying at process time.raw_column_names_per_labeland composed intooriginal_cid_mapat process time.Test plan
protigy_idas first column; uncheck to revertsample_annotationcolumn in exp design table — verify data preview updates live with new column namesprotigy_id) appear in the exp design tabledevtools::test()passes including new spectronaut and CSV/Excel testsdevtools::check()with no new errors/warningsoptions(protigy.enable_spectronaut = FALSE)and confirm Spectronaut checkbox is hidden; setTRUEto re-enableCloses #56