Examples of interactive complex heatmaps

htShinyExample(which)

Arguments

which

An index of which example to use. The list of all examples can be obtained by executing htShinyExample with no argument.

Details

In every example, there is a Shiny app opened, which also includes source code that generates this app.

Value

A Shiny app object.

Examples

# list all examples
htShinyExample()
#> There are following examples. Individual example can be run by e.g. htShinyExample(1.1).
#> 
#> ──────── 1. Simple examples ───────────────────────────────────────────────────────── 
#>  1.1 A single heatmap with minimal arguments.
#>  1.2 A single heatmap from a character matrix.
#>  1.3 A single heatmap with annotations on both rows and columns.
#>  1.4 A single heatmap where rows and columns are split.
#>  1.5 A list of two heatmaps.
#>  1.6 A list of two vertically concatenated heatmaps
#>  1.7 Use last generated heatmap, an example from cola package.
#>  1.8 Use last generated heatmap, an app with three interactive heatmaps
#>  1.9 Demonstrate hover, click and dblclick actions to select cells.
#>  1.10 Only response to one of click/hover/dblclick/hover events. Please use
#>       htShinyExample('1.10') to get this example (quote the index, or else
#>       htShinyExample(1.10) will be treated as the same as htShinyExample(1.1)).
#>  1.11 Interactive heatmap under compact mode.
#> 
#> ──────── 2. On other plots and packages ───────────────────────────────────────────── 
#>  2.1 A density heatmap.
#>  2.2 An oncoPrint.
#>  2.3 A UpSet plot.
#>  2.4 An interactive heatmap from pheatmap().
#>  2.5 An interactive heatmap from heatmap().
#>  2.6 An interactive heatmap from heatmap.2().
#>  2.7 A heatmap produced from tidyHeatmap package.
#>  2.8 Genome-scale heatmap.
#>  2.9 A package-dependency heatmap. You can try to control "Fill figure region"
#>      and "Remove empty rows and columns" in the tools under the sub-heatmap.
#> 
#> ──────── 3. Enriched heatmaps ─────────────────────────────────────────────────────── 
#>  3.1 A single enriched heatmap.
#>  3.2 A list of enriched heatmaps.
#>  3.3 An enriched heatmap with discrete signals.
#> 
#> ──────── 4. On public datasets ────────────────────────────────────────────────────── 
#>  4.1 An example from Lewis et al 2019.
#>  4.2 Visualize cell heterogeneity from single cell RNASeq.
#>  4.3 Correlations between methylation, expression and other genomic features.
#> 
#> ──────── 5. Shiny app development ─────────────────────────────────────────────────── 
#>  5.1 A single Shiny app with two interactive heatmap widgets.
#>  5.2 Self-define the output. The selected sub-matrix is shown as a text table.
#>  5.3 Self-define the output. Additional annotations for the selected genes are
#>      shown.
#>  5.4 Visualize Gene Ontology similarities. A list of selected GO IDs as well as
#>      their descriptions are shown in the output.
#>  5.5 Interactive correlation heatmap. Clicking on the cell generates a
#>      scatterplot of the two corresponding variables.
#>  5.6 A heatmap on Jaccard coefficients for a list of genomic regions. Clicking
#>      on the cell generates a Hilbert curve of how the two sets of genomic
#>      regions overlap.
#>  5.7 Implement interactivity from scratch. Instead of generating the whole
#>      interactive heatmap widget, it only returns the information of rows and
#>      columns that user have selected on heatmap and users can use this
#>      information to build their own interactive heatmap widgets.
#>  5.8 Implement interactivity from scratch. A visualization of 2D density
#>      distribution. Brushing on heatmap triggers a new 2D density estimation
#>      only on the subset of data.
#> 
#> ──────── 6. Dynamically generate heatmap widget in Shiny app ──────────────────────── 
#>  6.1 The matrix with different dimensions is dynamically generated.
#>  6.2 Reorder by a column that is specified by user.
#>  6.3 Dynamically generate the widget with InteractiveComplexHeatmapModal(). The
#>      modal is triggered by an action button.
#>  6.4 Dynamically select interactive heatmaps. The modal is triggered by radio
#>      buttons.
#>  6.5 Dynamically generate the widget. A customized Javascript code is inserted
#>      after the UI to change the default behavior of the action button.
#>  6.6 The widget is generated by InteractiveComplexHeatmapWidget() where the UI
#>      is directly put in the place defined by htmlOutput().
#>  6.7 The widget is generated by InteractiveComplexHeatmapWidget() and a
#>      customized Javascript code is inserted after the UI.
#> 
#> ──────── 7. Interactive R markdown document ───────────────────────────────────────── 
#>  7.1 Integrate in an interactive R Markdown document.
#>  7.2 Integrate in an interactive R Markdown document where the heatmap widgets
#>      are dynamically generated.
#> 
#> ──────── 8. Interactivate heatmaps indirectly generated by heatmap()/heatmap.2()/pheatmap()  
#>  8.1 Indirect use of pheatmap().
#>  8.2 Indirect use of heatmap.2().
#>  8.3 Two interactive heatmap widgets from indirect use of pheatmap().
#> 
#> ──────── 9. Float output UI along with mouse positions ────────────────────────────── 
#>  9.1 A simple example that demonstrates output UI floating with the three
#>      actions: hover, click and dblclick.
#>  9.2 Floating self-defined outputs.
#>  9.3 Floating output only from one event on heatmap, i.e.
#>      hover/click/dblclick/brush-output.
#> 
#> ──────── 10. Work with shinydashboard ──────────────────────────────────────────────── 
#>  10.1 Separate the three UI components into three boxes.
#>  10.2 The three UI components are draggable.
#>  10.3 A Shiny dashboard with two tabs.
#>  10.4 Only contain the original heatmap where output floats.
#>  10.5 A complex dashboard that visualizes a DESeq2 results.
#> 

if(interactive()) {
    htShinyExample(4.2)
}