Skip to contents

Building apps

Core classes and entry points for assembling an ExploratorySummarizedExperimentList and turning it into a Shiny app.

ExploratorySummarizedExperiment()
ExploratorySummarizedExperiments
ExploratorySummarizedExperimentList()
ExploratorySummarizedExperimentLists, containers for ExploratorySummarizedExperiments
prepare_app()
Make UI and server functions for Shiny apps based on data supplied as modfied SummarizedExperiments
eselist_from_yaml()
Build an ExploratorySummarisedExperimentList from a YAML description
eselist_from_config()
Build an ExploratorySummarisedExperimentList from a description provided in a list

Reading and validating input

Helpers for reading matrices, metadata, contrasts and enrichment results from files, and validating them for consistency.

read_contrasts()
Read and validate a contrasts file against sample metadata
read_differential()
Read tables of differential statistics
read_gmt()
Read a GMT-format gene set file
read_matrix()
Read an expression matrix file and match to specified samples and features
read_metadata()
Read a metadata file
file_extension()
Extract the extension of a file
guess_separator()
Infer a separator from the extension of an input file
check_list_is_subset()
Check one list is a subset of another and throw an error if not
validate_indices()
Validate assay indices based on a given string.
validate_inputs()
Call the various read/ validate methods for input data surrounding an experiment
validate_or_catch()
Evaluate an expression, converting any error into a Shiny validation message
is_valid_positive_integer_vector()
Check if a comma-separated string can be parsed to an integer vector
single_valid_matrix()
Is there only one matrix to plot from this object?
has_slot_data()
Check whether a list-type slot on an S4 object is populated
build_enrichment_path()
Build path to the enrichment results
choose_grouping_variables()
Choose a valid set of grouping variables from a targets/ experiment data frame.

Matrix and statistics utilities

Functions for transforming, summarising and clustering expression matrices.

bootstrap_median()
Bootstrap the standard error of the median
col_geom_means()
Geometric means by matrix column
col_medians()
Medians by matrix column
cond_log2_transform_assays()
Conditionally apply log2 transformation on assay data based on log2_assays parameter.
cond_log2_transform_matrix()
Apply log2 transformation on a matrix.
fold_change()
Calculate fold change between two vectors
guess_foldchange_scale()
Guess whether fold change values are on a log2 or linear scale
mad_score()
Calculate MAD scores as per OmicSoft
resolve_deprecated_unlog_foldchanges()
Map the deprecated unlog_foldchanges/--unlog_foldchanges argument onto fold_change_scale, warning if it was used
resolve_foldchange_scale()
Resolve the scale of a fold-change column, cross-checking a user declaration and a column-naming convention against the observed data
run_clustering()
Partition the rows of a matrix into clusters with clara()
select_variable_genes()
Generate an integer ordering to select the n most variable genes out of a matrix
simple_split()
Convenience interface to strsplit()
summarize_matrix()
Summarise the rows of a matrix, applying a function to groups of cells defined by a factor
summary_se()
Summarise an input matrix
calculate_dist()
Calculate a distance matrix based on correlation
calculate_dendrogram()
Calculate a clustering dendrogram based on correlation
clustering_dendrogram()
Make a clustering dendrogram with coloring by experimental variable
compile_pca_data()
Run PCA on a given matrix, expected to be variance stabilised (at least log-transformed)
anova_pca_metadata()
Generate a matrix of anova values for associating principal components with categorical covariates.
interleave_columns()
Interleave the columns of two matrices of equal dimensions

Plotting functions

Standalone plotting functions reused by the Shiny modules for static and interactive output.

static_boxplot()
Make a boxplot with coloring by experimental variable
static_densityplot()
Make a static density plot with ggplot2
static_topgene_boxplots()
Make a faceted boxplot of the top differential genes in a contrast
ggplotify()
Reshape data to the way ggplot2 likes it
interactive_heatmap()
Make an interactive heatmap with heatmaply
interactive_barcodeplot()
Make an interactive gene set barcode plot with plotly
interactive_barchart()
Make a grouped, stacked or overlaid bar chart with plot_ly()
interactive_boxplot()
Make an interactive boxplot with coloring by experimental variable
interactive_cluster_profiles()
Plot expression profiles for a set of feature clusters with plot_ly()
interactive_clustering_dendrogram()
Make an interactive clustering dendrogram colored by experimental variable
interactive_count_barplot()
Plot counts of feature annotation rows by category, optionally split by a second categorical column, with plot_ly()
interactive_densityplot()
Make a dynamic density plot with plotly
interactive_illumina_control_probes()
Make an Illumina microarray control-probe QC plot with plot_ly()
interactive_pca_metadata_heatmap()
Make a PCA-vs-metadata association heatmap with heatmaply()
interactive_pca_variance_heatmap()
Combine the PCA-vs-metadata heatmap with a synced scree plot
interactive_quartiles()
Make a line-based alternative to boxplots
interactive_scatterplot()
Make scatterplots with plot_ly()
interactive_screeplot()
Make a PCA scree plot with plot_ly()
interactive_topgene_boxplots()
Make an interactive faceted boxplot of the top differential genes in a contrast
interactive_upset()
Make an UpSet-style set intersection plot with plot_ly()
static_scatterplot()
Make scatterplots with ggplot() or scatterplot3d
make_color_scale()
Make a categorical colour scale of a specified length

Identifiers, labels and gene sets

convert_ids()
Convert row names to metadata identifiers
id_to_label()
Create row labels based on the settings of labelfield in the ExploratorySummarizedExperiment object and the annotation data in mcols.
prettify_gene_set_name()
Prettify gene set names like those from MSigDB
prettify_variable_name()
Make machine variable names pretty for display
strings_to_named_vector()
Take two delimiter-separated strings and generate a named vector

Shiny UI helpers

hidden_input()
Make a hidden input field. Handy for replacing superfluous single-value selects etc
inline_field()
Wrap a Shiny input so its label is displayed inline
with_help_icon()
Append a help icon carrying a tooltip to a label

General utilities

na_replace()
Replace NAs with a string for convenience
count_lines()
Count the number of lines in a string
push_to_list()
Simple list push
split_string_to_fixed_width_lines()
Given a string with spaces, try to split into multiple lines of < linewidth characters
capitalize_first()
Capitalise the first letter of a string

Internal (Shiny module implementation)

Shiny module UI/server function pairs and other internal helpers that back the modules above. These aren’t part of the public API and are listed here only so the reference index build succeeds; see the package vignette for the supported way to build and combine modules.

COLORBLIND_PALETTE
shinyngs' fixed categorical colour palette
ExploratorySummarizedExperiment-class
The ExploratorySummarizedExperiment class
`[`(<ExploratorySummarizedExperimentList>,<ANY>,<missing>,<ANY>) `[`(<ExploratorySummarizedExperimentList>,<numeric>,<missing>,<ANY>) `[`(<ExploratorySummarizedExperimentList>,<logical>,<missing>,<ANY>)
The ExploratorySummaizedExperimentList class
a11yControl()
Give a terse control an accessible name and a hover/focus tooltip
addColorbyMenu()
Colour points by a chosen variable, with a plotly dropdown to switch it
addColoredPoints()
Colour points by a single variable, highlighting labelled rows
addPoints()
Add points to a plotly object
addTextLabels()
Add permanent text labels to points in a plotly graph
adjustLayout()
Apply layout adjustments to plotly object
annotateDifferentialTable()
Annotate a differential-scatter table with colorby and label columns
assaydatatable()
The server function of the assaydatatable module
assaydatatableInput()
The UI input function of the assaydatatable module
assaydatatableOutput()
The output function of the assaydatatable module
barplot()
Server function of the barplot module
barplotInput()
Input function of the barplot module
barplotOutput()
Output function of the barplot module
bookmarkedInputValue()
Read a bookmarked input value from a restore state
box_summary()
Summarise a vector into the statistics a box plot needs
boxplot()
The server function of the boxplot module
boxplotInput()
The input function of the boxplot module
boxplotOutput()
The output function of the boxplot module
calculatePCAFractionExplained()
Extract the percent variance from a PCA analysis
cardinalNumericField()
Make a numeric field with selectable associated cardinality (>, < ..).
categorycountplot()
The server function of the categorycountplot module
categorycountplotInput()
The input function of the categorycountplot module
categorycountplotOutput()
The output function of the categorycountplot module
chipseq()
The server function of the chipseq module. Currently a near-clone of the RNA-seq module, with ChIP-seq optimisations planned.
chipseqInput()
The input function of the chipseq module. Currently a near-clone of the RNA-seq module, with ChIP-seq optimisations planned.
clustering()
The server function of the clustering module
clusteringInput()
The input function of the clustering module
clusteringOutput()
The output function of the clustering module
colormaker()
The output function of the colorby module
colormakerInput()
The input function of the colorby module
combinedAnnotationColors()
Build one shared color palette across every value in an annotation data frame
compile_contrast_data()
Compile contrast stats for inclusion in shinyngs
configureBookmarking()
Configure URL bookmarking for the top-level session
contrasts()
The server function of the contrasts module
contrastsInput()
The input function of the contrasts module
contrastsOutput()
The output function of the contrasts module
defaultGroupvar()
Resolve the default grouping variable for an experiment list
dendro()
The server function of the dendrogram module
dendroInput()
The input function of the dendrogram module
dendroOutput()
The output function of the dendro module
detailSamples() detailFeatures() detailAssays() detailGroups() detailContrasts() detailGenesets()
Detail-drawer builders, one per tile
dexseqplot()
The server function of the dexseqplot Shiny module
dexseqplotInput()
The UI input function of the dexseqplot Shiny module
dexseqplotOutput()
The UI output function of the dexseqplot Shiny module. Produces a plot and a table of values.
dexseqtable()
The server function of the dexseqtable module
dexseqtableInput()
The UI input function of the dexseqtable module
dexseqtableInputFields()
Make input fields for producing a table of differential exon usage. Separated here for re-use by the dexseqplot module
dexseqtableOutput()
The output function of the dexseqtable module
differentialscatterInput()
Shared UI input scaffolding for the differential-scatter plot modules
differentialscatterLogic()
Shared server logic for the differential-scatter plot modules
differentialscatterOutput()
Shared output scaffolding for the differential-scatter plot modules
differentialtable()
The server function of the differentialtable module
differentialtableInput()
The UI input function of the differentialtable module
differentialtableOutput()
The output function of the differentialtable module
drawLines()
Overlay lines on a plotly-generated plot
evaluateCardinalFilter()
Evaluate a vector of values with respect to a limit and a cardinality, being '>', '<' , '> or <-' (e.g. a fold change above a limit in + or - directions), or '< and >-' (not a above a limit in + or -).
experimenttable()
The server function of the experimenttable module
experimenttableInput()
The UI input function of the experimenttable module
experimenttableOutput()
The output function of the experimenttable module
fieldSets()
Create sets of fields for display
finiteAxisRange()
Finite x/y bounds of a differential-scatter table
fixedEffectsModelMatrix()
Build a model matrix from the fixed-effects part of a formula
foldchangeplot()
The server function of the foldchangeplot module
foldchangeplotInput()
The UI input function of the foldchangeplot module
foldchangeplotOutput()
The output function of the foldchangeplot module
gene()
The server function of the gene module
geneBarplot()
Main function for drawing the bar plot with plotly
geneInput()
The input function of the gene module
geneModelBiotypeColors()
Default color table for Ensembl transcript biotypes, used to color the full transcript catalog track loaded by the gene module's gene model view
geneModelGenomeInfo()
Map an Ensembl species name to an igv.js genome build and, where known, a hosted Ensembl GFF3 annotation for that build
geneOutput()
The input function of the gene module
geneselect()
The server function of the geneselect module
geneselectInput()
The UI input function of the geneselect module
genesetanalysistable()
The server function of the genesetanalysistable module
genesetanalysistableInput()
The UI input function of the genesetanalysistable module
genesetanalysistableOutput()
The output function of the genesetanalysistable module
genesetbarcodeplot()
The server function of the genesetbarcodeplot module
genesetbarcodeplotInput()
The UI input function of the genesetbarcodeplot module
genesetbarcodeplotOutput()
The output function of the genesetbarcodeplot module
genesetselect()
The server function of the genesetselect module
genesetselectInput()
The UI function of the genesetselect module
groupby()
The server function of the groupby module
groupbyInput()
The UI function of the groupby module
heatmap()
The server function of the heatmap module
heatmapInput()
The input function of the heatmap module
heatmapOutput()
The output function of the heatmap module
homeNavTargets()
Shared tab-panel values targeted from the landing page
homeTab()
Build the landing ("Home") tab for a full shinyngs application
illuminaarray()
The server function of the illuminaarray module
illuminaarrayInput()
The input function of the illuminaarray module
illuminaarrayqc()
The server function of the illuminaarrayqc module
illuminaarrayqcInput()
The input function of the illuminaarrayqc module
illuminaarrayqcOutput()
The output function of the illuminaarrayqc module
labelMatrix()
Add columns to display ID and label in a table
labelselectfield()
The server function of the labelselectfield module
labelselectfieldInput()
The input function of the labelselectfield module
linkMatrix()
Add links to a table
makeContrastControl()
Make a select field for picking one or more contrasts
makeContrastFilterSet()
Make a complete set of filters for a contrast: the contrast itself, fold change, and where applicable p- and q- values.
maplot()
The server function of the maplot module
maplotInput()
The UI input function of the maplot module
maplotOutput()
The output function of the maplot module
modalInput()
The input function for the modal module
modalServer()
The server function of the modal module
moduleLayout()
Lay out a module's controls beside its output
moduleMain()
Assemble a module's main-panel content
navLink()
Build a link that activates a navbar tab client-side
pca()
The server function of the pca module
pcaInput()
The input function of the pca module
pcaOutput()
The output function of the pca module
pcLabels()
"PC1", "PC2", ... labels for the leading n components
plotdownload()
The server function of the gene set module
plotdownloadInput()
The input function of the gene plotdownload module
readreports()
Server function of the readreports module
readreportsInput()
Input function of the readreports module
readreportsOutput()
Output function of the readreports module
rnaseq()
The server function of the rnaseq module
rnaseqInput()
The input function of the rnaseq module
rowmetatable()
The server function of the rowmetatable module
rowmetatableInput()
The UI input function of the rowmetatable module
rowmetatableOutput()
The output function of the rowmetatable module
runPCA()
Run a simple PCA analysis
sampleselect()
The server function of the sampleselect module
sampleselectInput()
The UI input function of the sampleselect module
scatterplot()
Server function for the scatterplot module
scatterplotInput()
Input function for the scatterplot module
scatterplotOutput()
Output function for the scatterplot module
scatterplotcontrols()
Server function for scatterplotcontrols module
scatterplotcontrolsInput()
Input function for scatterplotcontrols module
selectFoldchangeLines()
Select which fold change plot threshold lines to draw
selectMaLines()
Select which MA plot threshold lines to draw
selectVolcanoLines()
Select which volcano plot threshold lines to draw
selectmatrix()
The server function of the selectmatrix module
selectmatrixInput()
The UI input function of the selectmarix module
shinyngs-package shinyngs
Interactive downstream analysis with ShinyNGS.
shinyngsPageNavbar()
Build the top-level bslib page shell shared by the app modules
shinyngsPlotlyConfig()
Apply shinyngs' shared plotly toolbar configuration
shinyngsSpinnerColor()
Accent colour for loading spinners
simpleApp()
Produce a simple app with controls and layout for a single module, in a shiny sideBarLayout().
simpletable()
The server function of the simpletable module
simpletableInput()
The UI input function of the simpletable module
simpletableOutput()
The output function of the simpletable module
simplifyContrastTable()
Simplify a contrast table
splitAnnotationLegend()
Replace heatmaply's combined annotation legend with one split by variable
summarisematrix()
The server function of the summarisematrix module
summarisematrixInput()
The input function of the summarizematrix module
summaryTileSpecs()
Assemble the summary tile specifications for an experiment list
summaryTileTag()
Build a single clickable summary tile
summarytiles()
The server function of the summarytiles module
summarytilesInput()
The UI input function of the summarytiles module
summarytilesOutput()
The output function of the summarytiles module
topgeneAnnotationData()
Build the per-facet annotation data frame used by static_topgene_boxplots
topgeneAnnotationVector()
Build a per-gene annotation vector, in genes order, for interactive_topgene_boxplots
topgeneboxplot()
The server function of the topgeneboxplot module
topgeneboxplotInput()
The input function of the topgeneboxplot module
topgeneBoxplotData()
Reshape an assay matrix into long form for static_topgene_boxplots
topgeneBoxplotLayout()
Compute the total plot height and inter-row margin fraction needed to lay out n_genes faceted boxplots over ncol columns without rows overlapping
topgeneboxplotOutput()
The output function of the topgeneboxplot module
topgeneRankOptions()
Ranking options from topgene_rank_options whose contrast-table column is actually present
topgeneTransformAssay()
Log2-transform an assay matrix and subset/order it to the requested genes
upset()
The server function of the upset module
upsetInput()
The input function of the upset module
upsetOutput()
The output function of the upset module
upset_calculate_intersections()
Compute set intersections and sizes for an UpSet-style plot
upset_filter_intersections_by_order()
Drop intersections involving fewer than a minimum number of sets
upset_grid_plot()
Make the grid of points indicating set membership in intersections
upset_intersect_size_chart()
Make the bar chart illustrating intersect size
upset_set_size_chart()
Make the bar chart illustrating set sizes
validateFormulaBasedContrast()
Validate a formula-based contrast string against fixed-effect coefficients
volcanoplot()
The server function of the volcanoplot module
volcanoplotInput()
The UI input function of the volcanoplot module
volcanoplotOutput()
The output function of the volcanoplot module