| 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=True and row_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"] and plt.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=True in sns.heatmap for outlier resilience.
- Set
linewidths=0.3 and linecolor='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() before plt.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列聚类热图