• Stars
    star
    185
  • Rank 208,271 (Top 5 %)
  • Language
    R
  • License
    Other
  • Created over 9 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

make enriched heatmap which visualizes the enrichment of genomic signals to specific target regions.

Make Enriched Heatmaps

R-CMD-check codecov bioc bioc bioc

Enriched heatmap is a special type of heatmap which visualizes the enrichment of genomic signals on specific target regions. It is broadly used to visualize e.g. how histone marks are enriched to specific sites.

There are several tools that can make such heatmap (e.g. ngs.plot or deepTools). Here we implement Enriched heatmap by ComplexHeatmap package. Since this type of heatmap is just a normal heatmap but with some fixed settings, with the functionality of ComplexHeatmap, it would be much easier to customize the heatmap as well as concatenating a list of heatmaps to show correspondance between differnet data sources.

Citation

Zuguang Gu, et al., EnrichedHeatmap: an R/Bioconductor package for comprehensive visualization of genomic signal associations, 2018. BMC Genomics. link

Install

EnrichedHeatmap is available on Bioconductor, you can install it by:

if (!requireNamespace("BiocManager", quietly=TRUE))
    install.packages("BiocManager")
BiocManager::install("EnrichedHeatmap") 

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

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

Example

Like other tools, the task involves two steps:

  1. Normalize the accosiations between genomic signals and target regions to a matrix.
  2. Draw heatmaps.
mat1 = normalizeToMatrix(H3K4me3, tss, value_column = "coverage", 
    extend = 5000, mean_mode = "w0", w = 50)
mat2 = normalizeToMatrix(meth, tss, value_column = "meth", mean_mode = "absolute",
    extend = 5000, w = 50, background = NA, smooth = TRUE)
partition = kmeans(mat1, centers = 3)$cluster
lgd = Legend(at = c("cluster1", "cluster2", "cluster3"), title = "Clusters", 
    type = "lines", legend_gp = gpar(col = 2:4))
ht_list = Heatmap(partition, col = structure(2:4, names = as.character(1:3)), name = "partition",
              show_row_names = FALSE, width = unit(3, "mm")) +
          EnrichedHeatmap(mat1, col = c("white", "red"), name = "H3K4me3", row_split = partition,
              top_annotation = HeatmapAnnotation(lines = anno_enriched(gp = gpar(col = 2:4))), 
              column_title = "H3K4me3") + 
          EnrichedHeatmap(mat2, name = "methylation",
              top_annotation = HeatmapAnnotation(lines = anno_enriched(gp = gpar(col = 2:4))), 
              column_title = "Methylation") +
          Heatmap(log2(rpkm+1), col = c("white", "orange"), name = "log2(rpkm+1)", 
              show_row_names = FALSE, width = unit(5, "mm"))
draw(ht_list, main_heatmap = "H3K4me3", gap = unit(c(2, 10, 2), "mm"))

image

Also when signals are discreate values. E.g. chromatin states:

test

Actually you can generate rather complex heatmaps:

screen shot 2017-10-13 at 10 42 42

License

MIT @ Zuguang Gu

More Repositories

1

ComplexHeatmap

Make Complex Heatmaps
R
1,276
star
2

circlize

Circular visualization in R
R
956
star
3

spiralize

Visualize data on spirals
R
145
star
4

InteractiveComplexHeatmap

Make Interactive Complex Heatmaps
R
123
star
5

simplifyEnrichment

Simplify functional enrichment results
R
102
star
6

rGREAT

GREAT Analysis - Functional Enrichment on Genomic Regions
R
81
star
7

cola

A General Framework for Consensus Partitioning
HTML
58
star
8

pkgndep

Analyzing Dependency Heaviness of R Packages
R
45
star
9

HilbertCurve

Visualize genomic data by Hilbert curve
R
40
star
10

gtrellis

Genomic plot in trellis layout
R
39
star
11

circlize_book

Documentation for circlize package
HTML
36
star
12

KeywordsEnrichment

R
30
star
13

bsub

Send R code/R scripts/shell commands to LSF cluster without leaving R
R
24
star
14

ComplexHeatmap-reference

Documentation of ComplexHeatmap package
HTML
22
star
15

ComplexHeatmap_v2_paper_code

R
16
star
16

GetoptLong

Parse command-line arguments and simple variable interpolation
R
16
star
17

GSEAtraining

HTML
14
star
18

circlize_examples

circlize examples
HTML
12
star
19

BioCartaImage

BioCarta pathway images
R
11
star
20

BioMartGOGeneSets

Gene Ontology Gene Sets from BioMart
R
11
star
21

IlluminaHumanMethylationEPICv2anno.20a1.hg38

R
10
star
22

simona

Semantic Similarity in Bio-Ontologies
R
10
star
23

ComplexHeatmap-examples

R
10
star
24

jokergoo

9
star
25

GlobalOptions

Generate function to get or set global options
R
9
star
26

IlluminaHumanMethylationEPICv2manifest

R
8
star
27

Crypt-DNASequence

Encrypt and decrypt strings to DNA Sequences
Perl
8
star
28

Useful_R_packages

8
star
29

ngspipeline

NGS pipeline
Perl
8
star
30

cola_hcp

Hierarchical Consensus Partitioning
5
star
31

jokergoo.github.io

Personal website
HTML
4
star
32

spiralize_vignettes

Vignettes of the spiralize package
HTML
4
star
33

pheatmap2

pretty and parallel heatmap
R
4
star
34

GeneSummary

RefSeq gene summary
R
2
star
35

BioMartGOGeneSets_data

2
star
36

cotools

NGS tools for Conputational Oncology group in DKFZ
R
2
star
37

cola_manuscript

Scripts for the cola manuscript
R
2
star
38

UniProtKeywords

Keywords from the UniProt database
R
2
star
39

supplementary

HTML
2
star
40

simplifyEnrichment_supplementary

Supplementary for simplifyEnrichment manuscript
HTML
2
star
41

cola_examples

Examples of cola analysis
HTML
2
star
42

CePa

Centrality-based pathway enrichment
R
2
star
43

colorRamp2

Generate Color Mapping Functions
R
1
star
44

cola_vignettes

Vignettes of the cola package
HTML
1
star
45

simplifyEnrichment_manuscript

Scripts for the analysis in simplifyEnrichment manuscript
R
1
star
46

gsubeval

Substitute with an Evaluated Expression
R
1
star
47

GTF

Simple class to process GTF data
R
1
star
48

epik

Integrative analysis for epigenomic sequencing data
HTML
1
star
49

simona_supplementary

HTML
1
star
50

List-Vectorize

vectorized functions in perl
Perl
1
star
51

Statistics-Multtest

Control false discovery rate in multiple test
Perl
1
star
52

Microarray-GEO-SOFT

Reading microarray data in SOFT format from GEO database
Perl
1
star
53

top2pct_scientists

top2pct_scientists
R
1
star