Skip to content

multiomeR 1.3.1

Latest

Choose a tag to compare

@koefoeden koefoeden released this 21 Oct 12:22
· 5 commits to main since this release

multiomeR 1.3.1 corrects Harmony with several covariates and fixes two problems in the differential analyses. It also corrects the manual where it no longer matched the code. Results change only for aggregations that set several Harmony covariates or a count model with a one-column design. A feature model that pools several cell types without a donor term now stops. Coming from 1.2.x, also follow the 1.3.0 notes.

What you need to do

  1. Update to this release. Releases tag stable, validated commits, so update to the tag rather than pulling main, which can carry development work that is not yet validated. This release needs Pixi 0.82.1 or later, so run pixi self-update first if pixi --version shows an older one. Commit or stash local changes first, and resolve any merge conflicts as usual. While no other R process uses the environment, run:

    cd multiomeR  # your clone
    git fetch origin tag v1.3.1
    git merge --ff --no-edit v1.3.1
    pixi install --locked --run-post-link-scripts
    pixi run --use-environment-activation-cache install-r-github-packages

    The environment is unchanged since 1.3.0.

  2. Give feature models over several cell types a donor term. A model in differential_analyses_pseudobulk_models tests all cell types together unless its cell_type_subset names exactly one. One donor's pseudobulks of different cell types are not independent replicates. Such a model therefore stops the module's models target, unless it sets a paired cell-type design (cell_type_formula with pairing_variable) or a random_effect. To test each cell type on its own, give each model a single cell_type_subset. Before, only a formula that named cluster was refused.

  3. Coming from 1.2.x? Also follow steps 2 to 8 of the 1.3.0 notes.

What happens to your aggregations

  • Harmony embeddings rerun. With one covariate or none, as in the example configurations, they reproduce their values, so nothing downstream reruns. With several covariates, the embeddings and everything downstream change.
  • The differential analyses' models and feature_matrix_fit targets rerun. Configured models reproduce their fits, except count models with a one-column design, whose results change.
  • The Seurat/Signac exports rerun to record the corrected residual label. Their data are unchanged.

What changed

Fixes

  • Harmony with several covariates: each covariate is now corrected as its own batch variable, as Harmony 2.0.5 allows. Before, each observed combination, such as a GEM well and a sex, was one batch, which made many small batches. On a synthetic embedding with well and sex shifts, the remaining well and sex R² fell from 0.014 to 0.004 and from 0.008 to 0.0002.
  • Pooled cell types: a feature model over several cell types needs a donor term, as step 2 describes. Before, its cell types' pseudobulks counted as independent replicates unless the formula named cluster.
  • One-column count designs, such as ~ 0 + x, are filtered, TMM-normalised and fitted with voom, like other count designs. Before, limma fitted their raw counts without filtering or normalisation, since edgeR's tests need two design columns.
  • Seurat export: the BPCells_native GEX export labels its Pearson residuals as clipped at plus or minus the square root of the number of PCA nuclei, as the code clips them, instead of [-10, 10].

Documentation

  • Methods statements that no longer matched the code are corrected. For example, the WNN cell set restricts neighbours without recomputing them, cellsnp-lite thresholds are per-GEM-well defaults, and SCAVENGE uses a shared-nearest-neighbour graph from the WNN neighbours.
  • Module requirements are corrected: peak–gene tests need at least eight donors with 40 nuclei of a cell type, and abundance models test cell types found in at least half of the donors. The extended donor table replaces the aggregation's, so it must hold every model variable.
  • scDblFinder and SCAVENGE are cited where each methods page first names them, and each methods sentence has its own line.
  • The test-suite description, the gallery paths and the configuration README are corrected.

Development

  • Helpers that no target uses leave the pipeline's helpers: render_figures() is removed, and the cell-level UCell scorers move next to the parity comparisons and the annotation diagnostics. No target reruns.
  • Agents run worktree commands through the main checkout's Pixi manifest, since Pixi 0.82 rejects a worktree's .pixi link to that environment. AGENTS.md gains sections on validation and new tests and on GitHub destinations.
  • The release validation is recorded in VALIDATION-1.3.1.md.