Repository navigation
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
-
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 runpixi self-updatefirst ifpixi --versionshows 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.
-
Give feature models over several cell types a donor term. A model in
differential_analyses_pseudobulk_modelstests all cell types together unless itscell_type_subsetnames exactly one. One donor's pseudobulks of different cell types are not independent replicates. Such a model therefore stops the module'smodelstarget, unless it sets a paired cell-type design (cell_type_formulawithpairing_variable) or arandom_effect. To test each cell type on its own, give each model a singlecell_type_subset. Before, only a formula that namedclusterwas refused. -
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'
modelsandfeature_matrix_fittargets 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
.pixilink 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.