Skip to contents

Add a group of cells to a highlight page: a confirmed selection, or cells an agent or notebook names.

Usage

cellucid_highlight_cells(viewer, cells, color, label, page, tool = "annotation")

Arguments

viewer

A viewer cellucid_view() or cellucid_serve() returned.

cells

Cells: 1-based positions, TRUE/FALSE for every cell, or the cell names of the object the viewer shows, each once (sent as original positions). Required.

color

The colour of the page the group goes on. With page, the colour of the page made (an existing page must already have it). Without, the page shown when it has this colour, else the first page that has it, else a new page of it. Text. Left out unless given (the viewer then chooses as its own control does).

label

The group's label; omitted, "Highlight (N cells)". A label already on the page gets " (2)", " (3)", .... Text (at least 1 character). Left out unless given (the viewer then chooses as its own control does).

page

The page the group goes on, by name; a page of that name is made when there is none. Omitted: the page shown, or with color, a page of that colour. Text (at least 1 character). Left out unless given (the viewer then chooses as its own control does).

tool

The selection tool that made the cells (annotation for cells named directly). One of "annotation", "lasso", "proximity", "knn". Default "annotation", the viewer's own.

Value

A cellucid_action_request, at once and invisibly: the action is sent now, or when the viewer's channel opens. cellucid_action_result(request) returns its outcome (what it did, as names, counts and ids), or NULL when it had nothing to report; request$step is the history step it made.

Details

The viewer's action highlight.cells (Highlights). It changes the viewer's state: one step of the viewer's history, labelled as R's, undone like any other. The state it can change: highlights.

See also

cellucid_act() sends any action by its type, and cellucid_action_result() collects its answer.

Examples

if (interactive() && requireNamespace("SeuratObject", quietly = TRUE)) {
  data("pbmc_small", package = "SeuratObject")
  viewer <- cellucid_view(SeuratObject::UpdateSeuratObject(pbmc_small))
  request <- cellucid_highlight_cells(viewer, cells = c(1,
      2, 3))
  print(request)
  # cellucid_action_result(request) waits for its outcome.
  cellucid_stop(viewer)
}