Skip to content

Restore Bioconductor-compatible QScore APIs - #66

Merged
drighelli merged 13 commits into
qscore_model_spefrom
codex/bioc-compatible-qscore-api
Jul 31, 2026
Merged

Restore Bioconductor-compatible QScore APIs#66
drighelli merged 13 commits into
qscore_model_spefrom
codex/bioc-compatible-qscore-api

Conversation

@drighelli

@drighelli drighelli commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary

This restores the published QScore API contract while retaining the revised QScore implementation introduced by PRs #64 and #65.

  • adds canonical computeQScore(), computeQScoreFlags(), computeOutliersQScore(), and applyQScoreModel()
  • retains deprecated QCScore entry points and their historical output and metadata names
  • restores plotting and getModelFormula() argument compatibility
  • restores public computeLambda(trainDF, modelFormula) and moves matrix-based work to an internal helper
  • preserves valid user formulas exactly, including supported subsets and selected interactions
  • derives training-label metrics from the supported base predictors in a custom formula
  • validates the supported predictor whitelist and technology-specific border term
  • preserves model-transfer matrix column order and legacy transfer outputs
  • updates documentation, NEWS, tests, and the devel version to 1.1.9

Custom formula training labels

For a custom modelFormula, its supported base QC metrics now determine outlier computation, good/bad training-cell selection, and QScore_train, as well as the fitted model. Interactions do not add training metrics. In the CosMx border expression, log2AspectRatio is the training metric and dist_border remains an auxiliary variable.

The default modelFormula=NULL workflow, 0.1% outlier threshold, and intercept policy are unchanged.

Compatibility details

Supported formula predictors are log2SignalDensity, Area_um, log2AspectRatio, and log2Ctrl_total_ratio. The CosMx-only border expression remains technology-gated.

The intercept policy is intentionally unchanged and remains a follow-up item.

Validation

  • targeted modelFormula tests: passed
  • targeted QCScores tests: passed
  • complete devtools::test() suite: passed
  • all four vignettes rendered successfully against the checkout
  • R CMD build --no-build-vignettes: passed for version 1.1.9
  • BiocCheck::BiocCheckGitClone(): 0 errors, 0 warnings, 0 notes
  • full devtools::check(), R CMD check, and install-dependent tarball BiocCheck are blocked because the local machine has R 4.5.1 while the package correctly declares R >= 4.6.0 for current Bioconductor devel
  • before that final metadata requirement was applied, R CMD check passed examples, tests, vignettes, and the PDF manual, with one environmental dependency patch-version warning

Versioning

Version 1.1.9 assumes this branch is squash-merged. If commits are imported individually into the Bioconductor devel repository, the z component should instead be advanced per imported commit.

@drighelli
drighelli requested a review from BenedettaBanzi July 29, 2026 20:48
@drighelli drighelli assigned drisso and unassigned drisso Jul 29, 2026
@drighelli
drighelli requested review from drisso and removed request for BenedettaBanzi and drisso July 29, 2026 20:48
@drighelli
drighelli marked this pull request as ready for review July 31, 2026 21:43
@drighelli
drighelli merged commit a608da4 into devel Jul 31, 2026
10 checks passed
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