본문으로 건너뛰기
cccskills
무료GitHub에 공개

bioconductor-complexheatmap

Complex heatmaps are efficient to visualize associations between different sources of data sets and reveal potential patterns. Here the ComplexHeatmap package provides a highly flexible way to arrange multiple heatmaps and supports various

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md5.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ComplexHeatmap

Dependencies & Environment

Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

  • Version: 2.28.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Imports: circlize, GetoptLong, colorspace, clue, RColorBrewer, GlobalOptions, png, digest, IRanges, matrixStats, foreach, doParallel, codetools
  • Install: BiocManager::install("ComplexHeatmap")

When to Use

  • Visualizing global patterns in matrices with a huge number of rows or columns.
  • Arranging and concatenating multiple heatmaps vertically (using %v%) or horizontally (using +).
  • Adding complex annotations (e.g., points, barplots) alongside heatmaps or dendrograms using anno_points(), anno_barplot(), and HeatmapAnnotation().
  • Splitting heatmaps into sub-panels based on k-means clustering or hierarchical clustering groups.

When NOT to Use

  • For simple, single heatmaps without annotations where base R heatmap() is sufficient.
  • When you need a purely client-side interactive web heatmap without an R backend (though InteractiveComplexHeatmap can be used within Shiny).

Data Requirements

  • A numeric matrix for the main heatmap body.
  • Can accept a zero-row or zero-column matrix if you only want to draw dendrograms plus a list of annotations.

Key Parameters

  • padding: Used in draw() to manually increase the blank areas around the final plot to prevent text from being cut.
  • newpage: Set to FALSE in draw() when using grid.layout() to manage the layout of multiple panels.
  • row_split: Splits rows into groups (e.g., passing an integer or a grouping variable from cutree).
  • row_km / column_km: Applies k-means clustering to partition rows or columns.
  • row_km_repeats / column_km_repeats: Runs k-means multiple times to get a final consensus clustering.
  • cluster_rows: Controls row clustering; can accept custom functions like cluster_within_group().
  • right_annotation: Adds row annotations to the right side of the heatmap using rowAnnotation().
  • heatmap_legend_param: Controls the style of legends within the Heatmap() function.

Best Practices

  • Explicitly use the draw() function if no plot appears after running Heatmap().
  • For matrices with a huge number of rows or columns, randomly sample them into a reasonably small number to efficiently visualize global patterns.
  • Always add set.seed(...) before making a heatmap that uses k-means clustering to ensure the random start points yield reproducible results.
  • Use grid.grabExpr(draw(ht)) to capture the heatmap output and later draw it as a single graphic element using grid.draw().

Common Pitfalls

  • Text cut off by plotting region: The layout may draw text outside the plotting area. Fix: Set the padding argument in the draw() function to increase blank space.
  • Inconsistent k-means clustering: Running the script multiple times yields different clusters due to random initialization. Fix: Set row_km_repeats / column_km_repeats to run k-means multiple times for consensus, or use set.seed().
  • Missing axes on dendrograms: Dendrograms do not have axes by default. Fix: Use decorate_row_dend() or decorate_column_dend() along with grid.xaxis() or grid.yaxis() to manually add them.
  • Annotation sizing issues: Simple annotations don't scale correctly. Fix: Control simple annotation sizes with anno_simple_size, and set height/width directly inside complex anno_*() functions.

Alternatives

  • pheatmap: A simpler package for basic annotated heatmaps (ComplexHeatmap can translate pheatmap calls).
  • InteractiveComplexHeatmap: An extension package specifically for making ComplexHeatmap objects interactive in Shiny.
  • gplots: Provides heatmap.2() for basic heatmaps with a color key and dendrograms.

Citations

  • Gu, Z., Eils, R., & Schlesner, M. (2016). Complex heatmaps reveal patterns and correlations in multidimensional genomic data. Bioinformatics, 32(18), 2847-2849.

References

<!-- biomate-cta -->

Run this on BioMate

This skill is the knowledge layer — when, why, and how to use complexheatmap. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.

▶ Open complexheatmap on BioMate →

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7972026년 6월 21일 업데이트

bioMate-AI의 스킬 모두 보기

이 스킬의 문제 신고