Skip to content

Next Generation Clustered Heat Map

M. Brown edited this page Mar 20, 2019 · 17 revisions

INTRO

NextGenHeatMap is used to create highly interactive heat maps for visualization of large scale single-cell RNA-seq data using Next Generation Clustered Heat Maps (NG-CHM). Easy to use navigational tools allow users to view the entire heat map, as well as pan across or focus on a smaller portion of the map. This ability allows for a deeper exploration of large scale data not possible with generic heat maps. Features of NG-CHM include a search box for locating any entry in the heat map, informative linkouts for genes, ability to save the heat map as a PDF, and customizable heat map properties. When running NextGenHeatMap with inferCNV, a heat map is returned as the file infercnv.ngchm. The heat map is viewable through the standalone NG-CHM Heat Map Viewer.

Outline

Installation

In order to create the NG-CHM file, the R library infercnvNGCHM along with NGCHM needs to be installed. The tsvio package should be installed before the NGCHM package. NGCHM can be installed by running the following command from within R:

install.packages("devtools")
devtools::install_github("broadinstitute/infercnvNGCHM")
devtools::install_github("bmbroom/tsvio")
devtools::install_github("bmbroom/NGCHMR", ref="stable")

Additional R packages necessary to create the heatmap include ape and RcolorBrewer.

Javascript needs to be enabled and the java application ShaidyMapGen.jar needs to be downloaded. The pathway to ShaidyMapGen.jar is required and can either be passed passed to the argument path_to_shaidyMapGen in inferCNV or set as an environmental variable in .Rprofile or .Renviron as SHAIDYMAPGEN.

In order to view the infercnv.ngchm file, the Standalone NG-CHM Viewer can be accessed through the following link.

Requirements

Running

To create a Next Generation Clustered Heat Map, inferCNV should be ran with the function ngchm(). The NGCHM library should also be loaded.

library(NGCHM)
ngchm(infercnv_obj          = Object created by inferCNV,
       out_dir              = Directory to output the heat map file,
       path_to_shaidyMapGen = Pathway to the java application ShaidyMapGen.jar
       gene_symbol          = Option to add linkouts)

Running this function returns the heat map file as infercnv.ngchm.

Viewing heat map

The NG-CHM heat map file is viewable using the Standalone NG-CHM Viewer. From the standalone viewer, the infercnv.ngchm file can be uploaded by clicking on the Choose File button (A) in the top left of the viewer. Once opened, the heat map should appear. The left side of the screen is the Summary Panel which shows the entire heat map. The right side is the Detail Panel which is a zoomed in portion of the heatmap. The green outlined square on the Summary Panel represents what is being viewed on the Detail Panel. Navigational tools are located at the top of the viewer, allowing users to zoom in (B) and out (C), as well as change between a normal (D), horizontal (E), or vertical (F) perspectives. Genes and cell lines can be selected by clicking on their row and column labels, either individually or as groups. Genes and cell lines can also be selected by searching for them in the search box (G). Left clicking selected genes will provide followlinks for additional information on the selected elements.

The top right of the viewer consists of options to save or edit the interactive heat map. Heat Map Properties menu (J) gives basic information about the heat map, as well as the ability to edit heat map properties. Heat map colors and associated threshold can be changed, as well as removing or adjust the size of covariate bars. These changes can be saved to the infercnv.ngchm file by clicking the Save Heat Map Changes button (I). A snapshot of the interactive heat map can be saved as a pdf file using the PDF Generation Menu (H). The NgChm help button (K) opens a help page that provides more detailed information about how to use the Standalone NG-CHM Heat Map Viewer. Additional information and instructions can also be found by visit the NG-CHM Overview page at MD Anderson Department of Bioinformatics and Computational Biology.

Linkouts

In order to add linkouts to the genes, the labeling type used to represent the genes in the expression data needs to be passed as the gene_type argument. Possible gene data label types to choose from are specified by bmbroom/NGCHM-config-biobase. These include:

Label Data Type Description
bio.pubmed Any term that can be used for searching Pubmed
bio.pubmed.id A Pubmed identifier
bio.gene.hugo The official HUGO symbol for a gene
bio.gene.unigene A Unigene CID
bio.gene.entrezid The official EntrezID for a gene
bio.mirna An miRNA identifier
bio.mirna.mimat An miRNA MIMAT accession ID
bio.meth.infinium.probe An Infinium methylation probe identifier
bio.agilent.feature.id An Agilent feature id
bio.affymetrix.probe.id An Affymetrix probe id
bio.illumina.probe.id An Illumina probe id
bio.transcriptid.gene A transcipt ID followed by a gene symbol (no separator)
bio.geo.acc.id A Gene Expression Omnibus (GEO) accession id
bio.go.id A Gene Ontology (GO) identifier
bio.mdacc.pathwayid An MD Anderson pathway identifier
bio.protein.uniprotid A UniProt protein identifier

Example

The following heat map is generated by running the example data in inferCNV.

library(NGCHM)
ngchm(infercnv_obj          = infercnv_obj,
       out_dir              = ".",
       path_to_shaidyMapGen = "./ShaidyMapGen.jar",
       gene_symbol          = "bio.gene.hugo")

Credit

Next Generation Clustering Heat Maps was developed and maintained by MD Anderson Department of BIoinformatics and Computational Biology in collaboration with In Silico Solutions.

Bradley M. Broom, Michael C. Ryan, Robert E. Brown, Futa Ikeda, Mark Stucky, David W. Kane, James Melott, Chris Wakefield, Tod D. Casasent, Rehan Akbani and John N. Weinstein, A Galaxy Implementation of Next-Generation Clustered Heatmaps for Interactive Exploration of Molecular Profiling Data. Cancer Research 77(21): e23-e26 (2017).

A Galaxy Implementation of Next-Generation Clustered Heatmaps for Interactive Exploration of Molecular Profiling Data

Clone this wiki locally