
Product
Introducing Webhook Events for Pull Request Scans
Add real-time Socket webhook events to your workflows to automatically receive pull request scan results and security alerts in real time.
@nightingale-elements/nightingale-sequence-heatmap
Advanced tools
Nightingale wrapper for PDBe Canvas Heatmap library (hotmap)
Nightingale Sequence Heatmap component is used to generate a heatmap visualisation with residue bound data.
It uses heatmap-component to render the canvas heatmap.
hm-highlight-width: number (default 0)
Number of pixels for the border width of the heatmap. See live demos for examples with border width 1.
The below example shows how to instantiate the component
<nightingale-sequence-heatmap
id="id-for-nightingale-sequence-heatmap"
heatmap-id="seq-heatmap"
width="400"
height="400"
hm-highlight-width="0"
highlight-event="onmouseover"
highlight-color="#EB3BFF66"
></nightingale-sequence-heatmap>
Please note that after instantiation the component needs to be initialized using the setHeatmapData function as seem below:
const xDomain = [1, 2, 3]; // 1-indexed residue ids
const yDomain = ["A", "B", "C"]; // categories (rows) to show on heatmap
const data = [
// array of objects to be displayed, see more info on API Reference
{ xValue: 1, yValue: "A", score: 0.4 },
{ xValue: 1, yValue: "B", score: 32 },
{ xValue: 1, yValue: "C", score: 1.6 },
{ xValue: 2, yValue: "A", score: 2.5 },
{ xValue: 2, yValue: "B", score: 1 },
{ xValue: 2, yValue: "C", score: 7.6 },
{ xValue: 3, yValue: "A", score: 25.0 },
{ xValue: 3, yValue: "B", score: 10 },
{ xValue: 3, yValue: "C", score: 6 },
];
customElements.whenDefined("nightingale-sequence-heatmap").then(() => {
document
.getElementById("id-for-nightingale-sequence-heatmap")
.setHeatmapData(xDomain, yDomain, data); // initialization function
});
setHeatmapData(xDomain: number[], yDomain: string[], data: Array)
The data array is of the HotmapData structure.
Please note that this format is flexible to additional properties for specific use cases ([key: string]: any;)
interface HotmapData {
xValue: number; // residue index (columns)
yValue: string; // category type (rows)
score: number; // heatmap value converted to colors
[key: string]: unknown; // additional properties for specific use cases such as custom tooltips
}
setColor((d: HotmapData) => {})
Allows dynamic setting of heatmap color palette
customElements.whenDefined("nightingale-sequence-heatmap").then( async() => {
const heatmapElement = document.getElementById(
"id-for-nightingale-sequence-heatmap",
);
heatmapElement.setHeatmapData(xDomain, yDomain, data);
const colorScale = d3.scaleLinear(
// Score value domain:
[0, 0.1132, 0.2264, 0.3395, 0.4527, 0.5895, 0.7264, 0.8632, 1],
// Corresponding colors:
["#2166ac", "#4290bf", "#8cbcd4", "#c3d6e0", "#e2e2e2", "#edcdba", "#e99e7c", "#d15e4b", "#b2182b"]
);
await heatmapElement.updateComplete.then(() => {
heatmapElement.heatmapInstance.setColor((d) => colorScale(d.score));
});
});
setTooltip((d: HotmapData, x: number, y: number, xIndex: number, yIndex: number) => {})
Allows dynamic setting of tooltip HTML content
customElements.whenDefined("nightingale-sequence-heatmap").then( async() => {
const heatmapElement = document.getElementById(
"id-for-nightingale-sequence-heatmap",
);
heatmapElement.setHeatmapData(xDomain, yDomain, data);
await heatmapElement.updateComplete.then(() => {
heatmapElement.heatmapInstance.setTooltip((d, x, y, xIndex, yIndex) => {
let returnHTML = `
<b>You are at</b> <br />
x,y: <b>${d.xValue},${d.yValue}</b><br />
score: <b>${d.score}</b>`;
return returnHTML;
});
});
});
FAQs
Nightingale wrapper for PDBe Canvas Heatmap library (hotmap)
We found that @nightingale-elements/nightingale-sequence-heatmap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Add real-time Socket webhook events to your workflows to automatically receive pull request scan results and security alerts in real time.
Research
The Socket Threat Research Team uncovered malicious NuGet packages typosquatting the popular Nethereum project to steal wallet keys.
Product
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.