Output
Output levels
output_level = "standard" is the default. debug keeps the same final result and search trace, then adds the information needed to inspect individual candidate partitions.
Standard (default)
result
├── labels / object
├── selection
└── search_traceDebug
result
├── labels / object
├── selection
├── search_trace
└── debugStandard output
Domain labels
| Entry point | Result location | Meaning |
|---|---|---|
bcmp_embedding() | result$labels | Cell-ID-named character vector of BCMP domains. |
bcmp() on Seurat | result$object[["bcmp_domain"]] | Labels in a copied Seurat object. |
bcmp() on SCE | colData(result$object)$bcmp_domain | Labels in a copied SingleCellExperiment object. |
Final selection
result$selection describes the final partition:
| Name | Meaning |
|---|---|
selected_k | Representation scale selected by the search. |
n_domains | Number of domains in the selected partition. |
mixing_status | "pass" or "fail" for the selected partition. |
n_evaluated_domains | Domains used in the mixing decision. |
n_residual_domains / n_residual_cells | Residual domains and their active cells. |
residual_cell_frac | Fraction of active cells in residual domains. |
Search trace
result$search_trace records the k values BCMP tested to choose selected_k; each row is one tested k:
| Name | Meaning |
|---|---|
iter_id / phase / k | Evaluation order, role (k_low, k_high, or k_mid), and scale. |
mixing_status | Mixing outcome at that scale. |
n_domains / n_failed_domains / n_residual_domains | Domain counts at that scale. |
actual_residual_cell_frac | Observed active-cell fraction in residual domains. |
Debug output
Debug output explains how the search reached its final result. It retains the standard fields and adds result$debug:
debug
├── parameters
├── search
├── candidates[[k]]
│ ├── partition
│ └── domain_summary
└── workflow # object workflows only
├── hvg_genes
└── excluded_cell_ids
The parameters field records the values supplied for the run. search records the resolved k bounds and the final search outcome. Each candidates[[k]] entry corresponds to one tested k in search_trace; partition contains the cell-level domain labels, while domain_summary reports domain size, cell fraction, batch support, and mixing status.
For bcmp(), workflow records the selected hvg_genes and excluded_cell_ids; parameters records the resolved raw-count assay/layer and the supplied preprocessing settings. Debug object results write newly computed BCMP_PCA and BCMP_UMAP reductions in both Seurat v5 and SingleCellExperiment.