Mapping data to color and scale
import * as uchi from "npm:uchimata";
const viewConfig = ({
scale: {
values: sineValues,
min: -100,
max: 100,
scaleMin: 0.01,
scaleMax: 0.03,
},
color: {
values: sineValues,
min: 0,
max: 100,
colorScale: "viridis",
},
links: false,
mark: "sphere",
});
let chromatinScene = uchi.initScene();
chromatinScene = uchi.addStructureToScene(chromatinScene, testChunk, viewConfig);
const [renderer, canvas] = uchi.display(chromatinScene, { alwaysRedraw: false});
invalidation.then(() => renderer.endDrawing());
display(renderer.getCanvasElement());
const testChunkURL = "https://raw.githubusercontent.com/dvdkouril/chromospace-sample-data/main/dros.3.arrow";
const testChunk = await uchi.loadFromURL(testChunkURL, {
center: true,
normalize: true,
});
const num = testChunk.data.numRows;
const sineValues = sineWave(100, 0.2, num);
const sineWave = (amplitude, frequency, length) => Array.from({ length }, (_, i) => amplitude * Math.sin(frequency * i));