id: "7161407a-1575-427e-9989-d784d2376a0c" name: "deg-and-marker-gene-heatmap-with-viridis-col-clustering" description: "Generates a publication-ready heatmap for differentially expressed genes (DEGs) or marker genes using viridis colormap, column-only hierarchical clustering, and Arial font — applicable to any normalized gene expression matrix with genes as rows and samples/subclusters as columns." version: "0.1.1" tags:
- "bioinformatics"
- "single-cell"
- "scRNA-seq"
- "heatmap"
- "seaborn"
- "gene-expression"
- "marker-genes"
- "visualization" triggers:
- "生成差异表达基因热图"
- "画DEG热图"
- "单细胞亚群标志基因热图"
- "scRNA-seq marker gene heatmap"
- "viridis列聚类热图"
deg-and-marker-gene-heatmap-with-viridis-col-clustering
Generates a publication-ready heatmap for differentially expressed genes (DEGs) or marker genes using viridis colormap, column-only hierarchical clustering, and Arial font — applicable to any normalized gene expression matrix with genes as rows and samples/subclusters as columns.
Prompt
Goal
Generate a seaborn-based heatmap for differentially expressed or marker genes, accepting a pandas DataFrame with genes as rows and samples/subclusters as columns.
Constraints & Style
- Use
cmap="viridis"exclusively; do not use RdBu_r, center, or any other colormap or symmetry setting. - Enable only column-wise hierarchical clustering: set
col_cluster=Trueandrow_cluster=False. - Use Arial font for all text elements (title, axis labels, tick labels, colorbar label); enforce via
plt.rcParams["font.sans-serif"] = ["Arial", "DejaVu Sans", "Liberation Sans"]andplt.rcParams["axes.unicode_minus"] = False; explicitly annotate plot elements if seaborn does not inherit font settings. - Apply row-wise z-score normalization (per gene) before plotting:
df.T.apply(lambda x: (x - x.mean()) / x.std(ddof=0)).T. - Use
robust=Trueinsns.heatmapfor outlier resilience. - Set
linewidths=0.3andlinecolor='lightgray'for subtle cell borders. - Set figure size to
(8, 10); include colorbar labeled "Z-score" with shrink=0.6. - Title: "Differentially Expressed Genes (Z-score normalized)" or "Marker Genes (Z-score normalized)" (bold, 14pt); adapt label based on context but retain consistent phrasing.
- Axis labels: "Samples" or "Subclusters" (x), "Genes" (y); no rotation of tick labels.
- Call
plt.tight_layout()beforeplt.show(); ensure no clipping.
Workflow
- Accept input DataFrame with gene-indexed rows and sample/subcluster-labeled columns.
- Apply row-wise z-score normalization.
- Configure matplotlib font settings for Arial compatibility.
- Generate heatmap with specified clustering, colormap, robust scaling, layout, and labeling.
- Display the plot.
Triggers
- 生成差异表达基因热图
- 画DEG热图
- 单细胞亚群标志基因热图
- scRNA-seq marker gene heatmap
- viridis列聚类热图