Repository navigation
multiomeR 1.2.1
multiomeR 1.2.1 lowers the memory requirement from 60 GB to 32 GB of RAM, labels the brain_mouse example with embryonic marker sets, and fixes the UMAP parameter sweeps on large aggregations. The results of your aggregations do not change: existing stores stay current apart from a few plots.
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. Commit or stash local changes first; resolve any merge conflicts as usual. While no other R process uses the environment, run:cd multiomeR # your clone git fetch origin tag v1.2.1 git merge --ff --no-edit v1.2.1 pixi install --locked --run-post-link-scripts pixi run --use-environment-activation-cache install-r-github-packages
Nothing else is required: the environment and the parameter schema are unchanged.
-
Coming from 1.1.0? Also follow steps 2 to 6 of the 1.2.0 notes. They now include the rename of AMULET's fragment-count column from
nFragstoamulet_nFrags, which 1.2.0 made like the other AMULET columns but its notes first omitted.
What happens to your aggregations
- Existing stores stay current. Resource requests, controllers and target descriptions do not invalidate targets.
- Only plots rebuild. The GEX and ATAC UMAP sweeps (
cross.UMAPs.3_GEX_QC,cross.UMAPs.7_ATAC_QC) andTRS_cluster_summary_plotrerun with new plots.UMAP_embeddings_tibble.GEX,.GEX_non_harmonyand.ATACrerun and reproduce their values. brain_mouserebuilds from its marker lists onward.- In
configuration_dev/, only targets ofpipeline_manuscript_figures/targets.Rrerun: Figure 1 panels A and C–E with its plot and data, and the Table S4 writer.figure_1_traits,supplementary_table_S3andsupplementary_figure_S3are new.
What changed
Memory requirement
- Each target's
get_tar_resources()request is about 1.5 times the peak memory it reached on aggregations of 213,000 and 713,000 nuclei, in 16- and 32-GB steps. With the default GEX backend, no target requests more than 32 GB, against 49 requests of 40 or 60 GB before; the largest targets need about 7 GB plus 2.5 GB per 100,000 nuclei. Unmeasured targets request at most 32 GB. - GEX normalization and the two Seurat objects request 60 GB only when an aggregation of the configuration uses the optional
Seurat_SCTGEX backend, whose GEX normalization needs about 0.25 GB per 1,000 nuclei. - The default
local-heavycontroller is declared with 32 GB, and a newlocal-largecontroller (6 cores, 60 GB, one worker) takes those requests. A customcrew_controllers.Rneeds a tier of at least 60 GB only for aggregations that useSeurat_SCT. - Built from an empty store in a 16-CPU Slurm job limited to 32 GiB, the demo's processes used at most 17 GiB.
- Target descriptions record the measurements behind the requests as
[resource_observation: ...]tags. A target may carry several, and the manual suggests common keys.
Examples
- The inactive
brain_mouseexample (10x Genomics' E18 mouse brain) has embryonic marker sets: radial glia, intermediate progenitors, upper- and deep-layer and hippocampal excitatory neurons, and inhibitory neurons. The adult glial sets left every WNN cluster unassigned; the new sets label these populations, leaving at most a small mixed cluster unassigned, and its ATAC marker TFs follow.
Fixes
- The GEX and ATAC cross-parameter UMAP sweeps run over the first n configured UMAP components, so the ATAC sweep no longer includes the LSI depth component and its largest setting matches the main UMAP. They are initialized with spectral PCA (
init = "spca"), because uwot's default spectral initialization could crash on embeddings of several hundred thousand nuclei. - The SCAVENGE TRS interval plot uses at most four facet columns, fewer for more than 30 groups, so its width stays within the 50,000-pixel image limit.
Manuscript results
- Figure 1C shows the cell-type enrichments at q < 0.05 that rest on many loci (top locus below half of the signal, at least 20 effective weighted peaks), one per study and per cell type and trait category, with stars at q < 0.05; panels D and E show LDL cholesterol in hepatocytes and colorectal cancer in colonocytes. Trait names are in sentence case, and panel A names its cell type as a plural noun.
- New Supplementary Figure S3 shows every tested study's cell-type deviations on Figure 1C's scale, and Supplementary Table S3 is generated from the stored GWAS inputs of
mixed_human_31x. - Supplementary Figure S2's reserved CPU and RAM are computed from the worker sizes of the measured runs, recorded in
seurat_signac_comparison_allocations.tsv, so later request changes leave them unchanged. - The Table S4 data leave out the compute node's name.
- The manuscript figure helpers wrap patchwork panels with
patchwork::wrap_elements(), so their legends and labels are measured on the saving device and no longer overlap or clip.
Development
- Agents start long pipeline drivers detached and follow their log, since an agent tool's time limit stops the driver and its running targets.