2 min read

Changes in ComplexHeatmap 2.6.0

The ComplexHeatmap package is still growing. Till now, there are 62 CRAN/Bioconductor packages that depend on ComplexHeatmap where 7 packages are also mine :). It has approxiamtely 10k downloads per month, 600 issues on GitHub and nearly 600 GitHub stars. The ComplexHeatmap paper has more than 1100 citations. Thank you for liking ComplexHeatmap!

In version 2.6.0 which corresponds to the new Bioconductor release, there are following major changes that are user-visible:

  1. Add a ComplexHeatmap::pheatmap() function which is almost compatible to pheatmap::pheatmap(). It helps users to seamlessly (I hope!) move from pheatmap to ComplexHeatmap to use more unique features in ComplexHeatmap, e.g. concatenating multiple heatmaps. See the blog post “Translate from pheatmap to ComplexHeatmap” for more details.

  2. Support interactive heatmaps. Users can either do it under the interactive graphics device or through a shiny app. See the blog post “Interactive ComplexHeatmap” for more details.

  3. Points can be added to the dendrogram nodes. See examples here.

  4. Rasterization has been improved and multiple methods for rasterization are implemented. Now it supports magick package for better rasterization and also ragg package for writting temporary png image files. See the blog post “Rasterization in ComplexHeatmap” for more details.

  5. Positions of column titles has been adjusted, so that it can be perfectly aligned with ggplot2 figures. See examples here.

  6. Users can rotate annotation names/labels. Check examples here.

  7. Users can choose how to group legends, which means legends for row annotations can be grouped with column annotation legends. See examples here (check the use of legend_grouping argument).

  8. oncoPrint() now draws legends the same as the graphics defined in alter_fun, which means users do not need to manually construct legends for complex alteration types. Check all the legends in the oncoPrint chapter.