Write a manuscript-style results summary from stored analysis outputs
Source:R/interpretation.R
sn_write_results.RdWrite a manuscript-style results summary from stored analysis outputs
Usage
sn_write_results(
object,
cluster_de_name = NULL,
contrast_de_name = NULL,
enrichment_name = NULL,
cluster_col = "seurat_clusters",
background = NULL,
output_format = c("llm", "human"),
provider = NULL,
model = NULL,
return_prompt = FALSE,
store_name = "default",
return_object = TRUE,
...
)Arguments
- object
A
Seuratobject.- cluster_de_name
Optional stored cluster-marker result.
- contrast_de_name
Optional stored contrast or pseudobulk result.
- enrichment_name
Optional stored enrichment result.
- cluster_col
Metadata column containing cluster labels.
- background
Optional study-specific background information to provide additional interpretation context.
- output_format
One of
"llm"for a model-ready prompt bundle or"human"for a human-readable summary.- provider
Optional model provider function.
- model
Optional model identifier.
- return_prompt
If
TRUE, return the prompt bundle without calling the provider.- store_name
Name used under
object@misc$interpretation_results.- return_object
If
TRUE, return the updated Seurat object.- ...
Additional arguments forwarded to
provider.
Examples
if (requireNamespace("Seurat", quietly = TRUE)) {
counts <- matrix(rpois(10 * 24, lambda = 1), nrow = 10, ncol = 24)
rownames(counts) <- c(
"CD3D", "CD3E", "TRAC", "LTB", "MS4A1",
"CD79A", "HLA-DRA", "LYZ", "ACTB", "MALAT1"
)
colnames(counts) <- paste0("cell", 1:24)
obj <- sn_initialize_seurat_object(counts, species = "human")
obj$cell_type <- rep(c("Tcell", "Bcell"), each = 12)
Seurat::Idents(obj) <- obj$cell_type
obj <- Seurat::NormalizeData(obj, verbose = FALSE)
obj <- sn_find_de(obj, analysis = "markers", group_by = "cell_type",
layer = "data", min_pct = 0, logfc_threshold = 0,
store_name = "celltype_markers", return_object = TRUE, verbose = FALSE
)
obj <- sn_store_enrichment(
obj,
tibble::tibble(ID = "GO:0001", Description = "immune response", NES = 2, p.adjust = 0.01),
store_name = "demo_gsea"
)
prompt <- sn_write_results(
obj,
cluster_de_name = "celltype_markers",
enrichment_name = "demo_gsea",
cluster_col = "cell_type",
return_prompt = TRUE
)
prompt$task
}
#> INFO [2026-03-26 18:52:44] Initializing Seurat object for project: Shennong.
#> INFO [2026-03-26 18:52:44] Running QC metrics for human.
#> INFO [2026-03-26 18:52:44] Seurat object initialization complete.
#> Warning: No DE genes identified
#> [1] "results"