The ColumnDotPlot is a virtual class where each column in the SummarizedExperiment is represented by no more than one point (i.e., a “dot”) in a brushable ggplot plot.
It provides slots and methods to extract colData
fields to control the per-point aesthetics on the plot.
This panel will transmit column identities in both its single and multiple selections, and it can receive multiple column selections but not multiple row selections.
Slot overview
The following slots control coloring of the points:
ColorByColumnData
, a string specifying thecolData
field for controlling point color, ifColorBy="Column data"
(see the Panel class). Defaults to the first valid field (see.cacheCommonInfo
below).ColorByFeatureNameAssay
, a string specifying the assay of the SummarizedExperiment object containing values to use for coloring, ifColorBy="Feature name"
. Defaults to"logcounts"
ingetPanelDefault
, falling back to the name of the first valid assay (see?".cacheCommonInfo,DotPlot-method"
for the definition of validity).ColorBySampleNameColor
, a string specifying the color to use for coloring an individual sample on the plot, ifColorBy="Sample name"
. Defaults to"red"
ingetPanelDefault
.
The following slots control other metadata-related aesthetic aspects of the points:
ShapeByColumnData
, a string specifying thecolData
field for controlling point shape, ifShapeBy="Column data"
(see the Panel class). The specified field should contain categorical values; defaults to the first such valid field.SizeByColumnData
, a string specifying thecolData
field for controlling point size, ifSizeBy="Column data"
(see the Panel class). The specified field should contain continuous values; defaults to the first such valid field.TooltipColumnData
, a character vector specifyingcolData
fields to show in the tooltip. Defaults to `character(0)`, which displays only the `colnames` value of the data point.
In addition, this class inherits all slots from its parent DotPlot and Panel classes.
Supported methods
In the following code snippets, x
is an instance of a ColumnDotPlot class.
Refer to the documentation for each method for more details on the remaining arguments.
For setting up data values:
.cacheCommonInfo(x)
adds a"ColumnDotPlot"
entry containingvalid.colData.names
, a character vector of names of columns that are valid (i.e., contain atomic values);discrete.colData.names
, a character vector of names for columns with discrete atomic values; andcontinuous.colData.names
, a character vector of names of columns with continuous atomic values. This will also call the equivalent DotPlot method..refineParameters(x, se)
replacesNA
values inColorByFeatAssay
with the first valid assay name inse
. This will also call the equivalent DotPlot method.
For defining the interface:
.hideInterface(x, field)
returns a logical scalar indicating whether the interface element corresponding tofield
should be hidden. This returnsTRUE
for row selection parameters ("RowSelectionSource"
and"RowSelectionRestrict"
), otherwise it dispatches to the Panel method.
For monitoring reactive expressions:
.createObservers(x, se, input, session, pObjects, rObjects)
sets up observers for all slots described above and in the parent classes. This will also call the equivalent DotPlot method.
For controlling selections:
.multiSelectionRestricted(x)
returns a logical scalar indicating whetherx
is restricting the plotted points to those that were selected in a transmitting panel..multiSelectionDimension(x)
returns"column"
to indicate that a multiple column selection is being transmitted..multiSelectionInvalidated(x)
returnsTRUE
if the faceting options use multiple column selections, such that the point coordinates/domain may change upon updates to upstream selections in transmitting panels..singleSelectionDimension(x)
returns"sample"
to indicate that a sample identity is being transmitted.
For documentation:
.definePanelTour(x)
returns an data.frame containing the steps of a tour relevant to subclasses, mostly tuning the more generic descriptions from the same method of the parent DotPlot..getDotPlotColorHelp(x, color_choices)
returns a data.frame containing the documentation for the"ColorBy"
UI element, specialized for column-based dot plots.
Unless explicitly specialized above, all methods from the parent classes DotPlot and Panel are also available.
Subclass expectations
Subclasses are expected to implement methods for, at least:
The method for .generateDotPlotData
should create a plot.data
data.frame with one row per column in the SummarizedExperiment object.
See also
DotPlot, for the immediate parent class that contains the actual slot definitions.