-
Notifications
You must be signed in to change notification settings - Fork 166
Next Generation Clustered Heat Map
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.
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.
- Javascript 1.8
- ShaidyMapGen.jar application
- Standalone NG-CHM Viewer Version 2.6.1
- R (Tested on R-3.5.1)
- R libraries required include:
- infercnvNGCHM
- NGCHM
- tsvio
- inferCNV
- RcolorBrewer
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.
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.
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 |
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")
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).
- InferCNV Home
- Quick Start
- Installing inferCNV
- Running InferCNV
- Applying Noise Filters
- Predicting CNV via HMM
- Bayesian Mixture Model
- Tumor heterogeneity - define tumor subclusters
- Interpreting the Figure
- Inputs to InferCNV
- Outputs from InferCNV
- More inferCNV example data sets
- Using 10x data
- Interactively navigating data using the Next Generation Heatmap Viewer
- Extracting HMM features
- FAQ and common issues