Repository navigation
Fix Celda tab feature selection and app startup with preloaded data - #806
Merged
Merged
Conversation
Both feature-selection options on the Celda tab failed. The modelGeneVar option called scranModelGeneVar(), which does not exist; it now calls runModelGeneVar(). Both options passed n = to getTopHVG(), which takes hvgNumber, and did not set useFeatureSubset = NULL, so no HVGs were computed from the stored metrics. featureDisplay = NULL keeps rownames so that the object can be subset by them. The deprecated scater::logNormCounts() call now goes through scaterlogNormCounts(). Requested by the maintainer as a separate change (AGENTS.md lists app changes as propose-only by default). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Requested by the maintainer; matches the runSoupX() change in PR B2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dropdown's value is 'SeuratFindHVG', but the server checked for 'runSeuratFindHVG', so choosing it ran no feature selection and the next step failed on the missing feature subset. The Celda workflow article now names the option as the app shows it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
singleCellTK(inSCE = sce) failed with HTTP 500 for any object without alternative experiments: ui.R called names(altExp(x)), which errors when there are none. Use altExpNames(x). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…feature-selection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found by /code-review: both HVG options replaced the app's whole dataset with the selected genes, so every other tab lost the rest. The HVGs, filtered by the count thresholds, now go only into the featureSubset altExp that Celda uses, as with the None option. NEWS notes that only the vst method of SeuratFindHVG works with Seurat 5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What changed and why
The maintainer asked for these Shiny app fixes. AGENTS.md otherwise keeps
app changes propose-only.
Celda tab feature selection. Both methods failed:
scranModelGeneVar(), which doesn't exist.It now calls
runModelGeneVar(). It also normalized with the deprecatedscater::logNormCounts(), and now usesscaterlogNormCounts()."runSeuratFindHVG",but the dropdown's value is
"SeuratFindHVG".n =togetTopHVG(), which takeshvgNumber. They now alsopass
useFeatureSubset = NULL, so the genes come from the computedmetrics, and
featureDisplay = NULL, so they come back as rownames thatcan subset the object.
other tab lost the rest (found by
/code-review). The HVGs, filtered bythe count thresholds, now go only into the
featureSubsetaltExp thatCelda uses, as with the "None" option.
vstmethod of SeuratFindHVG works. The othertwo fail inside
runSeuratFindHVG()(runSeuratFindHVG fails for dispersion and mean.var.plot with Seurat 5 #804), and NEWS says so.Starting the app with data.
singleCellTK(inSCE = sce)returned HTTP 500for any object without alternative experiments:
ui.Rcallednames(altExp(x)). It now callsaltExpNames(x).Other changes:
How it was tested
feature-selection methods; it worked. This was before the change that
keeps all genes in the main dataset, which was verified only by script
(next point).
200 × 195 main object, with 95 or 100 HVGs in
featureSubset, andrecursiveSplitModule()runs on the result.scExamplewithfeatureDisplayset:function scranModelGeneVar".
altExpNames()fix, HTTP 200 after.
because it never becomes idle in headless Chrome (Shiny app never becomes idle under shinytest2, blocking automated tests #803).
server.Rparses.Issues found while testing and left for later:
runSeuratFindHVG()fails with Seurat 5 for dispersion andmean.var.plot.
changed, by maintainer decision.
Checklist
make testpasses, andmake coveragedidn't drop. Not applicable: only
inst/shinychanged, and there isno app test suite yet (Shiny app never becomes idle under shinytest2, blocking automated tests #803).
make check-fullandmake bioccheckpass with no new errors orwarnings. Not run for this PR: only
inst/shiny, NEWS, DESCRIPTION,and an article changed. Move modelGeneVar and SoupX clustering to scrapper (results change) #800's runs covered
R/.make docsrun, if roxygen comments changed. N/A._pkgdown.yml, andmake site-checkpasses.N/A.
/code-reviewrun; findings fixed or answered./code-reviewfound three issues: one fixed here, two tracked inrunSeuratFindHVG fails for dispersion and mean.var.plot with Seurat 5 #804 and Celda tab runs Seurat vst HVG selection on normalized data instead of raw counts #805.
ADR
N/A: no structural change.
Scientific correctness
Generated content
Claude Code (Opus 5.5) wrote all of this PR. The maintainer requested the
app changes and checked them in the running app.
🤖 Generated with Claude Code