Giter VIP home page Giter VIP logo

complexheatmap-1's Introduction

Build Status

Make Complex Heatmaps

Complex heatmaps are efficient to visualize associations between different sources of data sets and reveal potential features. Here the ComplexHeatmap package provides a highly flexible way to arrange multiple heatmaps and supports self-defined annotation graphics.

A single heatmap or a list of heatmaps are composed by basic components:

default

The package makes heatmaps in an object-oriented way by abstracting heatmaps into several classes:

  • Heatmap a single heatmap
  • HeatmapList a list of heatmaps
  • HeatmapAnnotation annotation on columns or rows

and provides methods for arranging and plotting heatmap components.

Install

ComplexHeatmap is available on Bioconductor, you can intall it by:

source("http://bioconductor.org/biocLite.R")
biocLite("ComplexHeatmap")

If you want the latest version, install it directly from GitHub:

library(devtools)
install_github("jokergoo/ComplexHeatmap")

Usage

Make a single heatmap:

Heatmap(mat, ...)

A single Heatmap with column annotations:

ha = HeatmapAnnotation(df = anno1, anno_fun = anno2, ...)
Heatmap(mat, ..., top_annotation = ha)

Make a list of heatmaps:

Heatmap(mat1, ...) + Heatmap(mat2, ...)

Make a list of heatmaps and row annotations:

ha = HeatmapAnnotation(df = anno1, anno_fun = anno2, ..., which = "row")
Heatmap(mat1, ...) + Heatmap(mat2, ...) + ha

As a base package

ComplexHeatmap can be used as a base package to build other packages which focus On specific applications. E.g. EnrichedHeatmap package uses ComplexHeatmap as base to make heatmaps which visualize the enrichment of genomic signals to specific target regions.

Visualize high dimensional genomic data

The examples visualizes correlation between methylation and expression, as well as other annotation information (data are randomly generated). In the heatmap, each row corresponds to a differentially methylated regions (DMRs). From left to right, heatmaps are:

  1. methylation for each DMRs in samples.
  2. direction of the methylation (one column heatmap), i.e. is methylation hyper in tumor or hypo?
  3. expression for the genes that are associated with corresponding DMRs (e.g. closest gene).
  4. signiciance for the correlation between methylation and expression (-log10(p-value)).
  5. type of genes, i.e. is the gene a protein coding gene or a lincRNA?
  6. annotation to gene models, i.e. is the DMR located in the intragenic region of the corresponding gene or the DMR is intergenic?
  7. distance from the DMR to the TSS of the corresponding gene.
  8. overlapping between DMRs and enhancers (Color shows how much the DMR is covered by the enhancers).

download

OncoPrint

OncoPrint visualize multiple genomic alteration events through a heatmap. From verion 1.3.0, ComplexHeatmap package provides a new oncoPrint() function. By this function, users can define their own graphics which correspond to differnet alteration events. Also the function additionally add barplots on two sides of the heatmap which tell number of different alterations in patients or samples.

With general functionality of ComplexHeamtap, you can add more heatmaps / row annotations to the oncoPrint, even split the oncoPrint to enphasize sub groups.

oncoprint

Interact with heatmaps

You can use mouse to select a region on the heatmap, it will return row index and column index which correspond to the selected region.

select_region

complexheatmap-1's People

Contributors

jokergoo avatar hunter-github avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.