| name | omics-multiome |
| description | Single-cell multiome (paired RNA + ATAC) — MuData assembly, per-modality preprocess, joint embedding (WNN / MultiVI), joint clustering & annotation, chromatin-aware velocity (MultiVelo), eGRN (SCENIC+), cross-modal interpretation. |
| requiredTools | ["run_python","create_notebook","add_cell","observe_figure","omics_preflight","omics_runtime"] |
| evidencePolicy | required |
| outputSchema | grounded_response |
| minConfidence | medium |
| tags | ["multiome","multimodal","rna","atac","scverse","mudata","muon","single-cell"] |
| extends | omics-shared |
Single-Cell Multiome (RNA + ATAC) Analysis
Paired RNA + ATAC from the same nuclei. Reuses the scRNA and scATAC per-modality recipes, adds joint modeling. Run compute through the omics_runtime tool with modality="multiome" (dispatches into the pinned task3 env, records evidence).
Prerequisites
- Preflight:
omics_preflight(modality="multiome") must pass
- Shared foundation: Load
omics-shared first
- Data format: MuData with paired cells, or separate RNA/ATAC AnnData to assemble
- Per-modality knowledge: Familiar with the scRNA and scATAC recipes
Capability Menu
| Capability | When to Use | Documentation |
|---|
| Load & Assemble | Build validated paired MuData from various sources | method/load_multiome.md |
| Per-Modality Preprocess | Reuse P1/P3 recipes on each modality before joining | method/per_modality_preprocess.md |
| Joint Embedding | Combine modalities into one cell representation (WNN/MultiVI) | method/joint_embedding.md |
| Joint Cluster & Annotate | Cluster on joint rep; label via two routes (marker+LLM / reference) | method/joint_cluster_annotate.md |
| Multiome Velocity | Chromatin-informed RNA velocity (MultiVelo, external env) | method/multiome_velocity.md |
| eGRN & Regulation | TF→region→gene eGRN + region-gene linkage (SCENIC+, external pipeline) | method/regulation.md |
| Cross-Modal Interpretation | Modality weights (which modality drives a population); peak-gene & eGRN → regulation.md | method/cross_modality.md |
Global Rules
- Preflight first:
omics_preflight(modality="multiome") before compute
- Reuse scRNA/scATAC: Don't re-derive uni-modal steps - point to those recipes
- Ground every claim: All quantitative results →
EvidenceRecord
- Observe figures:
observe_figure on every plot before conclusions
- Earn joint embedding: Compare against single-modality baselines (ARI/NMI) - only claim improvement if measured
- Abstain over fabricate: Missing data/deps → structured blocker, not guess
- Heavy methods expensive: MultiVI/MultiVelo/SCENIC+ - start small, sanity-check, scale
- Write to workdir:
runs/omics/<id>/ for reproducibility
Container Structure
MuData with modalities under .mod:
mdata.mod['rna']
mdata.mod['atac']
mdata.obs
Per conventions (§6): counts in layers["counts"], embeddings in obsm["X_*"], clusters in obs["leiden"], labels in obs["cell_type"]
Standard Workflow
- Load/Assemble → validated MuData with shared barcodes
- Per-Modality Preprocess → RNA (QC/norm/HVG/PCA), ATAC (QC/features/embedding)
- Joint Embedding → WNN or MultiVI latent space
- Joint Cluster → Leiden on joint representation
- Annotate → marker+LLM or FM pipeline
- Cross-Modal Analysis → peak-gene links, TF activity, regulatory interpretation
Runtime Dispatch
Run compute through the omics_runtime tool with modality="multiome":
Joint embedding (WNN / MultiVI) is hand-rolled muon in run_python; velocity (MultiVelo) and eGRN (SCENIC+) run as external pipelines in isolated envs — see the method docs.