kuva heatmap

Color-encoded matrix heatmap.

Input (wide format): first column is the row label, remaining columns are numeric values. The header row (if present) supplies column labels.

gene    Sample_01  Sample_02  Sample_03 …
 TP53    0.25       -1.78       1.58     …
BRCA1   0.23        0.48       1.06     …

Input (long format): use --long-format to pass (row, col, value) triples instead. Missing combinations are filled with 0. Column order defaults to 0/1/2; override with --row-col, --col-col, --value-col.

species     week  abundance
Firmicutes  1     352
Firmicutes  2     381
Bacteroidetes  1  262
FlagDefaultDescription
--colormap <NAME>viridisColor map: viridis, inferno, grayscale
--valuesoffPrint numeric values in each cell
--legend <LABEL>Show color bar with this label
--long-formatoffAccept (row, col, value) triples instead of a wide matrix
--row-col <COL>0Row-label column (with --long-format)
--col-col <COL>1Column-label column (with --long-format)
--value-col <COL>2Value column (with --long-format)
# wide matrix
kuva heatmap heatmap.tsv

kuva heatmap heatmap.tsv --colormap inferno --values --legend "z-score"

# long-format: species × week abundance table
kuva heatmap data.tsv --long-format \
    --row-col species --col-col week --value-col abundance \
    --title "Abundance by Species and Week"

# long-format from a counts table with named columns
kuva heatmap counts.tsv --long-format \
    --row-col gene --col-col sample --value-col tpm \
    --legend "TPM" --colormap inferno

See also: Shared flags — output, appearance, axes, log scale.