executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
heatmap-beautifierProfessional beautification tool for gene expression heatmaps, automatically adds clustering trees, color annotation tracks, and intelligently optimizes label layout.
Independent GitHub snapshot · Automated classification · Original documentation governs
ID: 147
Professional beautification tool for gene expression heatmaps, automatically adds clustering trees, color annotation tracks, and intelligently optimizes label layout.
See ## Features above for related details.
scripts/main.py.references/ for task-specific guidance.See ## Prerequisites above for related details.
Python: 3.10+. Repository baseline for current packaged skills.matplotlib: unspecified. Declared in requirements.txt.numpy: unspecified. Declared in requirements.txt.pandas: unspecified. Declared in requirements.txt.seaborn: unspecified. Declared in requirements.txt.See ## Usage above for related details.
cd "20260318/scientific-skills/Data Analytics/heatmap-beautifier"
python -m py_compile scripts/main.py
python scripts/main.py --help
Example run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Workflow above for related details.
scripts/main.py.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --help
python scripts/main.py --input "Audit validation sample with explicit symptoms, history, assessment, and next-step plan."
pip install seaborn matplotlib scipy pandas numpy
from skills.heatmap_beautifier.scripts.main import HeatmapBeautifier
# Initialize
hb = HeatmapBeautifier()
# Load data and generate heatmap
hb.create_heatmap(
data_path="expression_matrix.csv",
output_path="output/heatmap.pdf"
)
hb.create_heatmap(
data_path="expression_matrix.csv",
output_path="output/heatmap_annotated.pdf",
# Row annotations (gene classification)
row_annotations={
"Gene Type": gene_type_dict, # {"gene1": "Kinase", "gene2": "Transcription Factor", ...}
"Pathway": pathway_dict
},
# Column annotations (sample grouping)
col_annotations={
"Condition": condition_dict, # {"sample1": "Control", "sample2": "Treatment", ...}
"Time": time_dict
},
# Custom colors
annotation_colors={
"Condition": {"Control": "#2ecc71", "Treatment": "#e74c3c"},
"Gene Type": {"Kinase": "#3498db", "Transcription Factor": "#9b59b6"}
}
)
hb.create_heatmap(
data_path="expression_matrix.csv",
output_path="output/heatmap.pdf",
title="Gene Expression Heatmap",
cmap="RdBu_r", # Color map
center=0, # Color center value
vmin=-2, vmax=2, # Value range
row_cluster=True, # Row clustering
col_cluster=True, # Column clustering
standard_scale=None, # Standardization: "row", "col", None
z_score=None, # Z-score: 0 (row), 1 (col), None
# Label optimization
max_row_label_fontsize=10,
max_col_label_fontsize=10,
rotate_col_labels=45, # Column label rotation angle
hide_row_labels=False,
hide_col_labels=False,
# Size
figsize=(12, 10),
dpi=300
)
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
--data-path, -d | string | - | Yes | Path to input data file (CSV) |
--output-path, -o | string | heatmap.png | No | Output file path |
--title | string | Gene Expression Heatmap | No | Heatmap title |
--cmap | string | RdBu_r | No | Color map |
--center | float | 0 | No | Color center value |
--vmin | float | -2 | No | Minimum value for color scale |
--vmax | float | 2 | No | Maximum value for color scale |
--row-cluster | bool | true | No | Enable row clustering |
--col-cluster | bool | true | No | Enable column clustering |
--standard-scale | string | None | No | Standardization: row, col, None |
--z-score | int | None | No | Z-score: 0 (row), 1 (col), None |
--figsize | tuple | (12, 10) | No | Figure size (width, height) |
--dpi | int | 300 | No | Resolution (dots per inch) |
--format | string | No | Output format (pdf, png, svg) |
,sample1,sample2,sample3,sample4
Gene_A,2.5,-1.2,0.8,-0.5
Gene_B,-0.8,1.5,-2.1,0.3
Gene_C,1.2,0.5,-0.7,1.8
...
Annotation dictionary format: {item_name: category_value}
Example:
condition_dict = {
"sample1": "Control",
"sample2": "Control",
"sample3": "Treatment",
"sample4": "Treatment"
}
Built-in color schemes:
"RdBu_r" - Red-Blue (classic differential expression)"viridis" - Yellow-Purple (continuous data)"RdYlBu_r" - Red-Yellow-Blue"coolwarm" - Cool-Warm"seismic" - Seismic"bwr" - Blue-White-Red
# Basic usage
python -m skills.heatmap_beautifier.scripts.main \
--input expression_matrix.csv \
--output heatmap.pdf
# With clustering and annotations
python -m skills.heatmap_beautifier.scripts.main \
--input expression_matrix.csv \
--output heatmap.pdf \
--row-cluster \
--col-cluster \
--row-annotations row_annot.json \
--col-annotations col_annot.json \
--title "Gene Expression"
Generated heatmap includes:
Bioinformatics Visualization Team
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python/R scripts executed locally | Medium |
| Network Access | No external API calls | Low |
| File System Access | Read input files, write output files | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Output files saved to workspace | Low |
# Python dependencies
pip install -r requirements.txt
Every final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of heatmap-beautifier and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
heatmap-beautifieronly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.