jane* docs
Canvases

Heatmap

Document kindheatmap
Drawn froma tool result — there is no file behind it

What it draws

A labelled value grid: one row per group, one cell per member of that group, each cell shaded by its value and also printing that value. The commonest reader is the codon table, where a row is a synonymous family and the cells are the codons that encode that amino acid.

Rows are ragged on purpose. Synonymous families are not the same size — methionine and tryptophan have one codon each, while leucine, serine and arginine have six — so a rectangular grid would need padding cells, and a padding cell reads as "measured, and it was nothing" when it means "this amino acid has no sixth codon". A short row is a short row.

What opens in it

Nothing is opened here from a file. The grid is the picture of a computed table: codon usage and relative adaptiveness for an organism, relative synonymous codon usage for a coding sequence, and other per-group quantities a tool has already computed.

A pairwise distance matrix between many sequences is a different picture with a different question and does not draw here; neither does a per-position profile along one molecule, which is a line, not a grid.

What this computes

The values in this grid are computed by the tool that produced them — codon usage and relative adaptiveness for an organism, relative synonymous codon usage for a coding sequence, and other per-group quantities. What this canvas computes is everything about how they are encoded, and each of those choices changes what the grid means.

  • Which colour scale a quantity gets, decided from the quantity itself rather than offered as a switch: a sequential scale (light to dark, one hue) for a measure with a natural zero and one direction, a diverging scale (hue → neutral → hue) for a measure with a meaningful centre.
  • The diverging midpoint, placed at the value that is the quantity's landmark rather than at the middle of the observed range. For relative synonymous codon usage that is 1.0 — no bias, with above meaning used more often than an unbiased genome would and below meaning less. Drawn on a light-to-dark ramp, that landmark disappears, which is why the scale is not user-switchable.
  • The fill cap that keeps a printed label legible against its own cell at both extremes and in both light and dark themes. Colour is therefore a redundant channel here and never a precise one: the exact magnitude is the printed number and the tooltip.
  • Not-observed as distinct from zero. A hatched cell means the value was never measured — a codon absent from the sequence you gave it — and a genuine zero is drawn on the ramp like any other number. Preserving that distinction is most of the reason this canvas exists.
  • Row extents, kept ragged. A synonymous family has the number of codons it has (one for methionine and tryptophan, six for leucine, serine and arginine), and a padding cell would read as measured, and it was nothing when it means there is no sixth codon.

No rainbow scale is used anywhere on this canvas, and the diverging midpoint is always the neutral rather than a third hue.

Reading it

Two colour scales are used, and knowing which one you are looking at is the whole reading.

A sequential scale runs from light to dark in one hue. It is used for a quantity with a natural zero and a single direction — relative adaptiveness, fractions, counts. Darker means more.

A diverging scale runs from one hue through a neutral grey to another. It is used where a quantity has a meaningful centre rather than a meaningful zero. Relative synonymous codon usage is the case that demands it: 1.0 means no bias, values above mean the codon is used more often than an unbiased genome would use it, and values below mean less. Drawing that on a light-to-dark ramp would hide the one landmark that makes the number interpretable, so it is never done here.

Read the printed number, not the shade. The fill is capped so that the label stays legible at both extremes and in both light and dark themes, which means colour is a redundant channel and never a precise one. The tooltip and the printed value carry the exact magnitude.

A hatched cell is not a zero. It means the value was not observed — a codon absent from the sequence you measured, for instance. A quantity that is genuinely zero is drawn on the ramp like any other number. This distinction is the one this canvas most often exists to preserve.

No rainbow scale is used anywhere here, and the diverging midpoint is always the neutral, never a third hue.

Controls

Hovering a cell raises its exact value and the identity of its row and column. There is no scale switch to operate: which scale a quantity gets is a property of the quantity — whether it has a meaningful centre — and offering a switch would let a reader draw a centred measure on a one-directional ramp, which is the misreading described above.

Where it appears

As a stage tab, and inside the panel that computed the table. Both draw the same grid; the tab has room for longer row labels.

Performance and limits

The grid draws every cell it is given rather than sampling, so a very wide row compresses its cells until the printed numbers no longer fit. When that happens the value is still available on hover, but the grid has stopped being a picture you can scan — a table is the better reading at that size.

Colour is not a safe sole channel for about one in twelve male readers, which is why every cell prints its number.

Screenshots

No frame is committed for this canvas yet. What one would show: a codon-usage table shaded by synonymous usage, with each cell printing its own value.

The absence is stated rather than left as a blank heading: a picture that does not exist yet is worth knowing about, and a placeholder would be worse than either.

The codon-usage and sequence-optimisation tools write to this canvas.

On this page